/*** Autogenerated by WIDL 2.19 from ../../wine-staging-nine/include/mshtml.idl - Do not edit ***/

#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

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

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

#ifndef __mshtml_h__
#define __mshtml_h__

/* Forward declarations */

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

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

#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 __IHTMLRuleStyle_FWD_DEFINED__
#define __IHTMLRuleStyle_FWD_DEFINED__
typedef interface IHTMLRuleStyle IHTMLRuleStyle;
#ifdef __cplusplus
interface IHTMLRuleStyle;
#endif /* __cplusplus */
#endif

#ifndef __DispHTMLStyle_FWD_DEFINED__
#define __DispHTMLStyle_FWD_DEFINED__
typedef interface DispHTMLStyle DispHTMLStyle;
#ifdef __cplusplus
interface DispHTMLStyle;
#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 __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 __IHTMLRenderStyle_FWD_DEFINED__
#define __IHTMLRenderStyle_FWD_DEFINED__
typedef interface IHTMLRenderStyle IHTMLRenderStyle;
#ifdef __cplusplus
interface IHTMLRenderStyle;
#endif /* __cplusplus */
#endif

#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 __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 __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 __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 __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 __IHTMLDOMImplementation_FWD_DEFINED__
#define __IHTMLDOMImplementation_FWD_DEFINED__
typedef interface IHTMLDOMImplementation IHTMLDOMImplementation;
#ifdef __cplusplus
interface IHTMLDOMImplementation;
#endif /* __cplusplus */
#endif

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

#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 __DispHTMLDOMTextNode_FWD_DEFINED__
#define __DispHTMLDOMTextNode_FWD_DEFINED__
typedef interface DispHTMLDOMTextNode DispHTMLDOMTextNode;
#ifdef __cplusplus
interface DispHTMLDOMTextNode;
#endif /* __cplusplus */
#endif

#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 __DispHTMLAttributeCollection_FWD_DEFINED__
#define __DispHTMLAttributeCollection_FWD_DEFINED__
typedef interface DispHTMLAttributeCollection DispHTMLAttributeCollection;
#ifdef __cplusplus
interface DispHTMLAttributeCollection;
#endif /* __cplusplus */
#endif

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

#ifndef __DispDOMChildrenCollection_FWD_DEFINED__
#define __DispDOMChildrenCollection_FWD_DEFINED__
typedef interface DispDOMChildrenCollection DispDOMChildrenCollection;
#ifdef __cplusplus
interface DispDOMChildrenCollection;
#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 __IHTMLElement6_FWD_DEFINED__
#define __IHTMLElement6_FWD_DEFINED__
typedef interface IHTMLElement6 IHTMLElement6;
#ifdef __cplusplus
interface IHTMLElement6;
#endif /* __cplusplus */
#endif

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

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

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

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

#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 __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 __IHTMLStyleSheetRulesCollection_FWD_DEFINED__
#define __IHTMLStyleSheetRulesCollection_FWD_DEFINED__
typedef interface IHTMLStyleSheetRulesCollection IHTMLStyleSheetRulesCollection;
#ifdef __cplusplus
interface IHTMLStyleSheetRulesCollection;
#endif /* __cplusplus */
#endif

#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 __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 __IHTMLStyleSheetPagesCollection_FWD_DEFINED__
#define __IHTMLStyleSheetPagesCollection_FWD_DEFINED__
typedef interface IHTMLStyleSheetPagesCollection IHTMLStyleSheetPagesCollection;
#ifdef __cplusplus
interface IHTMLStyleSheetPagesCollection;
#endif /* __cplusplus */
#endif

#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 __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 __DispHTMLStyleSheetsCollection_FWD_DEFINED__
#define __DispHTMLStyleSheetsCollection_FWD_DEFINED__
typedef interface DispHTMLStyleSheetsCollection DispHTMLStyleSheetsCollection;
#ifdef __cplusplus
interface DispHTMLStyleSheetsCollection;
#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 __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 __IHTMLDOMRange_FWD_DEFINED__
#define __IHTMLDOMRange_FWD_DEFINED__
typedef interface IHTMLDOMRange IHTMLDOMRange;
#ifdef __cplusplus
interface IHTMLDOMRange;
#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 __IHTMLFormElement_FWD_DEFINED__
#define __IHTMLFormElement_FWD_DEFINED__
typedef interface IHTMLFormElement IHTMLFormElement;
#ifdef __cplusplus
interface IHTMLFormElement;
#endif /* __cplusplus */
#endif

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

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

#ifndef __HTMLFormElementEvents2_FWD_DEFINED__
#define __HTMLFormElementEvents2_FWD_DEFINED__
typedef interface HTMLFormElementEvents2 HTMLFormElementEvents2;
#ifdef __cplusplus
interface HTMLFormElementEvents2;
#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 __IHTMLTextContainer_FWD_DEFINED__
#define __IHTMLTextContainer_FWD_DEFINED__
typedef interface IHTMLTextContainer IHTMLTextContainer;
#ifdef __cplusplus
interface IHTMLTextContainer;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLImgElement_FWD_DEFINED__
#define __IHTMLImgElement_FWD_DEFINED__
typedef interface IHTMLImgElement IHTMLImgElement;
#ifdef __cplusplus
interface IHTMLImgElement;
#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 __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 __IHTMLControlElement_FWD_DEFINED__
#define __IHTMLControlElement_FWD_DEFINED__
typedef interface IHTMLControlElement IHTMLControlElement;
#ifdef __cplusplus
interface IHTMLControlElement;
#endif /* __cplusplus */
#endif

#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 __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 __IHTMLAnchorElement_FWD_DEFINED__
#define __IHTMLAnchorElement_FWD_DEFINED__
typedef interface IHTMLAnchorElement IHTMLAnchorElement;
#ifdef __cplusplus
interface IHTMLAnchorElement;
#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 __IHTMLAreaElement_FWD_DEFINED__
#define __IHTMLAreaElement_FWD_DEFINED__
typedef interface IHTMLAreaElement IHTMLAreaElement;
#ifdef __cplusplus
interface IHTMLAreaElement;
#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 __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 __IHTMLElementCollection_FWD_DEFINED__
#define __IHTMLElementCollection_FWD_DEFINED__
typedef interface IHTMLElementCollection IHTMLElementCollection;
#ifdef __cplusplus
interface IHTMLElementCollection;
#endif /* __cplusplus */
#endif

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

#ifndef __IHTMLSelectElement_FWD_DEFINED__
#define __IHTMLSelectElement_FWD_DEFINED__
typedef interface IHTMLSelectElement IHTMLSelectElement;
#ifdef __cplusplus
interface IHTMLSelectElement;
#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 __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 __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 __IHTMLInputElement_FWD_DEFINED__
#define __IHTMLInputElement_FWD_DEFINED__
typedef interface IHTMLInputElement IHTMLInputElement;
#ifdef __cplusplus
interface IHTMLInputElement;
#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 __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 __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 __IHTMLButtonElement_FWD_DEFINED__
#define __IHTMLButtonElement_FWD_DEFINED__
typedef interface IHTMLButtonElement IHTMLButtonElement;
#ifdef __cplusplus
interface IHTMLButtonElement;
#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 __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 __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 __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 __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 __IHTMLMimeTypesCollection_FWD_DEFINED__
#define __IHTMLMimeTypesCollection_FWD_DEFINED__
typedef interface IHTMLMimeTypesCollection IHTMLMimeTypesCollection;
#ifdef __cplusplus
interface IHTMLMimeTypesCollection;
#endif /* __cplusplus */
#endif

#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 __IHTMLPluginsCollection_FWD_DEFINED__
#define __IHTMLPluginsCollection_FWD_DEFINED__
typedef interface IHTMLPluginsCollection IHTMLPluginsCollection;
#ifdef __cplusplus
interface IHTMLPluginsCollection;
#endif /* __cplusplus */
#endif

#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 __IHTMLOpsProfile_FWD_DEFINED__
#define __IHTMLOpsProfile_FWD_DEFINED__
typedef interface IHTMLOpsProfile IHTMLOpsProfile;
#ifdef __cplusplus
interface IHTMLOpsProfile;
#endif /* __cplusplus */
#endif

#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 __IOmNavigator_FWD_DEFINED__
#define __IOmNavigator_FWD_DEFINED__
typedef interface IOmNavigator IOmNavigator;
#ifdef __cplusplus
interface IOmNavigator;
#endif /* __cplusplus */
#endif

#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 __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 __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 __DispCEventObj_FWD_DEFINED__
#define __DispCEventObj_FWD_DEFINED__
typedef interface DispCEventObj DispCEventObj;
#ifdef __cplusplus
interface DispCEventObj;
#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 __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 __DispHTMLScreen_FWD_DEFINED__
#define __DispHTMLScreen_FWD_DEFINED__
typedef interface DispHTMLScreen DispHTMLScreen;
#ifdef __cplusplus
interface DispHTMLScreen;
#endif /* __cplusplus */
#endif

#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 __HTMLWindowEvents_FWD_DEFINED__
#define __HTMLWindowEvents_FWD_DEFINED__
typedef interface HTMLWindowEvents HTMLWindowEvents;
#ifdef __cplusplus
interface HTMLWindowEvents;
#endif /* __cplusplus */
#endif

#ifndef __HTMLWindowEvents2_FWD_DEFINED__
#define __HTMLWindowEvents2_FWD_DEFINED__
typedef interface HTMLWindowEvents2 HTMLWindowEvents2;
#ifdef __cplusplus
interface HTMLWindowEvents2;
#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 __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 __HTMLTextContainerEvents_FWD_DEFINED__
#define __HTMLTextContainerEvents_FWD_DEFINED__
typedef interface HTMLTextContainerEvents HTMLTextContainerEvents;
#ifdef __cplusplus
interface HTMLTextContainerEvents;
#endif /* __cplusplus */
#endif

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

#ifndef __IDOMProcessingInstruction_FWD_DEFINED__
#define __IDOMProcessingInstruction_FWD_DEFINED__
typedef interface IDOMProcessingInstruction IDOMProcessingInstruction;
#ifdef __cplusplus
interface IDOMProcessingInstruction;
#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 __IDocumentSelector_FWD_DEFINED__
#define __IDocumentSelector_FWD_DEFINED__
typedef interface IDocumentSelector IDocumentSelector;
#ifdef __cplusplus
interface IDocumentSelector;
#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 __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 __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 __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 __DispHTMLCommentElement_FWD_DEFINED__
#define __DispHTMLCommentElement_FWD_DEFINED__
typedef interface DispHTMLCommentElement DispHTMLCommentElement;
#ifdef __cplusplus
interface DispHTMLCommentElement;
#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 __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 __HTMLTableEvents_FWD_DEFINED__
#define __HTMLTableEvents_FWD_DEFINED__
typedef interface HTMLTableEvents HTMLTableEvents;
#ifdef __cplusplus
interface HTMLTableEvents;
#endif /* __cplusplus */
#endif

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

#ifndef __IHTMLTableCaption_FWD_DEFINED__
#define __IHTMLTableCaption_FWD_DEFINED__
typedef interface IHTMLTableCaption IHTMLTableCaption;
#ifdef __cplusplus
interface IHTMLTableCaption;
#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 __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 __IHTMLTableSection_FWD_DEFINED__
#define __IHTMLTableSection_FWD_DEFINED__
typedef interface IHTMLTableSection IHTMLTableSection;
#ifdef __cplusplus
interface IHTMLTableSection;
#endif /* __cplusplus */
#endif

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

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

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

#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 __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 __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 __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 __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 __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 __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 __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 __IHTMLStyleElement_FWD_DEFINED__
#define __IHTMLStyleElement_FWD_DEFINED__
typedef interface IHTMLStyleElement IHTMLStyleElement;
#ifdef __cplusplus
interface IHTMLStyleElement;
#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 __IHTMLStorage_FWD_DEFINED__
#define __IHTMLStorage_FWD_DEFINED__
typedef interface IHTMLStorage IHTMLStorage;
#ifdef __cplusplus
interface IHTMLStorage;
#endif /* __cplusplus */
#endif

#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 __IDOMMessageEvent_FWD_DEFINED__
#define __IDOMMessageEvent_FWD_DEFINED__
typedef interface IDOMMessageEvent IDOMMessageEvent;
#ifdef __cplusplus
interface IDOMMessageEvent;
#endif /* __cplusplus */
#endif

#ifndef __IMarkupContainer_FWD_DEFINED__
#define __IMarkupContainer_FWD_DEFINED__
typedef interface IMarkupContainer IMarkupContainer;
#ifdef __cplusplus
interface IMarkupContainer;
#endif /* __cplusplus */
#endif

#ifndef __IMarkupPointer_FWD_DEFINED__
#define __IMarkupPointer_FWD_DEFINED__
typedef interface IMarkupPointer IMarkupPointer;
#ifdef __cplusplus
interface IMarkupPointer;
#endif /* __cplusplus */
#endif

#ifndef __IHTMLDOMConstructorCollection_FWD_DEFINED__
#define __IHTMLDOMConstructorCollection_FWD_DEFINED__
typedef interface IHTMLDOMConstructorCollection IHTMLDOMConstructorCollection;
#ifdef __cplusplus
interface IHTMLDOMConstructorCollection;
#endif /* __cplusplus */
#endif

#ifndef __IXMLGenericParse_FWD_DEFINED__
#define __IXMLGenericParse_FWD_DEFINED__
typedef interface IXMLGenericParse IXMLGenericParse;
#ifdef __cplusplus
interface IXMLGenericParse;
#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 __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 __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 __IElementBehaviorSite_FWD_DEFINED__
#define __IElementBehaviorSite_FWD_DEFINED__
typedef interface IElementBehaviorSite IElementBehaviorSite;
#ifdef __cplusplus
interface IElementBehaviorSite;
#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 __IHTMLPrivateWindow_FWD_DEFINED__
#define __IHTMLPrivateWindow_FWD_DEFINED__
typedef interface IHTMLPrivateWindow IHTMLPrivateWindow;
#ifdef __cplusplus
interface IHTMLPrivateWindow;
#endif /* __cplusplus */
#endif

#ifndef __IWebBrowserPriv_FWD_DEFINED__
#define __IWebBrowserPriv_FWD_DEFINED__
typedef interface IWebBrowserPriv IWebBrowserPriv;
#ifdef __cplusplus
interface IWebBrowserPriv;
#endif /* __cplusplus */
#endif

#ifndef __IWebBrowserPriv2IE8_FWD_DEFINED__
#define __IWebBrowserPriv2IE8_FWD_DEFINED__
typedef interface IWebBrowserPriv2IE8 IWebBrowserPriv2IE8;
#ifdef __cplusplus
interface IWebBrowserPriv2IE8;
#endif /* __cplusplus */
#endif

#ifndef __IWebBrowserPriv2IE9_FWD_DEFINED__
#define __IWebBrowserPriv2IE9_FWD_DEFINED__
typedef interface IWebBrowserPriv2IE9 IWebBrowserPriv2IE9;
#ifdef __cplusplus
interface IWebBrowserPriv2IE9;
#endif /* __cplusplus */
#endif

/* Headers for imported files */

#include <ocidl.h>
#include <dimm.h>
#include <shtypes.h>
#include <dispex.h>

#ifdef __cplusplus
extern "C" {
#endif

#include <olectl.h>
DEFINE_GUID(CLSID_MHTMLDocument,     0x3050f3d9,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);
DEFINE_GUID(SID_SEditCommandTarget,  0x3050f4b5,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);
DEFINE_GUID(SID_SHTMLEditHost,       0x3050f6a0,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);
DEFINE_GUID(SID_SHTMLEditServices,   0x3050f7f9,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);
#define SID_SHTMLWindow IID_IHTMLWindow2
#define SID_SElementBehaviorFactory IID_IElementBehaviorFactory
#ifdef WINE_NO_UNICODE_MACROS
#undef FindText
#endif
typedef enum __WIDL_mshtml_generated_name_0000001F {
    POINTER_GRAVITY_Left = 0,
    POINTER_GRAVITY_Right = 1,
    POINTER_GRAVITY_Max = 2147483647
} POINTER_GRAVITY;
typedef enum __WIDL_mshtml_generated_name_00000020 {
    CONTEXT_TYPE_None = 0,
    CONTEXT_TYPE_Text = 1,
    CONTEXT_TYPE_EnterScope = 2,
    CONTEXT_TYPE_ExitScope = 3,
    CONTEXT_TYPE_NoScope = 4,
    MARKUP_CONTEXT_TYPE_Max = 2147483647
} MARKUP_CONTEXT_TYPE;
typedef enum __WIDL_mshtml_generated_name_00000021 {
    ELEM_ADJ_BeforeBegin = 0,
    ELEM_ADJ_AfterBegin = 1,
    ELEM_ADJ_BeforeEnd = 2,
    ELEM_ADJ_AfterEnd = 3,
    ELEMENT_ADJACENCY_Max = 2147483647
} ELEMENT_ADJACENCY;
typedef enum __WIDL_mshtml_generated_name_00000022 {
    MOVEUNIT_PREVCHAR = 0,
    MOVEUNIT_NEXTCHAR = 1,
    MOVEUNIT_PREVCLUSTERBEG = 2,
    MOVEUNIT_NEXTCLUSTERBEG = 3,
    MOVEUNIT_PREVCLUSTEREND = 4,
    MOVEUNIT_NEXTCLUSTEREND = 5,
    MOVEUNIT_PREVWORDBEG = 6,
    MOVEUNIT_NEXTWORDBEG = 7,
    MOVEUNIT_PREVWORDEND = 8,
    MOVEUNIT_NEXTWORDEND = 9,
    MOVEUNIT_PREVPROOFWORD = 10,
    MOVEUNIT_NEXTPROOFWORD = 11,
    MOVEUNIT_NEXTURLBEG = 12,
    MOVEUNIT_PREVURLBEG = 13,
    MOVEUNIT_NEXTURLEND = 14,
    MOVEUNIT_PREVURLEND = 15,
    MOVEUNIT_PREVSENTENCE = 16,
    MOVEUNIT_NEXTSENTENCE = 17,
    MOVEUNIT_PREVBLOCK = 18,
    MOVEUNIT_NEXTBLOCK = 19,
    MOVEUNIT_ACTION_Max = 2147483647
} MOVEUNIT_ACTION;
typedef enum _SELECTION_TYPE {
    SELECTION_TYPE_None = 0,
    SELECTION_TYPE_Caret = 1,
    SELECTION_TYPE_Text = 2,
    SELECTION_TYPE_Control = 3,
    SELECTION_TYPE_Max = 2147483647
} SELECTION_TYPE;

DEFINE_GUID(LIBID_MSHTML, 0x3050f1c5, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);

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 = 2147483647
} DomConstructor;
/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLDOMConstructor_QueryInterface(IHTMLDOMConstructor* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLDOMConstructor_AddRef(IHTMLDOMConstructor* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLDOMConstructor_Release(IHTMLDOMConstructor* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLDOMConstructor_GetTypeInfoCount(IHTMLDOMConstructor* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLDOMConstructor_GetTypeInfo(IHTMLDOMConstructor* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDOMConstructor_get_constructor(IHTMLDOMConstructor* This,IDispatch **p) {
    return This->lpVtbl->get_constructor(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructor_LookupGetter(IHTMLDOMConstructor* This,BSTR propname,VARIANT *ppDispHandler) {
    return This->lpVtbl->LookupGetter(This,propname,ppDispHandler);
}
static FORCEINLINE HRESULT IHTMLDOMConstructor_LookupSetter(IHTMLDOMConstructor* This,BSTR propname,VARIANT *ppDispHandler) {
    return This->lpVtbl->LookupSetter(This,propname,ppDispHandler);
}
static FORCEINLINE HRESULT IHTMLDOMConstructor_DefineGetter(IHTMLDOMConstructor* This,BSTR propname,VARIANT *pdispHandler) {
    return This->lpVtbl->DefineGetter(This,propname,pdispHandler);
}
static FORCEINLINE HRESULT IHTMLDOMConstructor_DefineSetter(IHTMLDOMConstructor* This,BSTR propname,VARIANT *pdispHandler) {
    return This->lpVtbl->DefineSetter(This,propname,pdispHandler);
}
#endif
#endif

#endif


#endif  /* __IHTMLDOMConstructor_INTERFACE_DEFINED__ */

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

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

#ifndef __IHTMLStyleSheetsCollection_FWD_DEFINED__
#define __IHTMLStyleSheetsCollection_FWD_DEFINED__
typedef interface IHTMLStyleSheetsCollection IHTMLStyleSheetsCollection;
#ifdef __cplusplus
interface IHTMLStyleSheetsCollection;
#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 __IDOMEvent_FWD_DEFINED__
#define __IDOMEvent_FWD_DEFINED__
typedef interface IDOMEvent IDOMEvent;
#ifdef __cplusplus
interface IDOMEvent;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLFiltersCollection_QueryInterface(IHTMLFiltersCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLFiltersCollection_AddRef(IHTMLFiltersCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLFiltersCollection_Release(IHTMLFiltersCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLFiltersCollection_GetTypeInfoCount(IHTMLFiltersCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLFiltersCollection_GetTypeInfo(IHTMLFiltersCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLFiltersCollection_get_length(IHTMLFiltersCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static FORCEINLINE HRESULT IHTMLFiltersCollection_get__newEnum(IHTMLFiltersCollection* This,IUnknown **p) {
    return This->lpVtbl->get__newEnum(This,p);
}
static FORCEINLINE HRESULT IHTMLFiltersCollection_item(IHTMLFiltersCollection* This,VARIANT *pvarIndex,VARIANT *pvarResult) {
    return This->lpVtbl->item(This,pvarIndex,pvarResult);
}
#endif
#endif

#endif


#endif  /* __IHTMLFiltersCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * 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,
        VARIANT *AttributeValue) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeAttribute(
        BSTR strAttributeName,
        LONG lFlags,
        VARIANT_BOOL *pfSuccess) = 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 FORCEINLINE HRESULT IHTMLStyle_QueryInterface(IHTMLStyle* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLStyle_AddRef(IHTMLStyle* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLStyle_Release(IHTMLStyle* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLStyle_GetTypeInfoCount(IHTMLStyle* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLStyle_GetTypeInfo(IHTMLStyle* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLStyle_put_fontFamily(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_fontFamily(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_fontFamily(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_fontFamily(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_fontStyle(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_fontStyle(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_fontStyle(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_fontStyle(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_fontVariant(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_fontVariant(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_fontVariant(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_fontVariant(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_fontWeight(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_fontWeight(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_fontWeight(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_fontWeight(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_fontSize(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_fontSize(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_fontSize(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_fontSize(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_font(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_font(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_font(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_font(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_color(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_color(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_color(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_color(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_background(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_background(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_background(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_background(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_backgroundColor(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_backgroundColor(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_backgroundColor(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_backgroundColor(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_backgroundImage(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_backgroundImage(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_backgroundImage(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_backgroundImage(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_backgroundRepeat(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_backgroundRepeat(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_backgroundRepeat(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_backgroundRepeat(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_backgroundAttachment(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_backgroundAttachment(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_backgroundAttachment(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_backgroundAttachment(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_backgroundPosition(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_backgroundPosition(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_backgroundPosition(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_backgroundPosition(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_backgroundPositionX(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_backgroundPositionX(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_backgroundPositionX(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_backgroundPositionX(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_backgroundPositionY(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_backgroundPositionY(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_backgroundPositionY(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_backgroundPositionY(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_wordSpacing(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_wordSpacing(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_wordSpacing(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_wordSpacing(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_letterSpacing(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_letterSpacing(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_letterSpacing(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_letterSpacing(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_textDecoration(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_textDecoration(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_textDecoration(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_textDecoration(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_textDecorationNone(IHTMLStyle* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_textDecorationNone(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_textDecorationNone(IHTMLStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_textDecorationNone(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_textDecorationUnderline(IHTMLStyle* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_textDecorationUnderline(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_textDecorationUnderline(IHTMLStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_textDecorationUnderline(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_textDecorationOverline(IHTMLStyle* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_textDecorationOverline(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_textDecorationOverline(IHTMLStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_textDecorationOverline(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_textDecorationLineThrough(IHTMLStyle* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_textDecorationLineThrough(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_textDecorationLineThrough(IHTMLStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_textDecorationLineThrough(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_textDecorationBlink(IHTMLStyle* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_textDecorationBlink(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_textDecorationBlink(IHTMLStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_textDecorationBlink(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_verticalAlign(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_verticalAlign(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_verticalAlign(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_verticalAlign(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_textTransform(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_textTransform(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_textTransform(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_textTransform(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_textAlign(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_textAlign(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_textAlign(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_textAlign(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_textIndent(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_textIndent(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_textIndent(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_textIndent(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_lineHeight(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_lineHeight(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_lineHeight(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_lineHeight(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_marginTop(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_marginTop(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_marginTop(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_marginTop(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_marginRight(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_marginRight(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_marginRight(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_marginRight(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_marginBottom(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_marginBottom(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_marginBottom(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_marginBottom(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_marginLeft(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_marginLeft(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_marginLeft(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_marginLeft(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_margin(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_margin(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_margin(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_margin(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_paddingTop(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_paddingTop(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_paddingTop(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_paddingTop(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_paddingRight(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_paddingRight(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_paddingRight(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_paddingRight(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_paddingBottom(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_paddingBottom(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_paddingBottom(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_paddingBottom(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_paddingLeft(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_paddingLeft(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_paddingLeft(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_paddingLeft(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_padding(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_padding(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_padding(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_padding(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_border(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_border(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_border(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_border(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_borderTop(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_borderTop(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_borderTop(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderTop(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_borderRight(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_borderRight(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_borderRight(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderRight(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_borderBottom(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_borderBottom(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_borderBottom(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderBottom(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_borderLeft(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_borderLeft(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_borderLeft(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderLeft(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_borderColor(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_borderColor(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_borderColor(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderColor(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_borderTopColor(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderTopColor(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_borderTopColor(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderTopColor(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_borderRightColor(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderRightColor(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_borderRightColor(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderRightColor(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_borderBottomColor(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderBottomColor(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_borderBottomColor(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderBottomColor(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_borderLeftColor(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderLeftColor(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_borderLeftColor(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderLeftColor(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_borderWidth(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_borderWidth(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_borderWidth(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_borderTopWidth(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderTopWidth(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_borderTopWidth(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderTopWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_borderRightWidth(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderRightWidth(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_borderRightWidth(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderRightWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_borderBottomWidth(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderBottomWidth(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_borderBottomWidth(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderBottomWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_borderLeftWidth(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderLeftWidth(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_borderLeftWidth(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderLeftWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_borderStyle(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_borderStyle(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_borderStyle(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderStyle(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_borderTopStyle(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_borderTopStyle(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_borderTopStyle(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderTopStyle(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_borderRightStyle(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_borderRightStyle(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_borderRightStyle(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderRightStyle(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_borderBottomStyle(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_borderBottomStyle(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_borderBottomStyle(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderBottomStyle(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_borderLeftStyle(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_borderLeftStyle(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_borderLeftStyle(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderLeftStyle(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_width(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_width(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_width(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_width(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_height(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_height(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_height(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_height(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_styleFloat(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_styleFloat(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_styleFloat(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_styleFloat(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_clear(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_clear(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_clear(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_clear(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_display(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_display(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_display(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_display(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_visibility(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_visibility(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_visibility(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_visibility(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_listStyleType(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_listStyleType(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_listStyleType(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_listStyleType(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_listStylePosition(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_listStylePosition(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_listStylePosition(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_listStylePosition(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_listStyleImage(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_listStyleImage(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_listStyleImage(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_listStyleImage(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_listStyle(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_listStyle(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_listStyle(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_listStyle(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_whiteSpace(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_whiteSpace(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_whiteSpace(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_whiteSpace(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_top(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_top(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_top(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_top(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_left(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_left(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_left(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_left(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_get_position(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_position(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_zIndex(IHTMLStyle* This,VARIANT v) {
    return This->lpVtbl->put_zIndex(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_zIndex(IHTMLStyle* This,VARIANT *p) {
    return This->lpVtbl->get_zIndex(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_overflow(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_overflow(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_overflow(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_overflow(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_pageBreakBefore(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_pageBreakBefore(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_pageBreakBefore(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_pageBreakBefore(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_pageBreakAfter(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_pageBreakAfter(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_pageBreakAfter(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_pageBreakAfter(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_cssText(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_cssText(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_cssText(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_cssText(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_pixelTop(IHTMLStyle* This,LONG v) {
    return This->lpVtbl->put_pixelTop(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_pixelTop(IHTMLStyle* This,LONG *p) {
    return This->lpVtbl->get_pixelTop(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_pixelLeft(IHTMLStyle* This,LONG v) {
    return This->lpVtbl->put_pixelLeft(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_pixelLeft(IHTMLStyle* This,LONG *p) {
    return This->lpVtbl->get_pixelLeft(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_pixelWidth(IHTMLStyle* This,LONG v) {
    return This->lpVtbl->put_pixelWidth(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_pixelWidth(IHTMLStyle* This,LONG *p) {
    return This->lpVtbl->get_pixelWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_pixelHeight(IHTMLStyle* This,LONG v) {
    return This->lpVtbl->put_pixelHeight(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_pixelHeight(IHTMLStyle* This,LONG *p) {
    return This->lpVtbl->get_pixelHeight(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_posTop(IHTMLStyle* This,float v) {
    return This->lpVtbl->put_posTop(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_posTop(IHTMLStyle* This,float *p) {
    return This->lpVtbl->get_posTop(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_posLeft(IHTMLStyle* This,float v) {
    return This->lpVtbl->put_posLeft(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_posLeft(IHTMLStyle* This,float *p) {
    return This->lpVtbl->get_posLeft(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_posWidth(IHTMLStyle* This,float v) {
    return This->lpVtbl->put_posWidth(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_posWidth(IHTMLStyle* This,float *p) {
    return This->lpVtbl->get_posWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_posHeight(IHTMLStyle* This,float v) {
    return This->lpVtbl->put_posHeight(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_posHeight(IHTMLStyle* This,float *p) {
    return This->lpVtbl->get_posHeight(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_cursor(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_cursor(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_cursor(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_cursor(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_clip(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_clip(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_clip(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_clip(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_put_filter(IHTMLStyle* This,BSTR v) {
    return This->lpVtbl->put_filter(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle_get_filter(IHTMLStyle* This,BSTR *p) {
    return This->lpVtbl->get_filter(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle_setAttribute(IHTMLStyle* This,BSTR strAttributeName,VARIANT AttributeValue,LONG lFlags) {
    return This->lpVtbl->setAttribute(This,strAttributeName,AttributeValue,lFlags);
}
static FORCEINLINE HRESULT IHTMLStyle_getAttribute(IHTMLStyle* This,BSTR strAttributeName,LONG lFlags,VARIANT *AttributeValue) {
    return This->lpVtbl->getAttribute(This,strAttributeName,lFlags,AttributeValue);
}
static FORCEINLINE HRESULT IHTMLStyle_removeAttribute(IHTMLStyle* This,BSTR strAttributeName,LONG lFlags,VARIANT_BOOL *pfSuccess) {
    return This->lpVtbl->removeAttribute(This,strAttributeName,lFlags,pfSuccess);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLStyle2_QueryInterface(IHTMLStyle2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLStyle2_AddRef(IHTMLStyle2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLStyle2_Release(IHTMLStyle2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLStyle2_GetTypeInfoCount(IHTMLStyle2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLStyle2_GetTypeInfo(IHTMLStyle2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLStyle2_put_tableLayout(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_tableLayout(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_tableLayout(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_tableLayout(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_borderCollapse(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_borderCollapse(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_borderCollapse(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_borderCollapse(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_direction(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_direction(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_direction(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_direction(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_behavior(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_behavior(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_behavior(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_behavior(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_setExpression(IHTMLStyle2* This,BSTR propname,BSTR expression,BSTR language) {
    return This->lpVtbl->setExpression(This,propname,expression,language);
}
static FORCEINLINE HRESULT IHTMLStyle2_getExpression(IHTMLStyle2* This,BSTR propname,VARIANT *expression) {
    return This->lpVtbl->getExpression(This,propname,expression);
}
static FORCEINLINE HRESULT IHTMLStyle2_removeExpression(IHTMLStyle2* This,BSTR propname,VARIANT_BOOL *pfSuccess) {
    return This->lpVtbl->removeExpression(This,propname,pfSuccess);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_position(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_position(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_position(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_position(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_unicodeBidi(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_unicodeBidi(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_unicodeBidi(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_unicodeBidi(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_bottom(IHTMLStyle2* This,VARIANT v) {
    return This->lpVtbl->put_bottom(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_bottom(IHTMLStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_bottom(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_right(IHTMLStyle2* This,VARIANT v) {
    return This->lpVtbl->put_right(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_right(IHTMLStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_right(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_pixelBottom(IHTMLStyle2* This,LONG v) {
    return This->lpVtbl->put_pixelBottom(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_pixelBottom(IHTMLStyle2* This,LONG *p) {
    return This->lpVtbl->get_pixelBottom(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_pixelRight(IHTMLStyle2* This,LONG v) {
    return This->lpVtbl->put_pixelRight(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_pixelRight(IHTMLStyle2* This,LONG *p) {
    return This->lpVtbl->get_pixelRight(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_posBottom(IHTMLStyle2* This,float v) {
    return This->lpVtbl->put_posBottom(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_posBottom(IHTMLStyle2* This,float *p) {
    return This->lpVtbl->get_posBottom(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_posRight(IHTMLStyle2* This,float v) {
    return This->lpVtbl->put_posRight(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_posRight(IHTMLStyle2* This,float *p) {
    return This->lpVtbl->get_posRight(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_imeMode(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_imeMode(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_imeMode(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_imeMode(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_rubyAlign(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_rubyAlign(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_rubyAlign(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_rubyAlign(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_rubyPosition(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_rubyPosition(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_rubyPosition(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_rubyPosition(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_rubyOverhang(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_rubyOverhang(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_rubyOverhang(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_rubyOverhang(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_layoutGridChar(IHTMLStyle2* This,VARIANT v) {
    return This->lpVtbl->put_layoutGridChar(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_layoutGridChar(IHTMLStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_layoutGridChar(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_layoutGridLine(IHTMLStyle2* This,VARIANT v) {
    return This->lpVtbl->put_layoutGridLine(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_layoutGridLine(IHTMLStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_layoutGridLine(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_layoutGridMode(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_layoutGridMode(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_layoutGridMode(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_layoutGridMode(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_layoutGridType(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_layoutGridType(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_layoutGridType(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_layoutGridType(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_layoutGrid(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_layoutGrid(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_layoutGrid(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_layoutGrid(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_wordBreak(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_wordBreak(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_wordBreak(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_wordBreak(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_lineBreak(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_lineBreak(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_lineBreak(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_lineBreak(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_textJustify(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_textJustify(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_textJustify(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_textJustify(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_textJustifyTrim(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_textJustifyTrim(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_textJustifyTrim(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_textJustifyTrim(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_textKashida(IHTMLStyle2* This,VARIANT v) {
    return This->lpVtbl->put_textKashida(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_textKashida(IHTMLStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_textKashida(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_textAutospace(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_textAutospace(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_textAutospace(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_textAutospace(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_overflowX(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_overflowX(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_overflowX(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_overflowX(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_overflowY(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_overflowY(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_overflowY(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_overflowY(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle2_put_accelerator(IHTMLStyle2* This,BSTR v) {
    return This->lpVtbl->put_accelerator(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle2_get_accelerator(IHTMLStyle2* This,BSTR *p) {
    return This->lpVtbl->get_accelerator(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyle2_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,
        VARIANT *AttributeValue) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeAttribute(
        BSTR strAttributeName,
        LONG lFlags,
        VARIANT_BOOL *pfSuccess) = 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 FORCEINLINE HRESULT IHTMLRuleStyle_QueryInterface(IHTMLRuleStyle* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLRuleStyle_AddRef(IHTMLRuleStyle* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLRuleStyle_Release(IHTMLRuleStyle* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLRuleStyle_GetTypeInfoCount(IHTMLRuleStyle* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_GetTypeInfo(IHTMLRuleStyle* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLRuleStyle_put_fontFamily(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_fontFamily(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_fontFamily(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_fontFamily(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_fontStyle(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_fontStyle(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_fontStyle(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_fontStyle(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_fontVariant(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_fontVariant(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_fontVariant(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_fontVariant(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_fontWeight(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_fontWeight(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_fontWeight(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_fontWeight(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_fontSize(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_fontSize(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_fontSize(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_fontSize(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_font(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_font(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_font(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_font(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_color(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_color(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_color(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_color(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_background(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_background(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_background(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_background(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_backgroundColor(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_backgroundColor(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_backgroundColor(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_backgroundColor(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_backgroundImage(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_backgroundImage(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_backgroundImage(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_backgroundImage(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_backgroundRepeat(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_backgroundRepeat(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_backgroundRepeat(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_backgroundRepeat(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_backgroundAttachment(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_backgroundAttachment(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_backgroundAttachment(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_backgroundAttachment(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_backgroundPosition(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_backgroundPosition(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_backgroundPosition(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_backgroundPosition(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_backgroundPositionX(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_backgroundPositionX(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_backgroundPositionX(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_backgroundPositionX(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_backgroundPositionY(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_backgroundPositionY(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_backgroundPositionY(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_backgroundPositionY(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_wordSpacing(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_wordSpacing(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_wordSpacing(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_wordSpacing(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_letterSpacing(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_letterSpacing(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_letterSpacing(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_letterSpacing(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_textDecoration(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_textDecoration(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_textDecoration(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_textDecoration(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_textDecorationNone(IHTMLRuleStyle* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_textDecorationNone(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_textDecorationNone(IHTMLRuleStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_textDecorationNone(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_textDecorationUnderline(IHTMLRuleStyle* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_textDecorationUnderline(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_textDecorationUnderline(IHTMLRuleStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_textDecorationUnderline(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_textDecorationOverline(IHTMLRuleStyle* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_textDecorationOverline(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_textDecorationOverline(IHTMLRuleStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_textDecorationOverline(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_textDecorationLineThrough(IHTMLRuleStyle* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_textDecorationLineThrough(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_textDecorationLineThrough(IHTMLRuleStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_textDecorationLineThrough(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_textDecorationBlink(IHTMLRuleStyle* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_textDecorationBlink(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_textDecorationBlink(IHTMLRuleStyle* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_textDecorationBlink(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_verticalAlign(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_verticalAlign(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_verticalAlign(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_verticalAlign(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_textTransform(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_textTransform(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_textTransform(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_textTransform(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_textAlign(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_textAlign(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_textAlign(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_textAlign(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_textIndent(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_textIndent(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_textIndent(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_textIndent(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_lineHeight(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_lineHeight(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_lineHeight(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_lineHeight(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_marginTop(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_marginTop(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_marginTop(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_marginTop(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_marginRight(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_marginRight(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_marginRight(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_marginRight(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_marginBottom(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_marginBottom(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_marginBottom(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_marginBottom(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_marginLeft(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_marginLeft(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_marginLeft(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_marginLeft(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_margin(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_margin(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_margin(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_margin(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_paddingTop(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_paddingTop(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_paddingTop(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_paddingTop(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_paddingRight(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_paddingRight(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_paddingRight(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_paddingRight(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_paddingBottom(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_paddingBottom(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_paddingBottom(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_paddingBottom(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_paddingLeft(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_paddingLeft(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_paddingLeft(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_paddingLeft(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_padding(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_padding(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_padding(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_padding(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_border(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_border(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_border(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_border(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_borderTop(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_borderTop(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_borderTop(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderTop(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_borderRight(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_borderRight(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_borderRight(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderRight(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_borderBottom(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_borderBottom(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_borderBottom(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderBottom(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_borderLeft(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_borderLeft(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_borderLeft(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderLeft(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_borderColor(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_borderColor(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_borderColor(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderColor(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_borderTopColor(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderTopColor(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_borderTopColor(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderTopColor(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_borderRightColor(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderRightColor(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_borderRightColor(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderRightColor(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_borderBottomColor(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderBottomColor(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_borderBottomColor(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderBottomColor(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_borderLeftColor(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderLeftColor(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_borderLeftColor(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderLeftColor(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_borderWidth(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_borderWidth(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_borderWidth(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_borderTopWidth(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderTopWidth(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_borderTopWidth(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderTopWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_borderRightWidth(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderRightWidth(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_borderRightWidth(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderRightWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_borderBottomWidth(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderBottomWidth(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_borderBottomWidth(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderBottomWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_borderLeftWidth(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_borderLeftWidth(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_borderLeftWidth(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderLeftWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_borderStyle(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_borderStyle(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_borderStyle(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderStyle(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_borderTopStyle(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_borderTopStyle(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_borderTopStyle(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderTopStyle(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_borderRightStyle(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_borderRightStyle(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_borderRightStyle(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderRightStyle(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_borderBottomStyle(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_borderBottomStyle(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_borderBottomStyle(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderBottomStyle(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_borderLeftStyle(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_borderLeftStyle(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_borderLeftStyle(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderLeftStyle(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_width(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_width(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_width(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_width(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_height(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_height(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_height(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_height(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_styleFloat(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_styleFloat(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_styleFloat(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_styleFloat(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_clear(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_clear(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_clear(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_clear(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_display(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_display(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_display(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_display(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_visibility(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_visibility(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_visibility(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_visibility(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_listStyleType(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_listStyleType(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_listStyleType(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_listStyleType(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_listStylePosition(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_listStylePosition(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_listStylePosition(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_listStylePosition(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_listStyleImage(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_listStyleImage(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_listStyleImage(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_listStyleImage(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_listStyle(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_listStyle(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_listStyle(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_listStyle(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_whiteSpace(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_whiteSpace(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_whiteSpace(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_whiteSpace(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_top(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_top(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_top(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_top(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_left(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_left(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_left(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_left(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_position(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_position(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_zIndex(IHTMLRuleStyle* This,VARIANT v) {
    return This->lpVtbl->put_zIndex(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_zIndex(IHTMLRuleStyle* This,VARIANT *p) {
    return This->lpVtbl->get_zIndex(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_overflow(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_overflow(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_overflow(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_overflow(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_pageBreakBefore(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_pageBreakBefore(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_pageBreakBefore(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_pageBreakBefore(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_pageBreakAfter(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_pageBreakAfter(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_pageBreakAfter(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_pageBreakAfter(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_cssText(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_cssText(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_cssText(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_cssText(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_cursor(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_cursor(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_cursor(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_cursor(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_clip(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_clip(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_clip(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_clip(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_put_filter(IHTMLRuleStyle* This,BSTR v) {
    return This->lpVtbl->put_filter(This,v);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_get_filter(IHTMLRuleStyle* This,BSTR *p) {
    return This->lpVtbl->get_filter(This,p);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_setAttribute(IHTMLRuleStyle* This,BSTR strAttributeName,VARIANT AttributeValue,LONG lFlags) {
    return This->lpVtbl->setAttribute(This,strAttributeName,AttributeValue,lFlags);
}
static FORCEINLINE HRESULT IHTMLRuleStyle_getAttribute(IHTMLRuleStyle* This,BSTR strAttributeName,LONG lFlags,VARIANT *AttributeValue) {
    return This->lpVtbl->getAttribute(This,strAttributeName,lFlags,AttributeValue);
}
static FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT DispHTMLStyle_QueryInterface(DispHTMLStyle* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLStyle_AddRef(DispHTMLStyle* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLStyle_Release(DispHTMLStyle* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLStyle_GetTypeInfoCount(DispHTMLStyle* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLStyle_GetTypeInfo(DispHTMLStyle* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLStyle3_QueryInterface(IHTMLStyle3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLStyle3_AddRef(IHTMLStyle3* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLStyle3_Release(IHTMLStyle3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLStyle3_GetTypeInfoCount(IHTMLStyle3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLStyle3_GetTypeInfo(IHTMLStyle3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLStyle3_put_layoutFlow(IHTMLStyle3* This,BSTR v) {
    return This->lpVtbl->put_layoutFlow(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle3_get_layoutFlow(IHTMLStyle3* This,BSTR *p) {
    return This->lpVtbl->get_layoutFlow(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle3_put_zoom(IHTMLStyle3* This,VARIANT v) {
    return This->lpVtbl->put_zoom(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle3_get_zoom(IHTMLStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_zoom(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle3_put_wordWrap(IHTMLStyle3* This,BSTR v) {
    return This->lpVtbl->put_wordWrap(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle3_get_wordWrap(IHTMLStyle3* This,BSTR *p) {
    return This->lpVtbl->get_wordWrap(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle3_put_textUnderlinePosition(IHTMLStyle3* This,BSTR v) {
    return This->lpVtbl->put_textUnderlinePosition(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle3_get_textUnderlinePosition(IHTMLStyle3* This,BSTR *p) {
    return This->lpVtbl->get_textUnderlinePosition(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle3_put_scrollbarBaseColor(IHTMLStyle3* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarBaseColor(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle3_get_scrollbarBaseColor(IHTMLStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarBaseColor(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle3_put_scrollbarFaceColor(IHTMLStyle3* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarFaceColor(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle3_get_scrollbarFaceColor(IHTMLStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarFaceColor(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle3_put_scrollbar3dLightColor(IHTMLStyle3* This,VARIANT v) {
    return This->lpVtbl->put_scrollbar3dLightColor(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle3_get_scrollbar3dLightColor(IHTMLStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbar3dLightColor(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle3_put_scrollbarShadowColor(IHTMLStyle3* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarShadowColor(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle3_get_scrollbarShadowColor(IHTMLStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarShadowColor(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle3_put_scrollbarHighlightColor(IHTMLStyle3* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarHighlightColor(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle3_get_scrollbarHighlightColor(IHTMLStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarHighlightColor(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle3_put_scrollbarDarkShadowColor(IHTMLStyle3* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarDarkShadowColor(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle3_get_scrollbarDarkShadowColor(IHTMLStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarDarkShadowColor(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle3_put_scrollbarArrowColor(IHTMLStyle3* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarArrowColor(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle3_get_scrollbarArrowColor(IHTMLStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarArrowColor(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle3_put_scrollbarTrackColor(IHTMLStyle3* This,VARIANT v) {
    return This->lpVtbl->put_scrollbarTrackColor(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle3_get_scrollbarTrackColor(IHTMLStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarTrackColor(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle3_put_writingMode(IHTMLStyle3* This,BSTR v) {
    return This->lpVtbl->put_writingMode(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle3_get_writingMode(IHTMLStyle3* This,BSTR *p) {
    return This->lpVtbl->get_writingMode(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle3_put_textAlignLast(IHTMLStyle3* This,BSTR v) {
    return This->lpVtbl->put_textAlignLast(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle3_get_textAlignLast(IHTMLStyle3* This,BSTR *p) {
    return This->lpVtbl->get_textAlignLast(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle3_put_textKashidaSpace(IHTMLStyle3* This,VARIANT v) {
    return This->lpVtbl->put_textKashidaSpace(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLStyle4_QueryInterface(IHTMLStyle4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLStyle4_AddRef(IHTMLStyle4* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLStyle4_Release(IHTMLStyle4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLStyle4_GetTypeInfoCount(IHTMLStyle4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLStyle4_GetTypeInfo(IHTMLStyle4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLStyle4_put_textOverflow(IHTMLStyle4* This,BSTR v) {
    return This->lpVtbl->put_textOverflow(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle4_get_textOverflow(IHTMLStyle4* This,BSTR *p) {
    return This->lpVtbl->get_textOverflow(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle4_put_minHeight(IHTMLStyle4* This,VARIANT v) {
    return This->lpVtbl->put_minHeight(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLStyle5_QueryInterface(IHTMLStyle5* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLStyle5_AddRef(IHTMLStyle5* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLStyle5_Release(IHTMLStyle5* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLStyle5_GetTypeInfoCount(IHTMLStyle5* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLStyle5_GetTypeInfo(IHTMLStyle5* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLStyle5_put_msInterpolationMode(IHTMLStyle5* This,BSTR v) {
    return This->lpVtbl->put_msInterpolationMode(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle5_get_msInterpolationMode(IHTMLStyle5* This,BSTR *p) {
    return This->lpVtbl->get_msInterpolationMode(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle5_put_maxHeight(IHTMLStyle5* This,VARIANT v) {
    return This->lpVtbl->put_maxHeight(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle5_get_maxHeight(IHTMLStyle5* This,VARIANT *p) {
    return This->lpVtbl->get_maxHeight(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle5_put_minWidth(IHTMLStyle5* This,VARIANT v) {
    return This->lpVtbl->put_minWidth(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle5_get_minWidth(IHTMLStyle5* This,VARIANT *p) {
    return This->lpVtbl->get_minWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle5_put_maxWidth(IHTMLStyle5* This,VARIANT v) {
    return This->lpVtbl->put_maxWidth(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLStyle6_QueryInterface(IHTMLStyle6* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLStyle6_AddRef(IHTMLStyle6* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLStyle6_Release(IHTMLStyle6* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLStyle6_GetTypeInfoCount(IHTMLStyle6* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLStyle6_GetTypeInfo(IHTMLStyle6* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLStyle6_put_content(IHTMLStyle6* This,BSTR v) {
    return This->lpVtbl->put_content(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle6_get_content(IHTMLStyle6* This,BSTR *p) {
    return This->lpVtbl->get_content(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle6_put_captionSide(IHTMLStyle6* This,BSTR v) {
    return This->lpVtbl->put_captionSide(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle6_get_captionSide(IHTMLStyle6* This,BSTR *p) {
    return This->lpVtbl->get_captionSide(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle6_put_counterIncrement(IHTMLStyle6* This,BSTR v) {
    return This->lpVtbl->put_counterIncrement(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle6_get_counterIncrement(IHTMLStyle6* This,BSTR *p) {
    return This->lpVtbl->get_counterIncrement(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle6_put_counterReset(IHTMLStyle6* This,BSTR v) {
    return This->lpVtbl->put_counterReset(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle6_get_counterReset(IHTMLStyle6* This,BSTR *p) {
    return This->lpVtbl->get_counterReset(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle6_put_outline(IHTMLStyle6* This,BSTR v) {
    return This->lpVtbl->put_outline(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle6_get_outline(IHTMLStyle6* This,BSTR *p) {
    return This->lpVtbl->get_outline(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle6_put_outlineWidth(IHTMLStyle6* This,VARIANT v) {
    return This->lpVtbl->put_outlineWidth(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle6_get_outlineWidth(IHTMLStyle6* This,VARIANT *p) {
    return This->lpVtbl->get_outlineWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle6_put_outlineStyle(IHTMLStyle6* This,BSTR v) {
    return This->lpVtbl->put_outlineStyle(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle6_get_outlineStyle(IHTMLStyle6* This,BSTR *p) {
    return This->lpVtbl->get_outlineStyle(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle6_put_outlineColor(IHTMLStyle6* This,VARIANT v) {
    return This->lpVtbl->put_outlineColor(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle6_get_outlineColor(IHTMLStyle6* This,VARIANT *p) {
    return This->lpVtbl->get_outlineColor(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle6_put_boxSizing(IHTMLStyle6* This,BSTR v) {
    return This->lpVtbl->put_boxSizing(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle6_get_boxSizing(IHTMLStyle6* This,BSTR *p) {
    return This->lpVtbl->get_boxSizing(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle6_put_borderSpacing(IHTMLStyle6* This,BSTR v) {
    return This->lpVtbl->put_borderSpacing(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle6_get_borderSpacing(IHTMLStyle6* This,BSTR *p) {
    return This->lpVtbl->get_borderSpacing(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle6_put_orphans(IHTMLStyle6* This,VARIANT v) {
    return This->lpVtbl->put_orphans(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle6_get_orphans(IHTMLStyle6* This,VARIANT *p) {
    return This->lpVtbl->get_orphans(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle6_put_widows(IHTMLStyle6* This,VARIANT v) {
    return This->lpVtbl->put_widows(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle6_get_widows(IHTMLStyle6* This,VARIANT *p) {
    return This->lpVtbl->get_widows(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle6_put_pageBreakInside(IHTMLStyle6* This,BSTR v) {
    return This->lpVtbl->put_pageBreakInside(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle6_get_pageBreakInside(IHTMLStyle6* This,BSTR *p) {
    return This->lpVtbl->get_pageBreakInside(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle6_put_emptyCells(IHTMLStyle6* This,BSTR v) {
    return This->lpVtbl->put_emptyCells(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle6_get_emptyCells(IHTMLStyle6* This,BSTR *p) {
    return This->lpVtbl->get_emptyCells(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle6_put_msBlockProgression(IHTMLStyle6* This,BSTR v) {
    return This->lpVtbl->put_msBlockProgression(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle6_get_msBlockProgression(IHTMLStyle6* This,BSTR *p) {
    return This->lpVtbl->get_msBlockProgression(This,p);
}
static FORCEINLINE HRESULT IHTMLStyle6_put_quotes(IHTMLStyle6* This,BSTR v) {
    return This->lpVtbl->put_quotes(This,v);
}
static FORCEINLINE HRESULT IHTMLStyle6_get_quotes(IHTMLStyle6* This,BSTR *p) {
    return This->lpVtbl->get_quotes(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyle6_INTERFACE_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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLRenderStyle_QueryInterface(IHTMLRenderStyle* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLRenderStyle_AddRef(IHTMLRenderStyle* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLRenderStyle_Release(IHTMLRenderStyle* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLRenderStyle_GetTypeInfoCount(IHTMLRenderStyle* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLRenderStyle_GetTypeInfo(IHTMLRenderStyle* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLRenderStyle_put_textLineThroughStyle(IHTMLRenderStyle* This,BSTR v) {
    return This->lpVtbl->put_textLineThroughStyle(This,v);
}
static FORCEINLINE HRESULT IHTMLRenderStyle_get_textLineThroughStyle(IHTMLRenderStyle* This,BSTR *p) {
    return This->lpVtbl->get_textLineThroughStyle(This,p);
}
static FORCEINLINE HRESULT IHTMLRenderStyle_put_textUnderlineStyle(IHTMLRenderStyle* This,BSTR v) {
    return This->lpVtbl->put_textUnderlineStyle(This,v);
}
static FORCEINLINE HRESULT IHTMLRenderStyle_get_textUnderlineStyle(IHTMLRenderStyle* This,BSTR *p) {
    return This->lpVtbl->get_textUnderlineStyle(This,p);
}
static FORCEINLINE HRESULT IHTMLRenderStyle_put_textEffect(IHTMLRenderStyle* This,BSTR v) {
    return This->lpVtbl->put_textEffect(This,v);
}
static FORCEINLINE HRESULT IHTMLRenderStyle_get_textEffect(IHTMLRenderStyle* This,BSTR *p) {
    return This->lpVtbl->get_textEffect(This,p);
}
static FORCEINLINE HRESULT IHTMLRenderStyle_put_textColor(IHTMLRenderStyle* This,VARIANT v) {
    return This->lpVtbl->put_textColor(This,v);
}
static FORCEINLINE HRESULT IHTMLRenderStyle_get_textColor(IHTMLRenderStyle* This,VARIANT *p) {
    return This->lpVtbl->get_textColor(This,p);
}
static FORCEINLINE HRESULT IHTMLRenderStyle_put_textBackgroundColor(IHTMLRenderStyle* This,VARIANT v) {
    return This->lpVtbl->put_textBackgroundColor(This,v);
}
static FORCEINLINE HRESULT IHTMLRenderStyle_get_textBackgroundColor(IHTMLRenderStyle* This,VARIANT *p) {
    return This->lpVtbl->get_textBackgroundColor(This,p);
}
static FORCEINLINE HRESULT IHTMLRenderStyle_put_textDecorationColor(IHTMLRenderStyle* This,VARIANT v) {
    return This->lpVtbl->put_textDecorationColor(This,v);
}
static FORCEINLINE HRESULT IHTMLRenderStyle_get_textDecorationColor(IHTMLRenderStyle* This,VARIANT *p) {
    return This->lpVtbl->get_textDecorationColor(This,p);
}
static FORCEINLINE HRESULT IHTMLRenderStyle_put_renderingPriority(IHTMLRenderStyle* This,LONG v) {
    return This->lpVtbl->put_renderingPriority(This,v);
}
static FORCEINLINE HRESULT IHTMLRenderStyle_get_renderingPriority(IHTMLRenderStyle* This,LONG *p) {
    return This->lpVtbl->get_renderingPriority(This,p);
}
static FORCEINLINE HRESULT IHTMLRenderStyle_put_defaultTextSelection(IHTMLRenderStyle* This,BSTR v) {
    return This->lpVtbl->put_defaultTextSelection(This,v);
}
static FORCEINLINE HRESULT IHTMLRenderStyle_get_defaultTextSelection(IHTMLRenderStyle* This,BSTR *p) {
    return This->lpVtbl->get_defaultTextSelection(This,p);
}
static FORCEINLINE HRESULT IHTMLRenderStyle_put_textDecoration(IHTMLRenderStyle* This,BSTR v) {
    return This->lpVtbl->put_textDecoration(This,v);
}
static FORCEINLINE HRESULT IHTMLRenderStyle_get_textDecoration(IHTMLRenderStyle* This,BSTR *p) {
    return This->lpVtbl->get_textDecoration(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLRenderStyle_INTERFACE_DEFINED__ */

/*****************************************************************************
 * 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,
        VARIANT *AttributeValue) = 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 FORCEINLINE HRESULT IHTMLCurrentStyle_QueryInterface(IHTMLCurrentStyle* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLCurrentStyle_AddRef(IHTMLCurrentStyle* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLCurrentStyle_Release(IHTMLCurrentStyle* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLCurrentStyle_GetTypeInfoCount(IHTMLCurrentStyle* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_GetTypeInfo(IHTMLCurrentStyle* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLCurrentStyle_get_position(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_position(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_styleFloat(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_styleFloat(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_color(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_color(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_backgroundColor(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_backgroundColor(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_fontFamily(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_fontFamily(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_fontStyle(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_fontStyle(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_fontVariant(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_fontVariant(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_fontWeight(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_fontWeight(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_fontSize(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_fontSize(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_backgroundImage(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_backgroundImage(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_backgroundPositionX(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_backgroundPositionX(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_backgroundPositionY(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_backgroundPositionY(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_backgroundRepeat(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_backgroundRepeat(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_borderLeftColor(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderLeftColor(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_borderTopColor(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderTopColor(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_borderRightColor(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderRightColor(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_borderBottomColor(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderBottomColor(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_borderTopStyle(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderTopStyle(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_borderRightStyle(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderRightStyle(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_borderBottomStyle(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderBottomStyle(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_borderLeftStyle(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderLeftStyle(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_borderTopWidth(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderTopWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_borderRightWidth(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderRightWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_borderBottomWidth(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderBottomWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_borderLeftWidth(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_borderLeftWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_left(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_left(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_top(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_top(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_width(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_width(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_height(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_height(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_paddingLeft(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_paddingLeft(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_paddingTop(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_paddingTop(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_paddingRight(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_paddingRight(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_paddingBottom(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_paddingBottom(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_textAlign(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_textAlign(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_textDecoration(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_textDecoration(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_display(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_display(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_visibility(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_visibility(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_zIndex(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_zIndex(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_letterSpacing(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_letterSpacing(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_lineHeight(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_lineHeight(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_textIndent(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_textIndent(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_verticalAlign(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_verticalAlign(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_backgroundAttachment(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_backgroundAttachment(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_marginTop(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_marginTop(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_marginRight(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_marginRight(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_marginBottom(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_marginBottom(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_marginLeft(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_marginLeft(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_clear(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_clear(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_listStyleType(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_listStyleType(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_listStylePosition(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_listStylePosition(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_listStyleImage(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_listStyleImage(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_clipTop(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_clipTop(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_clipRight(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_clipRight(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_clipBottom(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_clipBottom(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_clipLeft(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_clipLeft(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_overflow(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_overflow(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_pageBreakBefore(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_pageBreakBefore(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_pageBreakAfter(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_pageBreakAfter(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_cursor(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_cursor(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_tableLayout(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_tableLayout(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_borderCollapse(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderCollapse(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_direction(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_direction(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_behavior(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_behavior(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_getAttribute(IHTMLCurrentStyle* This,BSTR strAttributeName,LONG lFlags,VARIANT *AttributeValue) {
    return This->lpVtbl->getAttribute(This,strAttributeName,lFlags,AttributeValue);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_unicodeBidi(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_unicodeBidi(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_right(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_right(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_bottom(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_bottom(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_imeMode(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_imeMode(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_rubyAlign(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_rubyAlign(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_rubyPosition(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_rubyPosition(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_rubyOverhang(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_rubyOverhang(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_textAutospace(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_textAutospace(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_lineBreak(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_lineBreak(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_wordBreak(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_wordBreak(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_textJustify(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_textJustify(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_textJustifyTrim(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_textJustifyTrim(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_textKashida(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_textKashida(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_blockDirection(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_blockDirection(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_layoutGridChar(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_layoutGridChar(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_layoutGridLine(IHTMLCurrentStyle* This,VARIANT *p) {
    return This->lpVtbl->get_layoutGridLine(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_layoutGridMode(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_layoutGridMode(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_layoutGridType(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_layoutGridType(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_borderStyle(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderStyle(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_borderColor(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderColor(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_borderWidth(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_borderWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_padding(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_padding(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_margin(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_margin(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_accelerator(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_accelerator(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_overflowX(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_overflowX(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle_get_overflowY(IHTMLCurrentStyle* This,BSTR *p) {
    return This->lpVtbl->get_overflowY(This,p);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLCurrentStyle2_QueryInterface(IHTMLCurrentStyle2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLCurrentStyle2_AddRef(IHTMLCurrentStyle2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLCurrentStyle2_Release(IHTMLCurrentStyle2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLCurrentStyle2_GetTypeInfoCount(IHTMLCurrentStyle2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle2_GetTypeInfo(IHTMLCurrentStyle2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLCurrentStyle2_get_layoutFlow(IHTMLCurrentStyle2* This,BSTR *p) {
    return This->lpVtbl->get_layoutFlow(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle2_get_wordWrap(IHTMLCurrentStyle2* This,BSTR *p) {
    return This->lpVtbl->get_wordWrap(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle2_get_textUnderlinePosition(IHTMLCurrentStyle2* This,BSTR *p) {
    return This->lpVtbl->get_textUnderlinePosition(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle2_get_hasLayout(IHTMLCurrentStyle2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_hasLayout(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle2_get_scrollbarBaseColor(IHTMLCurrentStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarBaseColor(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle2_get_scrollbarFaceColor(IHTMLCurrentStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarFaceColor(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle2_get_scrollbar3dLightColor(IHTMLCurrentStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbar3dLightColor(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle2_get_scrollbarShadowColor(IHTMLCurrentStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarShadowColor(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle2_get_scrollbarHighlightColor(IHTMLCurrentStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarHighlightColor(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle2_get_scrollbarDarkShadowColor(IHTMLCurrentStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarDarkShadowColor(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle2_get_scrollbarArrowColor(IHTMLCurrentStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarArrowColor(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle2_get_scrollbarTrackColor(IHTMLCurrentStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_scrollbarTrackColor(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle2_get_writingMode(IHTMLCurrentStyle2* This,BSTR *p) {
    return This->lpVtbl->get_writingMode(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle2_get_zoom(IHTMLCurrentStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_zoom(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle2_get_filter(IHTMLCurrentStyle2* This,BSTR *p) {
    return This->lpVtbl->get_filter(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle2_get_textAlignLast(IHTMLCurrentStyle2* This,BSTR *p) {
    return This->lpVtbl->get_textAlignLast(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle2_get_textKashidaSpace(IHTMLCurrentStyle2* This,VARIANT *p) {
    return This->lpVtbl->get_textKashidaSpace(This,p);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLCurrentStyle3_QueryInterface(IHTMLCurrentStyle3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLCurrentStyle3_AddRef(IHTMLCurrentStyle3* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLCurrentStyle3_Release(IHTMLCurrentStyle3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLCurrentStyle3_GetTypeInfoCount(IHTMLCurrentStyle3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle3_GetTypeInfo(IHTMLCurrentStyle3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLCurrentStyle3_get_textOverflow(IHTMLCurrentStyle3* This,BSTR *p) {
    return This->lpVtbl->get_textOverflow(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle3_get_minHeight(IHTMLCurrentStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_minHeight(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle3_get_wordSpacing(IHTMLCurrentStyle3* This,VARIANT *p) {
    return This->lpVtbl->get_wordSpacing(This,p);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLCurrentStyle4_QueryInterface(IHTMLCurrentStyle4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLCurrentStyle4_AddRef(IHTMLCurrentStyle4* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLCurrentStyle4_Release(IHTMLCurrentStyle4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLCurrentStyle4_GetTypeInfoCount(IHTMLCurrentStyle4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle4_GetTypeInfo(IHTMLCurrentStyle4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLCurrentStyle4_get_msInterpolationMode(IHTMLCurrentStyle4* This,BSTR *p) {
    return This->lpVtbl->get_msInterpolationMode(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle4_get_maxHeight(IHTMLCurrentStyle4* This,VARIANT *p) {
    return This->lpVtbl->get_maxHeight(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle4_get_minWidth(IHTMLCurrentStyle4* This,VARIANT *p) {
    return This->lpVtbl->get_minWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLCurrentStyle4_get_maxWidth(IHTMLCurrentStyle4* This,VARIANT *p) {
    return This->lpVtbl->get_maxWidth(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLCurrentStyle4_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 FORCEINLINE HRESULT DispHTMLCurrentStyle_QueryInterface(DispHTMLCurrentStyle* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLCurrentStyle_AddRef(DispHTMLCurrentStyle* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLCurrentStyle_Release(DispHTMLCurrentStyle* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLCurrentStyle_GetTypeInfoCount(DispHTMLCurrentStyle* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLCurrentStyle_GetTypeInfo(DispHTMLCurrentStyle* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLRect_QueryInterface(IHTMLRect* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLRect_AddRef(IHTMLRect* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLRect_Release(IHTMLRect* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLRect_GetTypeInfoCount(IHTMLRect* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLRect_GetTypeInfo(IHTMLRect* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLRect_put_left(IHTMLRect* This,LONG v) {
    return This->lpVtbl->put_left(This,v);
}
static FORCEINLINE HRESULT IHTMLRect_get_left(IHTMLRect* This,LONG *p) {
    return This->lpVtbl->get_left(This,p);
}
static FORCEINLINE HRESULT IHTMLRect_put_top(IHTMLRect* This,LONG v) {
    return This->lpVtbl->put_top(This,v);
}
static FORCEINLINE HRESULT IHTMLRect_get_top(IHTMLRect* This,LONG *p) {
    return This->lpVtbl->get_top(This,p);
}
static FORCEINLINE HRESULT IHTMLRect_put_right(IHTMLRect* This,LONG v) {
    return This->lpVtbl->put_right(This,v);
}
static FORCEINLINE HRESULT IHTMLRect_get_right(IHTMLRect* This,LONG *p) {
    return This->lpVtbl->get_right(This,p);
}
static FORCEINLINE HRESULT IHTMLRect_put_bottom(IHTMLRect* This,LONG v) {
    return This->lpVtbl->put_bottom(This,v);
}
static FORCEINLINE HRESULT IHTMLRect_get_bottom(IHTMLRect* This,LONG *p) {
    return This->lpVtbl->get_bottom(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLRect_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 FORCEINLINE HRESULT IHTMLRectCollection_QueryInterface(IHTMLRectCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLRectCollection_AddRef(IHTMLRectCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLRectCollection_Release(IHTMLRectCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLRectCollection_GetTypeInfoCount(IHTMLRectCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLRectCollection_GetTypeInfo(IHTMLRectCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLRectCollection_get_length(IHTMLRectCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static FORCEINLINE HRESULT IHTMLRectCollection_get__newEnum(IHTMLRectCollection* This,IUnknown **p) {
    return This->lpVtbl->get__newEnum(This,p);
}
static FORCEINLINE HRESULT IHTMLRectCollection_item(IHTMLRectCollection* This,VARIANT *pvarIndex,VARIANT *pvarResult) {
    return This->lpVtbl->item(This,pvarIndex,pvarResult);
}
#endif
#endif

#endif


#endif  /* __IHTMLRectCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * 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,
        IHTMLDOMNode **removed) = 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 FORCEINLINE HRESULT IHTMLDOMNode_QueryInterface(IHTMLDOMNode* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLDOMNode_AddRef(IHTMLDOMNode* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLDOMNode_Release(IHTMLDOMNode* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLDOMNode_GetTypeInfoCount(IHTMLDOMNode* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLDOMNode_GetTypeInfo(IHTMLDOMNode* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDOMNode_get_nodeType(IHTMLDOMNode* This,LONG *p) {
    return This->lpVtbl->get_nodeType(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMNode_get_parentNode(IHTMLDOMNode* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_parentNode(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMNode_hasChildNodes(IHTMLDOMNode* This,VARIANT_BOOL *fChildren) {
    return This->lpVtbl->hasChildNodes(This,fChildren);
}
static FORCEINLINE HRESULT IHTMLDOMNode_get_childNodes(IHTMLDOMNode* This,IDispatch **p) {
    return This->lpVtbl->get_childNodes(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMNode_get_attributes(IHTMLDOMNode* This,IDispatch **p) {
    return This->lpVtbl->get_attributes(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMNode_insertBefore(IHTMLDOMNode* This,IHTMLDOMNode *newChild,VARIANT refChild,IHTMLDOMNode **node) {
    return This->lpVtbl->insertBefore(This,newChild,refChild,node);
}
static FORCEINLINE HRESULT IHTMLDOMNode_removeChild(IHTMLDOMNode* This,IHTMLDOMNode *oldChild,IHTMLDOMNode **node) {
    return This->lpVtbl->removeChild(This,oldChild,node);
}
static FORCEINLINE HRESULT IHTMLDOMNode_replaceChild(IHTMLDOMNode* This,IHTMLDOMNode *newChild,IHTMLDOMNode *oldChild,IHTMLDOMNode **node) {
    return This->lpVtbl->replaceChild(This,newChild,oldChild,node);
}
static FORCEINLINE HRESULT IHTMLDOMNode_cloneNode(IHTMLDOMNode* This,VARIANT_BOOL fDeep,IHTMLDOMNode **clonedNode) {
    return This->lpVtbl->cloneNode(This,fDeep,clonedNode);
}
static FORCEINLINE HRESULT IHTMLDOMNode_removeNode(IHTMLDOMNode* This,VARIANT_BOOL fDeep,IHTMLDOMNode **removed) {
    return This->lpVtbl->removeNode(This,fDeep,removed);
}
static FORCEINLINE HRESULT IHTMLDOMNode_swapNode(IHTMLDOMNode* This,IHTMLDOMNode *otherNode,IHTMLDOMNode **swappedNode) {
    return This->lpVtbl->swapNode(This,otherNode,swappedNode);
}
static FORCEINLINE HRESULT IHTMLDOMNode_replaceNode(IHTMLDOMNode* This,IHTMLDOMNode *replacement,IHTMLDOMNode **replaced) {
    return This->lpVtbl->replaceNode(This,replacement,replaced);
}
static FORCEINLINE HRESULT IHTMLDOMNode_appendChild(IHTMLDOMNode* This,IHTMLDOMNode *newChild,IHTMLDOMNode **node) {
    return This->lpVtbl->appendChild(This,newChild,node);
}
static FORCEINLINE HRESULT IHTMLDOMNode_get_nodeName(IHTMLDOMNode* This,BSTR *p) {
    return This->lpVtbl->get_nodeName(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMNode_put_nodeValue(IHTMLDOMNode* This,VARIANT v) {
    return This->lpVtbl->put_nodeValue(This,v);
}
static FORCEINLINE HRESULT IHTMLDOMNode_get_nodeValue(IHTMLDOMNode* This,VARIANT *p) {
    return This->lpVtbl->get_nodeValue(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMNode_get_firstChild(IHTMLDOMNode* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_firstChild(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMNode_get_lastChild(IHTMLDOMNode* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_lastChild(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMNode_get_previousSibling(IHTMLDOMNode* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_previousSibling(This,p);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDOMNode2_QueryInterface(IHTMLDOMNode2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLDOMNode2_AddRef(IHTMLDOMNode2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLDOMNode2_Release(IHTMLDOMNode2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLDOMNode2_GetTypeInfoCount(IHTMLDOMNode2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLDOMNode2_GetTypeInfo(IHTMLDOMNode2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDOMNode3_QueryInterface(IHTMLDOMNode3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLDOMNode3_AddRef(IHTMLDOMNode3* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLDOMNode3_Release(IHTMLDOMNode3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLDOMNode3_GetTypeInfoCount(IHTMLDOMNode3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLDOMNode3_GetTypeInfo(IHTMLDOMNode3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDOMNode3_put_prefix(IHTMLDOMNode3* This,VARIANT v) {
    return This->lpVtbl->put_prefix(This,v);
}
static FORCEINLINE HRESULT IHTMLDOMNode3_get_prefix(IHTMLDOMNode3* This,VARIANT *p) {
    return This->lpVtbl->get_prefix(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMNode3_get_localName(IHTMLDOMNode3* This,VARIANT *p) {
    return This->lpVtbl->get_localName(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMNode3_get_namespaceURI(IHTMLDOMNode3* This,VARIANT *p) {
    return This->lpVtbl->get_namespaceURI(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMNode3_put_textContent(IHTMLDOMNode3* This,VARIANT v) {
    return This->lpVtbl->put_textContent(This,v);
}
static FORCEINLINE HRESULT IHTMLDOMNode3_get_textContent(IHTMLDOMNode3* This,VARIANT *p) {
    return This->lpVtbl->get_textContent(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMNode3_isEqualNode(IHTMLDOMNode3* This,IHTMLDOMNode3 *otherNode,VARIANT_BOOL *isEqual) {
    return This->lpVtbl->isEqualNode(This,otherNode,isEqual);
}
static FORCEINLINE HRESULT IHTMLDOMNode3_lookupNamespaceURI(IHTMLDOMNode3* This,VARIANT *pvarPrefix,VARIANT *pvarNamespaceURI) {
    return This->lpVtbl->lookupNamespaceURI(This,pvarPrefix,pvarNamespaceURI);
}
static FORCEINLINE HRESULT IHTMLDOMNode3_lookupPrefix(IHTMLDOMNode3* This,VARIANT *pvarNamespaceURI,VARIANT *pvarPrefix) {
    return This->lpVtbl->lookupPrefix(This,pvarNamespaceURI,pvarPrefix);
}
static FORCEINLINE HRESULT IHTMLDOMNode3_isDefaultNamespace(IHTMLDOMNode3* This,VARIANT *pvarNamespace,VARIANT_BOOL *pfDefaultNamespace) {
    return This->lpVtbl->isDefaultNamespace(This,pvarNamespace,pfDefaultNamespace);
}
static FORCEINLINE HRESULT IHTMLDOMNode3_appendChild(IHTMLDOMNode3* This,IHTMLDOMNode *newChild,IHTMLDOMNode **node) {
    return This->lpVtbl->appendChild(This,newChild,node);
}
static FORCEINLINE HRESULT IHTMLDOMNode3_insertBefore(IHTMLDOMNode3* This,IHTMLDOMNode *newChild,VARIANT refChild,IHTMLDOMNode **node) {
    return This->lpVtbl->insertBefore(This,newChild,refChild,node);
}
static FORCEINLINE HRESULT IHTMLDOMNode3_removeChild(IHTMLDOMNode3* This,IHTMLDOMNode *oldChild,IHTMLDOMNode **node) {
    return This->lpVtbl->removeChild(This,oldChild,node);
}
static FORCEINLINE HRESULT IHTMLDOMNode3_replaceChild(IHTMLDOMNode3* This,IHTMLDOMNode *newChild,IHTMLDOMNode *oldChild,IHTMLDOMNode **node) {
    return This->lpVtbl->replaceChild(This,newChild,oldChild,node);
}
static FORCEINLINE HRESULT IHTMLDOMNode3_isSameNode(IHTMLDOMNode3* This,IHTMLDOMNode3 *otherNode,VARIANT_BOOL *isSame) {
    return This->lpVtbl->isSameNode(This,otherNode,isSame);
}
static FORCEINLINE HRESULT IHTMLDOMNode3_compareDocumentPosition(IHTMLDOMNode3* This,IHTMLDOMNode *otherNode,USHORT *flags) {
    return This->lpVtbl->compareDocumentPosition(This,otherNode,flags);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDOMAttribute_QueryInterface(IHTMLDOMAttribute* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLDOMAttribute_AddRef(IHTMLDOMAttribute* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLDOMAttribute_Release(IHTMLDOMAttribute* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLDOMAttribute_GetTypeInfoCount(IHTMLDOMAttribute* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLDOMAttribute_GetTypeInfo(IHTMLDOMAttribute* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDOMAttribute_get_nodeName(IHTMLDOMAttribute* This,BSTR *p) {
    return This->lpVtbl->get_nodeName(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMAttribute_put_nodeValue(IHTMLDOMAttribute* This,VARIANT v) {
    return This->lpVtbl->put_nodeValue(This,v);
}
static FORCEINLINE HRESULT IHTMLDOMAttribute_get_nodeValue(IHTMLDOMAttribute* This,VARIANT *p) {
    return This->lpVtbl->get_nodeValue(This,p);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDOMAttribute2_QueryInterface(IHTMLDOMAttribute2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLDOMAttribute2_AddRef(IHTMLDOMAttribute2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLDOMAttribute2_Release(IHTMLDOMAttribute2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLDOMAttribute2_GetTypeInfoCount(IHTMLDOMAttribute2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLDOMAttribute2_GetTypeInfo(IHTMLDOMAttribute2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDOMAttribute2_get_name(IHTMLDOMAttribute2* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMAttribute2_put_value(IHTMLDOMAttribute2* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static FORCEINLINE HRESULT IHTMLDOMAttribute2_get_value(IHTMLDOMAttribute2* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMAttribute2_get_expando(IHTMLDOMAttribute2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_expando(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMAttribute2_get_nodeType(IHTMLDOMAttribute2* This,LONG *p) {
    return This->lpVtbl->get_nodeType(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMAttribute2_get_parentNode(IHTMLDOMAttribute2* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_parentNode(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMAttribute2_get_childNodes(IHTMLDOMAttribute2* This,IDispatch **p) {
    return This->lpVtbl->get_childNodes(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMAttribute2_get_firstChild(IHTMLDOMAttribute2* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_firstChild(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMAttribute2_get_lastChild(IHTMLDOMAttribute2* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_lastChild(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMAttribute2_get_previousSibling(IHTMLDOMAttribute2* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_previousSibling(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMAttribute2_get_nextSibling(IHTMLDOMAttribute2* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_nextSibling(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMAttribute2_get_attributes(IHTMLDOMAttribute2* This,IDispatch **p) {
    return This->lpVtbl->get_attributes(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMAttribute2_get_ownerDocument(IHTMLDOMAttribute2* This,IDispatch **p) {
    return This->lpVtbl->get_ownerDocument(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMAttribute2_insertBefore(IHTMLDOMAttribute2* This,IHTMLDOMNode *newChild,VARIANT refChild,IHTMLDOMNode **node) {
    return This->lpVtbl->insertBefore(This,newChild,refChild,node);
}
static FORCEINLINE HRESULT IHTMLDOMAttribute2_replaceChild(IHTMLDOMAttribute2* This,IHTMLDOMNode *newChild,IHTMLDOMNode *oldChild,IHTMLDOMNode **node) {
    return This->lpVtbl->replaceChild(This,newChild,oldChild,node);
}
static FORCEINLINE HRESULT IHTMLDOMAttribute2_removeChild(IHTMLDOMAttribute2* This,IHTMLDOMNode *oldChild,IHTMLDOMNode **node) {
    return This->lpVtbl->removeChild(This,oldChild,node);
}
static FORCEINLINE HRESULT IHTMLDOMAttribute2_appendChild(IHTMLDOMAttribute2* This,IHTMLDOMNode *newChild,IHTMLDOMNode **node) {
    return This->lpVtbl->appendChild(This,newChild,node);
}
static FORCEINLINE HRESULT IHTMLDOMAttribute2_hasChildNodes(IHTMLDOMAttribute2* This,VARIANT_BOOL *fChildren) {
    return This->lpVtbl->hasChildNodes(This,fChildren);
}
static FORCEINLINE HRESULT IHTMLDOMAttribute2_cloneNode(IHTMLDOMAttribute2* This,VARIANT_BOOL fDeep,IHTMLDOMAttribute **clonedNode) {
    return This->lpVtbl->cloneNode(This,fDeep,clonedNode);
}
#endif
#endif

#endif


#endif  /* __IHTMLDOMAttribute2_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 FORCEINLINE HRESULT IHTMLDOMTextNode_QueryInterface(IHTMLDOMTextNode* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLDOMTextNode_AddRef(IHTMLDOMTextNode* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLDOMTextNode_Release(IHTMLDOMTextNode* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLDOMTextNode_GetTypeInfoCount(IHTMLDOMTextNode* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLDOMTextNode_GetTypeInfo(IHTMLDOMTextNode* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDOMTextNode_put_data(IHTMLDOMTextNode* This,BSTR v) {
    return This->lpVtbl->put_data(This,v);
}
static FORCEINLINE HRESULT IHTMLDOMTextNode_get_data(IHTMLDOMTextNode* This,BSTR *p) {
    return This->lpVtbl->get_data(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMTextNode_toString(IHTMLDOMTextNode* This,BSTR *String) {
    return This->lpVtbl->toString(This,String);
}
static FORCEINLINE HRESULT IHTMLDOMTextNode_get_length(IHTMLDOMTextNode* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDOMTextNode2_QueryInterface(IHTMLDOMTextNode2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLDOMTextNode2_AddRef(IHTMLDOMTextNode2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLDOMTextNode2_Release(IHTMLDOMTextNode2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLDOMTextNode2_GetTypeInfoCount(IHTMLDOMTextNode2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLDOMTextNode2_GetTypeInfo(IHTMLDOMTextNode2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDOMTextNode2_substringData(IHTMLDOMTextNode2* This,LONG offset,LONG Count,BSTR *pbstrsubString) {
    return This->lpVtbl->substringData(This,offset,Count,pbstrsubString);
}
static FORCEINLINE HRESULT IHTMLDOMTextNode2_appendData(IHTMLDOMTextNode2* This,BSTR bstrstring) {
    return This->lpVtbl->appendData(This,bstrstring);
}
static FORCEINLINE HRESULT IHTMLDOMTextNode2_insertData(IHTMLDOMTextNode2* This,LONG offset,BSTR bstrstring) {
    return This->lpVtbl->insertData(This,offset,bstrstring);
}
static FORCEINLINE HRESULT IHTMLDOMTextNode2_deleteData(IHTMLDOMTextNode2* This,LONG offset,LONG Count) {
    return This->lpVtbl->deleteData(This,offset,Count);
}
static FORCEINLINE 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__ */

/*****************************************************************************
 * 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLDOMImplementation_QueryInterface(IHTMLDOMImplementation* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLDOMImplementation_AddRef(IHTMLDOMImplementation* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLDOMImplementation_Release(IHTMLDOMImplementation* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLDOMImplementation_GetTypeInfoCount(IHTMLDOMImplementation* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLDOMImplementation_GetTypeInfo(IHTMLDOMImplementation* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT DispHTMLDOMAttribute_QueryInterface(DispHTMLDOMAttribute* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLDOMAttribute_AddRef(DispHTMLDOMAttribute* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLDOMAttribute_Release(DispHTMLDOMAttribute* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLDOMAttribute_GetTypeInfoCount(DispHTMLDOMAttribute* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLDOMAttribute_GetTypeInfo(DispHTMLDOMAttribute* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLDocumentCompatibleInfo_QueryInterface(IHTMLDocumentCompatibleInfo* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLDocumentCompatibleInfo_AddRef(IHTMLDocumentCompatibleInfo* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLDocumentCompatibleInfo_Release(IHTMLDocumentCompatibleInfo* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLDocumentCompatibleInfo_GetTypeInfoCount(IHTMLDocumentCompatibleInfo* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLDocumentCompatibleInfo_GetTypeInfo(IHTMLDocumentCompatibleInfo* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDocumentCompatibleInfo_get_userAgent(IHTMLDocumentCompatibleInfo* This,BSTR *p) {
    return This->lpVtbl->get_userAgent(This,p);
}
static FORCEINLINE 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 i,
        IHTMLDocumentCompatibleInfo **p) = 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 i,
        IHTMLDocumentCompatibleInfo **p);

    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,i,p) (This)->lpVtbl->item(This,i,p)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IHTMLDocumentCompatibleInfoCollection_QueryInterface(IHTMLDocumentCompatibleInfoCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLDocumentCompatibleInfoCollection_AddRef(IHTMLDocumentCompatibleInfoCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLDocumentCompatibleInfoCollection_Release(IHTMLDocumentCompatibleInfoCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLDocumentCompatibleInfoCollection_GetTypeInfoCount(IHTMLDocumentCompatibleInfoCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLDocumentCompatibleInfoCollection_GetTypeInfo(IHTMLDocumentCompatibleInfoCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDocumentCompatibleInfoCollection_get_length(IHTMLDocumentCompatibleInfoCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static FORCEINLINE HRESULT IHTMLDocumentCompatibleInfoCollection_item(IHTMLDocumentCompatibleInfoCollection* This,LONG i,IHTMLDocumentCompatibleInfo **p) {
    return This->lpVtbl->item(This,i,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLDocumentCompatibleInfoCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT DispHTMLDOMTextNode_QueryInterface(DispHTMLDOMTextNode* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLDOMTextNode_AddRef(DispHTMLDOMTextNode* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLDOMTextNode_Release(DispHTMLDOMTextNode* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLDOMTextNode_GetTypeInfoCount(DispHTMLDOMTextNode* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLDOMTextNode_GetTypeInfo(DispHTMLDOMTextNode* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLAttributeCollection_QueryInterface(IHTMLAttributeCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLAttributeCollection_AddRef(IHTMLAttributeCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLAttributeCollection_Release(IHTMLAttributeCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLAttributeCollection_GetTypeInfoCount(IHTMLAttributeCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLAttributeCollection_GetTypeInfo(IHTMLAttributeCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLAttributeCollection_get_length(IHTMLAttributeCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static FORCEINLINE HRESULT IHTMLAttributeCollection_get__newEnum(IHTMLAttributeCollection* This,IUnknown **p) {
    return This->lpVtbl->get__newEnum(This,p);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLAttributeCollection2_QueryInterface(IHTMLAttributeCollection2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLAttributeCollection2_AddRef(IHTMLAttributeCollection2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLAttributeCollection2_Release(IHTMLAttributeCollection2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLAttributeCollection2_GetTypeInfoCount(IHTMLAttributeCollection2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLAttributeCollection2_GetTypeInfo(IHTMLAttributeCollection2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLAttributeCollection2_getNamedItem(IHTMLAttributeCollection2* This,BSTR bstrName,IHTMLDOMAttribute **newretNode) {
    return This->lpVtbl->getNamedItem(This,bstrName,newretNode);
}
static FORCEINLINE HRESULT IHTMLAttributeCollection2_setNamedItem(IHTMLAttributeCollection2* This,IHTMLDOMAttribute *ppNode,IHTMLDOMAttribute **newretNode) {
    return This->lpVtbl->setNamedItem(This,ppNode,newretNode);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLAttributeCollection3_QueryInterface(IHTMLAttributeCollection3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLAttributeCollection3_AddRef(IHTMLAttributeCollection3* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLAttributeCollection3_Release(IHTMLAttributeCollection3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLAttributeCollection3_GetTypeInfoCount(IHTMLAttributeCollection3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLAttributeCollection3_GetTypeInfo(IHTMLAttributeCollection3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLAttributeCollection3_getNamedItem(IHTMLAttributeCollection3* This,BSTR bstrName,IHTMLDOMAttribute **ppNodeOut) {
    return This->lpVtbl->getNamedItem(This,bstrName,ppNodeOut);
}
static FORCEINLINE HRESULT IHTMLAttributeCollection3_setNamedItem(IHTMLAttributeCollection3* This,IHTMLDOMAttribute *pNodeIn,IHTMLDOMAttribute **ppNodeOut) {
    return This->lpVtbl->setNamedItem(This,pNodeIn,ppNodeOut);
}
static FORCEINLINE HRESULT IHTMLAttributeCollection3_removeNamedItem(IHTMLAttributeCollection3* This,BSTR bstrName,IHTMLDOMAttribute **ppNodeOut) {
    return This->lpVtbl->removeNamedItem(This,bstrName,ppNodeOut);
}
static FORCEINLINE HRESULT IHTMLAttributeCollection3_item(IHTMLAttributeCollection3* This,LONG index,IHTMLDOMAttribute **ppNodeOut) {
    return This->lpVtbl->item(This,index,ppNodeOut);
}
static FORCEINLINE HRESULT IHTMLAttributeCollection3_get_length(IHTMLAttributeCollection3* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLAttributeCollection3_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 FORCEINLINE HRESULT DispHTMLAttributeCollection_QueryInterface(DispHTMLAttributeCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLAttributeCollection_AddRef(DispHTMLAttributeCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLAttributeCollection_Release(DispHTMLAttributeCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLAttributeCollection_GetTypeInfoCount(DispHTMLAttributeCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLAttributeCollection_GetTypeInfo(DispHTMLAttributeCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLDOMChildrenCollection_QueryInterface(IHTMLDOMChildrenCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLDOMChildrenCollection_AddRef(IHTMLDOMChildrenCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLDOMChildrenCollection_Release(IHTMLDOMChildrenCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLDOMChildrenCollection_GetTypeInfoCount(IHTMLDOMChildrenCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLDOMChildrenCollection_GetTypeInfo(IHTMLDOMChildrenCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDOMChildrenCollection_get_length(IHTMLDOMChildrenCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMChildrenCollection_get__newEnum(IHTMLDOMChildrenCollection* This,IUnknown **p) {
    return This->lpVtbl->get__newEnum(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMChildrenCollection_item(IHTMLDOMChildrenCollection* This,LONG index,IDispatch **ppItem) {
    return This->lpVtbl->item(This,index,ppItem);
}
#endif
#endif

#endif


#endif  /* __IHTMLDOMChildrenCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT DispDOMChildrenCollection_QueryInterface(DispDOMChildrenCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispDOMChildrenCollection_AddRef(DispDOMChildrenCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispDOMChildrenCollection_Release(DispDOMChildrenCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispDOMChildrenCollection_GetTypeInfoCount(DispDOMChildrenCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispDOMChildrenCollection_GetTypeInfo(DispDOMChildrenCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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__ */

#ifndef __IHTMLElementCollection_FWD_DEFINED__
#define __IHTMLElementCollection_FWD_DEFINED__
typedef interface IHTMLElementCollection IHTMLElementCollection;
#ifdef __cplusplus
interface IHTMLElementCollection;
#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,
        VARIANT *AttributeValue) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeAttribute(
        BSTR strAttributeName,
        LONG lFlags,
        VARIANT_BOOL *pfSuccess) = 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 FORCEINLINE HRESULT IHTMLElement_QueryInterface(IHTMLElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLElement_AddRef(IHTMLElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLElement_Release(IHTMLElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLElement_GetTypeInfoCount(IHTMLElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLElement_GetTypeInfo(IHTMLElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLElement_setAttribute(IHTMLElement* This,BSTR strAttributeName,VARIANT AttributeValue,LONG lFlags) {
    return This->lpVtbl->setAttribute(This,strAttributeName,AttributeValue,lFlags);
}
static FORCEINLINE HRESULT IHTMLElement_getAttribute(IHTMLElement* This,BSTR strAttributeName,LONG lFlags,VARIANT *AttributeValue) {
    return This->lpVtbl->getAttribute(This,strAttributeName,lFlags,AttributeValue);
}
static FORCEINLINE HRESULT IHTMLElement_removeAttribute(IHTMLElement* This,BSTR strAttributeName,LONG lFlags,VARIANT_BOOL *pfSuccess) {
    return This->lpVtbl->removeAttribute(This,strAttributeName,lFlags,pfSuccess);
}
static FORCEINLINE HRESULT IHTMLElement_put_className(IHTMLElement* This,BSTR v) {
    return This->lpVtbl->put_className(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_className(IHTMLElement* This,BSTR *p) {
    return This->lpVtbl->get_className(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_id(IHTMLElement* This,BSTR v) {
    return This->lpVtbl->put_id(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_id(IHTMLElement* This,BSTR *p) {
    return This->lpVtbl->get_id(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_get_tagName(IHTMLElement* This,BSTR *p) {
    return This->lpVtbl->get_tagName(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_get_parentElement(IHTMLElement* This,IHTMLElement **p) {
    return This->lpVtbl->get_parentElement(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_get_style(IHTMLElement* This,IHTMLStyle **p) {
    return This->lpVtbl->get_style(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_onhelp(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onhelp(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_onhelp(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onhelp(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_onclick(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onclick(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_onclick(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onclick(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_ondblclick(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_ondblclick(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_ondblclick(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_ondblclick(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_onkeydown(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onkeydown(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_onkeydown(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onkeydown(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_onkeyup(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onkeyup(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_onkeyup(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onkeyup(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_onkeypress(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onkeypress(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_onkeypress(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onkeypress(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_onmouseout(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onmouseout(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_onmouseout(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onmouseout(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_onmouseover(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onmouseover(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_onmouseover(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onmouseover(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_onmousemove(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onmousemove(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_onmousemove(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onmousemove(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_onmousedown(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onmousedown(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_onmousedown(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onmousedown(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_onmouseup(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onmouseup(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_onmouseup(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onmouseup(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_get_document(IHTMLElement* This,IDispatch **p) {
    return This->lpVtbl->get_document(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_title(IHTMLElement* This,BSTR v) {
    return This->lpVtbl->put_title(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_title(IHTMLElement* This,BSTR *p) {
    return This->lpVtbl->get_title(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_language(IHTMLElement* This,BSTR v) {
    return This->lpVtbl->put_language(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_language(IHTMLElement* This,BSTR *p) {
    return This->lpVtbl->get_language(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_onselectstart(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onselectstart(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_onselectstart(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onselectstart(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_scrollIntoView(IHTMLElement* This,VARIANT varargStart) {
    return This->lpVtbl->scrollIntoView(This,varargStart);
}
static FORCEINLINE HRESULT IHTMLElement_contains(IHTMLElement* This,IHTMLElement *pChild,VARIANT_BOOL *pfResult) {
    return This->lpVtbl->contains(This,pChild,pfResult);
}
static FORCEINLINE HRESULT IHTMLElement_get_sourceIndex(IHTMLElement* This,LONG *p) {
    return This->lpVtbl->get_sourceIndex(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_get_recordNumber(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_recordNumber(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_lang(IHTMLElement* This,BSTR v) {
    return This->lpVtbl->put_lang(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_lang(IHTMLElement* This,BSTR *p) {
    return This->lpVtbl->get_lang(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_get_offsetLeft(IHTMLElement* This,LONG *p) {
    return This->lpVtbl->get_offsetLeft(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_get_offsetTop(IHTMLElement* This,LONG *p) {
    return This->lpVtbl->get_offsetTop(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_get_offsetWidth(IHTMLElement* This,LONG *p) {
    return This->lpVtbl->get_offsetWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_get_offsetHeight(IHTMLElement* This,LONG *p) {
    return This->lpVtbl->get_offsetHeight(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_get_offsetParent(IHTMLElement* This,IHTMLElement **p) {
    return This->lpVtbl->get_offsetParent(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_innerHTML(IHTMLElement* This,BSTR v) {
    return This->lpVtbl->put_innerHTML(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_innerHTML(IHTMLElement* This,BSTR *p) {
    return This->lpVtbl->get_innerHTML(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_innerText(IHTMLElement* This,BSTR v) {
    return This->lpVtbl->put_innerText(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_innerText(IHTMLElement* This,BSTR *p) {
    return This->lpVtbl->get_innerText(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_outerHTML(IHTMLElement* This,BSTR v) {
    return This->lpVtbl->put_outerHTML(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_outerHTML(IHTMLElement* This,BSTR *p) {
    return This->lpVtbl->get_outerHTML(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_outerText(IHTMLElement* This,BSTR v) {
    return This->lpVtbl->put_outerText(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_outerText(IHTMLElement* This,BSTR *p) {
    return This->lpVtbl->get_outerText(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_insertAdjacentHTML(IHTMLElement* This,BSTR where,BSTR html) {
    return This->lpVtbl->insertAdjacentHTML(This,where,html);
}
static FORCEINLINE HRESULT IHTMLElement_insertAdjacentText(IHTMLElement* This,BSTR where,BSTR text) {
    return This->lpVtbl->insertAdjacentText(This,where,text);
}
static FORCEINLINE HRESULT IHTMLElement_get_parentTextEdit(IHTMLElement* This,IHTMLElement **p) {
    return This->lpVtbl->get_parentTextEdit(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_get_isTextEdit(IHTMLElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_isTextEdit(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_click(IHTMLElement* This) {
    return This->lpVtbl->click(This);
}
static FORCEINLINE HRESULT IHTMLElement_get_filters(IHTMLElement* This,IHTMLFiltersCollection **p) {
    return This->lpVtbl->get_filters(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_ondragstart(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_ondragstart(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_ondragstart(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_ondragstart(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_toString(IHTMLElement* This,BSTR *String) {
    return This->lpVtbl->toString(This,String);
}
static FORCEINLINE HRESULT IHTMLElement_put_onbeforeupdate(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onbeforeupdate(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_onbeforeupdate(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforeupdate(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_onafterupdate(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onafterupdate(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_onafterupdate(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onafterupdate(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_onerrorupdate(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onerrorupdate(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_onerrorupdate(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onerrorupdate(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_onrowexit(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onrowexit(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_onrowexit(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onrowexit(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_onrowenter(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onrowenter(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_onrowenter(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onrowenter(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_ondatasetchanged(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_ondatasetchanged(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_ondatasetchanged(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_ondatasetchanged(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_ondataavailable(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_ondataavailable(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_ondataavailable(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_ondataavailable(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_ondatasetcomplete(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_ondatasetcomplete(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_ondatasetcomplete(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_ondatasetcomplete(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_put_onfilterchange(IHTMLElement* This,VARIANT v) {
    return This->lpVtbl->put_onfilterchange(This,v);
}
static FORCEINLINE HRESULT IHTMLElement_get_onfilterchange(IHTMLElement* This,VARIANT *p) {
    return This->lpVtbl->get_onfilterchange(This,p);
}
static FORCEINLINE HRESULT IHTMLElement_get_children(IHTMLElement* This,IDispatch **p) {
    return This->lpVtbl->get_children(This,p);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLElement2_QueryInterface(IHTMLElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLElement2_AddRef(IHTMLElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLElement2_Release(IHTMLElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLElement2_GetTypeInfoCount(IHTMLElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLElement2_GetTypeInfo(IHTMLElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLElement2_get_scopeName(IHTMLElement2* This,BSTR *p) {
    return This->lpVtbl->get_scopeName(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_setCapture(IHTMLElement2* This,VARIANT_BOOL containerCapture) {
    return This->lpVtbl->setCapture(This,containerCapture);
}
static FORCEINLINE HRESULT IHTMLElement2_releaseCapture(IHTMLElement2* This) {
    return This->lpVtbl->releaseCapture(This);
}
static FORCEINLINE HRESULT IHTMLElement2_put_onlosecapture(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onlosecapture(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_onlosecapture(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onlosecapture(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_componentFromPoint(IHTMLElement2* This,LONG x,LONG y,BSTR *component) {
    return This->lpVtbl->componentFromPoint(This,x,y,component);
}
static FORCEINLINE HRESULT IHTMLElement2_doScroll(IHTMLElement2* This,VARIANT component) {
    return This->lpVtbl->doScroll(This,component);
}
static FORCEINLINE HRESULT IHTMLElement2_put_onscroll(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onscroll(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_onscroll(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onscroll(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_put_ondrag(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_ondrag(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_ondrag(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_ondrag(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_put_ondragend(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_ondragend(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_ondragend(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_ondragend(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_put_ondragenter(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_ondragenter(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_ondragenter(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_ondragenter(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_put_ondragover(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_ondragover(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_ondragover(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_ondragover(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_put_ondragleave(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_ondragleave(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_ondragleave(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_ondragleave(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_put_ondrop(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_ondrop(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_ondrop(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_ondrop(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_put_onbeforecut(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onbeforecut(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_onbeforecut(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforecut(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_put_oncut(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_oncut(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_oncut(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_oncut(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_put_onbeforecopy(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onbeforecopy(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_onbeforecopy(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforecopy(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_put_oncopy(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_oncopy(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_oncopy(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_oncopy(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_put_onbeforepaste(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onbeforepaste(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_onbeforepaste(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforepaste(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_put_onpaste(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onpaste(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_onpaste(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onpaste(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_get_currentStyle(IHTMLElement2* This,IHTMLCurrentStyle **p) {
    return This->lpVtbl->get_currentStyle(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_put_onpropertychange(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onpropertychange(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_onpropertychange(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onpropertychange(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_getClientRects(IHTMLElement2* This,IHTMLRectCollection **pRectCol) {
    return This->lpVtbl->getClientRects(This,pRectCol);
}
static FORCEINLINE HRESULT IHTMLElement2_getBoundingClientRect(IHTMLElement2* This,IHTMLRect **pRect) {
    return This->lpVtbl->getBoundingClientRect(This,pRect);
}
static FORCEINLINE HRESULT IHTMLElement2_setExpression(IHTMLElement2* This,BSTR propname,BSTR expression,BSTR language) {
    return This->lpVtbl->setExpression(This,propname,expression,language);
}
static FORCEINLINE HRESULT IHTMLElement2_getExpression(IHTMLElement2* This,BSTR propname,VARIANT *expression) {
    return This->lpVtbl->getExpression(This,propname,expression);
}
static FORCEINLINE HRESULT IHTMLElement2_removeExpression(IHTMLElement2* This,BSTR propname,VARIANT_BOOL *pfSuccess) {
    return This->lpVtbl->removeExpression(This,propname,pfSuccess);
}
static FORCEINLINE HRESULT IHTMLElement2_put_tabIndex(IHTMLElement2* This,short v) {
    return This->lpVtbl->put_tabIndex(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_tabIndex(IHTMLElement2* This,short *p) {
    return This->lpVtbl->get_tabIndex(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_focus(IHTMLElement2* This) {
    return This->lpVtbl->focus(This);
}
static FORCEINLINE HRESULT IHTMLElement2_put_accessKey(IHTMLElement2* This,BSTR v) {
    return This->lpVtbl->put_accessKey(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_accessKey(IHTMLElement2* This,BSTR *p) {
    return This->lpVtbl->get_accessKey(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_put_onblur(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onblur(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_onblur(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onblur(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_put_onfocus(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onfocus(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_onfocus(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onfocus(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_put_onresize(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onresize(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_onresize(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onresize(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_blur(IHTMLElement2* This) {
    return This->lpVtbl->blur(This);
}
static FORCEINLINE HRESULT IHTMLElement2_addFilter(IHTMLElement2* This,IUnknown *pUnk) {
    return This->lpVtbl->addFilter(This,pUnk);
}
static FORCEINLINE HRESULT IHTMLElement2_removeFilter(IHTMLElement2* This,IUnknown *pUnk) {
    return This->lpVtbl->removeFilter(This,pUnk);
}
static FORCEINLINE HRESULT IHTMLElement2_get_clientHeight(IHTMLElement2* This,LONG *p) {
    return This->lpVtbl->get_clientHeight(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_get_clientWidth(IHTMLElement2* This,LONG *p) {
    return This->lpVtbl->get_clientWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_get_clientTop(IHTMLElement2* This,LONG *p) {
    return This->lpVtbl->get_clientTop(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_get_clientLeft(IHTMLElement2* This,LONG *p) {
    return This->lpVtbl->get_clientLeft(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_attachEvent(IHTMLElement2* This,BSTR event,IDispatch *pDisp,VARIANT_BOOL *pfResult) {
    return This->lpVtbl->attachEvent(This,event,pDisp,pfResult);
}
static FORCEINLINE HRESULT IHTMLElement2_detachEvent(IHTMLElement2* This,BSTR event,IDispatch *pDisp) {
    return This->lpVtbl->detachEvent(This,event,pDisp);
}
static FORCEINLINE HRESULT IHTMLElement2_get_readyState(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_readyState(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_put_onreadystatechange(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onreadystatechange(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_onreadystatechange(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onreadystatechange(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_put_onrowsdelete(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onrowsdelete(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_onrowsdelete(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onrowsdelete(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_put_onrowsinserted(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onrowsinserted(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_onrowsinserted(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onrowsinserted(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_put_oncellchange(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_oncellchange(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_oncellchange(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_oncellchange(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_put_dir(IHTMLElement2* This,BSTR v) {
    return This->lpVtbl->put_dir(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_dir(IHTMLElement2* This,BSTR *p) {
    return This->lpVtbl->get_dir(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_createControlRange(IHTMLElement2* This,IDispatch **range) {
    return This->lpVtbl->createControlRange(This,range);
}
static FORCEINLINE HRESULT IHTMLElement2_get_scrollHeight(IHTMLElement2* This,LONG *p) {
    return This->lpVtbl->get_scrollHeight(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_get_scrollWidth(IHTMLElement2* This,LONG *p) {
    return This->lpVtbl->get_scrollWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_put_scrollTop(IHTMLElement2* This,LONG v) {
    return This->lpVtbl->put_scrollTop(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_scrollTop(IHTMLElement2* This,LONG *p) {
    return This->lpVtbl->get_scrollTop(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_put_scrollLeft(IHTMLElement2* This,LONG v) {
    return This->lpVtbl->put_scrollLeft(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_scrollLeft(IHTMLElement2* This,LONG *p) {
    return This->lpVtbl->get_scrollLeft(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_clearAttributes(IHTMLElement2* This) {
    return This->lpVtbl->clearAttributes(This);
}
static FORCEINLINE HRESULT IHTMLElement2_mergeAttributes(IHTMLElement2* This,IHTMLElement *mergeThis) {
    return This->lpVtbl->mergeAttributes(This,mergeThis);
}
static FORCEINLINE HRESULT IHTMLElement2_put_oncontextmenu(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_oncontextmenu(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_oncontextmenu(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_oncontextmenu(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_insertAdjacentElement(IHTMLElement2* This,BSTR where,IHTMLElement *insertedElement,IHTMLElement **inserted) {
    return This->lpVtbl->insertAdjacentElement(This,where,insertedElement,inserted);
}
static FORCEINLINE HRESULT IHTMLElement2_applyElement(IHTMLElement2* This,IHTMLElement *apply,BSTR where,IHTMLElement **applied) {
    return This->lpVtbl->applyElement(This,apply,where,applied);
}
static FORCEINLINE HRESULT IHTMLElement2_getAdjacentText(IHTMLElement2* This,BSTR where,BSTR *text) {
    return This->lpVtbl->getAdjacentText(This,where,text);
}
static FORCEINLINE HRESULT IHTMLElement2_replaceAdjacentText(IHTMLElement2* This,BSTR where,BSTR newText,BSTR *oldText) {
    return This->lpVtbl->replaceAdjacentText(This,where,newText,oldText);
}
static FORCEINLINE HRESULT IHTMLElement2_get_canHaveChildren(IHTMLElement2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_canHaveChildren(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_addBehavior(IHTMLElement2* This,BSTR bstrUrl,VARIANT *pvarFactory,LONG *pCookie) {
    return This->lpVtbl->addBehavior(This,bstrUrl,pvarFactory,pCookie);
}
static FORCEINLINE HRESULT IHTMLElement2_removeBehavior(IHTMLElement2* This,LONG cookie,VARIANT_BOOL *pfResult) {
    return This->lpVtbl->removeBehavior(This,cookie,pfResult);
}
static FORCEINLINE HRESULT IHTMLElement2_get_runtimeStyle(IHTMLElement2* This,IHTMLStyle **p) {
    return This->lpVtbl->get_runtimeStyle(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_get_behaviorUrns(IHTMLElement2* This,IDispatch **p) {
    return This->lpVtbl->get_behaviorUrns(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_put_tagUrn(IHTMLElement2* This,BSTR v) {
    return This->lpVtbl->put_tagUrn(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_tagUrn(IHTMLElement2* This,BSTR *p) {
    return This->lpVtbl->get_tagUrn(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_put_onbeforeeditfocus(IHTMLElement2* This,VARIANT v) {
    return This->lpVtbl->put_onbeforeeditfocus(This,v);
}
static FORCEINLINE HRESULT IHTMLElement2_get_onbeforeeditfocus(IHTMLElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforeeditfocus(This,p);
}
static FORCEINLINE HRESULT IHTMLElement2_get_readyStateValue(IHTMLElement2* This,LONG *p) {
    return This->lpVtbl->get_readyStateValue(This,p);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLElement3_QueryInterface(IHTMLElement3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLElement3_AddRef(IHTMLElement3* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLElement3_Release(IHTMLElement3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLElement3_GetTypeInfoCount(IHTMLElement3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLElement3_GetTypeInfo(IHTMLElement3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLElement3_mergeAttributes(IHTMLElement3* This,IHTMLElement *mergeThis,VARIANT *pvarFlags) {
    return This->lpVtbl->mergeAttributes(This,mergeThis,pvarFlags);
}
static FORCEINLINE HRESULT IHTMLElement3_get_isMultiLine(IHTMLElement3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_isMultiLine(This,p);
}
static FORCEINLINE HRESULT IHTMLElement3_get_canHaveHTML(IHTMLElement3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_canHaveHTML(This,p);
}
static FORCEINLINE HRESULT IHTMLElement3_put_onlayoutcomplete(IHTMLElement3* This,VARIANT v) {
    return This->lpVtbl->put_onlayoutcomplete(This,v);
}
static FORCEINLINE HRESULT IHTMLElement3_get_onlayoutcomplete(IHTMLElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onlayoutcomplete(This,p);
}
static FORCEINLINE HRESULT IHTMLElement3_put_onpage(IHTMLElement3* This,VARIANT v) {
    return This->lpVtbl->put_onpage(This,v);
}
static FORCEINLINE HRESULT IHTMLElement3_get_onpage(IHTMLElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onpage(This,p);
}
static FORCEINLINE HRESULT IHTMLElement3_put_inflateBlock(IHTMLElement3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_inflateBlock(This,v);
}
static FORCEINLINE HRESULT IHTMLElement3_get_inflateBlock(IHTMLElement3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_inflateBlock(This,p);
}
static FORCEINLINE HRESULT IHTMLElement3_put_onbeforedeactivate(IHTMLElement3* This,VARIANT v) {
    return This->lpVtbl->put_onbeforedeactivate(This,v);
}
static FORCEINLINE HRESULT IHTMLElement3_get_onbeforedeactivate(IHTMLElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforedeactivate(This,p);
}
static FORCEINLINE HRESULT IHTMLElement3_setActive(IHTMLElement3* This) {
    return This->lpVtbl->setActive(This);
}
static FORCEINLINE HRESULT IHTMLElement3_put_contentEditable(IHTMLElement3* This,BSTR v) {
    return This->lpVtbl->put_contentEditable(This,v);
}
static FORCEINLINE HRESULT IHTMLElement3_get_contentEditable(IHTMLElement3* This,BSTR *p) {
    return This->lpVtbl->get_contentEditable(This,p);
}
static FORCEINLINE HRESULT IHTMLElement3_get_isContentEditable(IHTMLElement3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_isContentEditable(This,p);
}
static FORCEINLINE HRESULT IHTMLElement3_put_hideFocus(IHTMLElement3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_hideFocus(This,v);
}
static FORCEINLINE HRESULT IHTMLElement3_get_hideFocus(IHTMLElement3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_hideFocus(This,p);
}
static FORCEINLINE HRESULT IHTMLElement3_put_disabled(IHTMLElement3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_disabled(This,v);
}
static FORCEINLINE HRESULT IHTMLElement3_get_disabled(IHTMLElement3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_disabled(This,p);
}
static FORCEINLINE HRESULT IHTMLElement3_get_isDisabled(IHTMLElement3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_isDisabled(This,p);
}
static FORCEINLINE HRESULT IHTMLElement3_put_onmove(IHTMLElement3* This,VARIANT v) {
    return This->lpVtbl->put_onmove(This,v);
}
static FORCEINLINE HRESULT IHTMLElement3_get_onmove(IHTMLElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onmove(This,p);
}
static FORCEINLINE HRESULT IHTMLElement3_put_oncontrolselect(IHTMLElement3* This,VARIANT v) {
    return This->lpVtbl->put_oncontrolselect(This,v);
}
static FORCEINLINE HRESULT IHTMLElement3_get_oncontrolselect(IHTMLElement3* This,VARIANT *p) {
    return This->lpVtbl->get_oncontrolselect(This,p);
}
static FORCEINLINE HRESULT IHTMLElement3_fireEvent(IHTMLElement3* This,BSTR bstrEventName,VARIANT *pvarEventObject,VARIANT_BOOL *pfCancelled) {
    return This->lpVtbl->fireEvent(This,bstrEventName,pvarEventObject,pfCancelled);
}
static FORCEINLINE HRESULT IHTMLElement3_put_onresizestart(IHTMLElement3* This,VARIANT v) {
    return This->lpVtbl->put_onresizestart(This,v);
}
static FORCEINLINE HRESULT IHTMLElement3_get_onresizestart(IHTMLElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onresizestart(This,p);
}
static FORCEINLINE HRESULT IHTMLElement3_put_onresizeend(IHTMLElement3* This,VARIANT v) {
    return This->lpVtbl->put_onresizeend(This,v);
}
static FORCEINLINE HRESULT IHTMLElement3_get_onresizeend(IHTMLElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onresizeend(This,p);
}
static FORCEINLINE HRESULT IHTMLElement3_put_onmovestart(IHTMLElement3* This,VARIANT v) {
    return This->lpVtbl->put_onmovestart(This,v);
}
static FORCEINLINE HRESULT IHTMLElement3_get_onmovestart(IHTMLElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onmovestart(This,p);
}
static FORCEINLINE HRESULT IHTMLElement3_put_onmoveend(IHTMLElement3* This,VARIANT v) {
    return This->lpVtbl->put_onmoveend(This,v);
}
static FORCEINLINE HRESULT IHTMLElement3_get_onmoveend(IHTMLElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onmoveend(This,p);
}
static FORCEINLINE HRESULT IHTMLElement3_put_onmouseenter(IHTMLElement3* This,VARIANT v) {
    return This->lpVtbl->put_onmouseenter(This,v);
}
static FORCEINLINE HRESULT IHTMLElement3_get_onmouseenter(IHTMLElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onmouseenter(This,p);
}
static FORCEINLINE HRESULT IHTMLElement3_put_onmouseleave(IHTMLElement3* This,VARIANT v) {
    return This->lpVtbl->put_onmouseleave(This,v);
}
static FORCEINLINE HRESULT IHTMLElement3_get_onmouseleave(IHTMLElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onmouseleave(This,p);
}
static FORCEINLINE HRESULT IHTMLElement3_put_onactivate(IHTMLElement3* This,VARIANT v) {
    return This->lpVtbl->put_onactivate(This,v);
}
static FORCEINLINE HRESULT IHTMLElement3_get_onactivate(IHTMLElement3* This,VARIANT *p) {
    return This->lpVtbl->get_onactivate(This,p);
}
static FORCEINLINE HRESULT IHTMLElement3_put_ondeactivate(IHTMLElement3* This,VARIANT v) {
    return This->lpVtbl->put_ondeactivate(This,v);
}
static FORCEINLINE HRESULT IHTMLElement3_get_ondeactivate(IHTMLElement3* This,VARIANT *p) {
    return This->lpVtbl->get_ondeactivate(This,p);
}
static FORCEINLINE HRESULT IHTMLElement3_dragDrop(IHTMLElement3* This,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->dragDrop(This,pfRet);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLElement4_QueryInterface(IHTMLElement4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLElement4_AddRef(IHTMLElement4* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLElement4_Release(IHTMLElement4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLElement4_GetTypeInfoCount(IHTMLElement4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLElement4_GetTypeInfo(IHTMLElement4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLElement4_put_onmousewheel(IHTMLElement4* This,VARIANT v) {
    return This->lpVtbl->put_onmousewheel(This,v);
}
static FORCEINLINE HRESULT IHTMLElement4_get_onmousewheel(IHTMLElement4* This,VARIANT *p) {
    return This->lpVtbl->get_onmousewheel(This,p);
}
static FORCEINLINE HRESULT IHTMLElement4_normalize(IHTMLElement4* This) {
    return This->lpVtbl->normalize(This);
}
static FORCEINLINE HRESULT IHTMLElement4_getAttributeNode(IHTMLElement4* This,BSTR bstrname,IHTMLDOMAttribute **ppAttribute) {
    return This->lpVtbl->getAttributeNode(This,bstrname,ppAttribute);
}
static FORCEINLINE HRESULT IHTMLElement4_setAttributeNode(IHTMLElement4* This,IHTMLDOMAttribute *pattr,IHTMLDOMAttribute **ppretAttribute) {
    return This->lpVtbl->setAttributeNode(This,pattr,ppretAttribute);
}
static FORCEINLINE HRESULT IHTMLElement4_removeAttributeNode(IHTMLElement4* This,IHTMLDOMAttribute *pattr,IHTMLDOMAttribute **ppretAttribute) {
    return This->lpVtbl->removeAttributeNode(This,pattr,ppretAttribute);
}
static FORCEINLINE HRESULT IHTMLElement4_put_onbeforeactivate(IHTMLElement4* This,VARIANT v) {
    return This->lpVtbl->put_onbeforeactivate(This,v);
}
static FORCEINLINE HRESULT IHTMLElement4_get_onbeforeactivate(IHTMLElement4* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforeactivate(This,p);
}
static FORCEINLINE HRESULT IHTMLElement4_put_onfocusin(IHTMLElement4* This,VARIANT v) {
    return This->lpVtbl->put_onfocusin(This,v);
}
static FORCEINLINE HRESULT IHTMLElement4_get_onfocusin(IHTMLElement4* This,VARIANT *p) {
    return This->lpVtbl->get_onfocusin(This,p);
}
static FORCEINLINE HRESULT IHTMLElement4_put_onfocusout(IHTMLElement4* This,VARIANT v) {
    return This->lpVtbl->put_onfocusout(This,v);
}
static FORCEINLINE HRESULT IHTMLElement4_get_onfocusout(IHTMLElement4* This,VARIANT *p) {
    return This->lpVtbl->get_onfocusout(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLElement4_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 FORCEINLINE HRESULT IHTMLElement6_QueryInterface(IHTMLElement6* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLElement6_AddRef(IHTMLElement6* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLElement6_Release(IHTMLElement6* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLElement6_GetTypeInfoCount(IHTMLElement6* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLElement6_GetTypeInfo(IHTMLElement6* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLElement6_getAttributeNS(IHTMLElement6* This,VARIANT *pvarNS,BSTR strAttributeName,VARIANT *AttributeValue) {
    return This->lpVtbl->getAttributeNS(This,pvarNS,strAttributeName,AttributeValue);
}
static FORCEINLINE HRESULT IHTMLElement6_setAttributeNS(IHTMLElement6* This,VARIANT *pvarNS,BSTR strAttributeName,VARIANT *pvarAttributeValue) {
    return This->lpVtbl->setAttributeNS(This,pvarNS,strAttributeName,pvarAttributeValue);
}
static FORCEINLINE HRESULT IHTMLElement6_removeAttributeNS(IHTMLElement6* This,VARIANT *pvarNS,BSTR strAttributeName) {
    return This->lpVtbl->removeAttributeNS(This,pvarNS,strAttributeName);
}
static FORCEINLINE HRESULT IHTMLElement6_getAttributeNodeNS(IHTMLElement6* This,VARIANT *pvarNS,BSTR bstrname,IHTMLDOMAttribute2 **ppretAttribute) {
    return This->lpVtbl->getAttributeNodeNS(This,pvarNS,bstrname,ppretAttribute);
}
static FORCEINLINE HRESULT IHTMLElement6_setAttributeNodeNS(IHTMLElement6* This,IHTMLDOMAttribute2 *pattr,IHTMLDOMAttribute2 **ppretAttribute) {
    return This->lpVtbl->setAttributeNodeNS(This,pattr,ppretAttribute);
}
static FORCEINLINE HRESULT IHTMLElement6_hasAttributeNS(IHTMLElement6* This,VARIANT *pvarNS,BSTR name,VARIANT_BOOL *pfHasAttribute) {
    return This->lpVtbl->hasAttributeNS(This,pvarNS,name,pfHasAttribute);
}
static FORCEINLINE HRESULT IHTMLElement6_getAttribute(IHTMLElement6* This,BSTR strAttributeName,VARIANT *AttributeValue) {
    return This->lpVtbl->getAttribute(This,strAttributeName,AttributeValue);
}
static FORCEINLINE HRESULT IHTMLElement6_setAttribute(IHTMLElement6* This,BSTR strAttributeName,VARIANT *pvarAttributeValue) {
    return This->lpVtbl->setAttribute(This,strAttributeName,pvarAttributeValue);
}
static FORCEINLINE HRESULT IHTMLElement6_removeAttribute(IHTMLElement6* This,BSTR strAttributeName) {
    return This->lpVtbl->removeAttribute(This,strAttributeName);
}
static FORCEINLINE HRESULT IHTMLElement6_getAttributeNode(IHTMLElement6* This,BSTR strAttributeName,IHTMLDOMAttribute2 **ppretAttribute) {
    return This->lpVtbl->getAttributeNode(This,strAttributeName,ppretAttribute);
}
static FORCEINLINE HRESULT IHTMLElement6_setAttributeNode(IHTMLElement6* This,IHTMLDOMAttribute2 *pattr,IHTMLDOMAttribute2 **ppretAttribute) {
    return This->lpVtbl->setAttributeNode(This,pattr,ppretAttribute);
}
static FORCEINLINE HRESULT IHTMLElement6_removeAttributeNode(IHTMLElement6* This,IHTMLDOMAttribute2 *pattr,IHTMLDOMAttribute2 **ppretAttribute) {
    return This->lpVtbl->removeAttributeNode(This,pattr,ppretAttribute);
}
static FORCEINLINE HRESULT IHTMLElement6_hasAttribute(IHTMLElement6* This,BSTR name,VARIANT_BOOL *pfHasAttribute) {
    return This->lpVtbl->hasAttribute(This,name,pfHasAttribute);
}
static FORCEINLINE HRESULT IHTMLElement6_getElementsByTagNameNS(IHTMLElement6* This,VARIANT *varNS,BSTR bstrLocalName,IHTMLElementCollection **pelColl) {
    return This->lpVtbl->getElementsByTagNameNS(This,varNS,bstrLocalName,pelColl);
}
static FORCEINLINE HRESULT IHTMLElement6_get_tagName(IHTMLElement6* This,BSTR *p) {
    return This->lpVtbl->get_tagName(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_get_nodeName(IHTMLElement6* This,BSTR *p) {
    return This->lpVtbl->get_nodeName(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_getElementsByClassName(IHTMLElement6* This,BSTR v,IHTMLElementCollection **pel) {
    return This->lpVtbl->getElementsByClassName(This,v,pel);
}
static FORCEINLINE HRESULT IHTMLElement6_msMatchesSelector(IHTMLElement6* This,BSTR v,VARIANT_BOOL *pfMatches) {
    return This->lpVtbl->msMatchesSelector(This,v,pfMatches);
}
static FORCEINLINE HRESULT IHTMLElement6_put_onabort(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onabort(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_onabort(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onabort(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_oncanplay(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_oncanplay(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_oncanplay(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_oncanplay(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_oncanplaythrough(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_oncanplaythrough(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_oncanplaythrough(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_oncanplaythrough(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_onchange(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onchange(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_onchange(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onchange(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_ondurationchange(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_ondurationchange(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_ondurationchange(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_ondurationchange(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_onemptied(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onemptied(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_onemptied(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onemptied(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_onended(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onended(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_onended(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onended(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_onerror(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onerror(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_onerror(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onerror(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_oninput(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_oninput(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_oninput(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_oninput(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_onload(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onload(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_onload(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onload(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_onloadeddata(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onloadeddata(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_onloadeddata(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onloadeddata(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_onloadedmetadata(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onloadedmetadata(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_onloadedmetadata(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onloadedmetadata(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_onloadstart(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onloadstart(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_onloadstart(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onloadstart(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_onpause(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onpause(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_onpause(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onpause(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_onplay(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onplay(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_onplay(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onplay(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_onplaying(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onplaying(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_onplaying(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onplaying(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_onprogress(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onprogress(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_onprogress(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onprogress(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_onratechange(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onratechange(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_onratechange(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onratechange(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_onreset(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onreset(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_onreset(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onreset(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_onseeked(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onseeked(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_onseeked(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onseeked(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_onseeking(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onseeking(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_onseeking(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onseeking(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_onselect(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onselect(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_onselect(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onselect(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_onstalled(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onstalled(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_onstalled(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onstalled(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_onsubmit(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onsubmit(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_onsubmit(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onsubmit(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_onsuspend(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onsuspend(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_onsuspend(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onsuspend(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_ontimeupdate(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_ontimeupdate(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_ontimeupdate(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_ontimeupdate(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_onvolumechange(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onvolumechange(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_onvolumechange(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onvolumechange(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_put_onwaiting(IHTMLElement6* This,VARIANT v) {
    return This->lpVtbl->put_onwaiting(This,v);
}
static FORCEINLINE HRESULT IHTMLElement6_get_onwaiting(IHTMLElement6* This,VARIANT *p) {
    return This->lpVtbl->get_onwaiting(This,p);
}
static FORCEINLINE HRESULT IHTMLElement6_hasAttributes(IHTMLElement6* This,VARIANT_BOOL *pfHasAttributes) {
    return This->lpVtbl->hasAttributes(This,pfHasAttributes);
}
#endif
#endif

#endif


#endif  /* __IHTMLElement6_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 FORCEINLINE HRESULT IElementTraversal_QueryInterface(IElementTraversal* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IElementTraversal_AddRef(IElementTraversal* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IElementTraversal_Release(IElementTraversal* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IElementTraversal_GetTypeInfoCount(IElementTraversal* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IElementTraversal_GetTypeInfo(IElementTraversal* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IElementTraversal_get_firstElementChild(IElementTraversal* This,IHTMLElement **p) {
    return This->lpVtbl->get_firstElementChild(This,p);
}
static FORCEINLINE HRESULT IElementTraversal_get_lastElementChild(IElementTraversal* This,IHTMLElement **p) {
    return This->lpVtbl->get_lastElementChild(This,p);
}
static FORCEINLINE HRESULT IElementTraversal_get_previousElementSibling(IElementTraversal* This,IHTMLElement **p) {
    return This->lpVtbl->get_previousElementSibling(This,p);
}
static FORCEINLINE HRESULT IElementTraversal_get_nextElementSibling(IElementTraversal* This,IHTMLElement **p) {
    return This->lpVtbl->get_nextElementSibling(This,p);
}
static FORCEINLINE HRESULT IElementTraversal_get_childElementCount(IElementTraversal* This,LONG *p) {
    return This->lpVtbl->get_childElementCount(This,p);
}
#endif
#endif

#endif


#endif  /* __IElementTraversal_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 FORCEINLINE HRESULT IElementSelector_QueryInterface(IElementSelector* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IElementSelector_AddRef(IElementSelector* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IElementSelector_Release(IElementSelector* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IElementSelector_GetTypeInfoCount(IElementSelector* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IElementSelector_GetTypeInfo(IElementSelector* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IElementSelector_querySelector(IElementSelector* This,BSTR v,IHTMLElement **pel) {
    return This->lpVtbl->querySelector(This,v,pel);
}
static FORCEINLINE HRESULT IElementSelector_querySelectorAll(IElementSelector* This,BSTR v,IHTMLDOMChildrenCollection **pel) {
    return This->lpVtbl->querySelectorAll(This,v,pel);
}
#endif
#endif

#endif


#endif  /* __IElementSelector_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 FORCEINLINE HRESULT IHTMLUniqueName_QueryInterface(IHTMLUniqueName* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLUniqueName_AddRef(IHTMLUniqueName* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLUniqueName_Release(IHTMLUniqueName* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLUniqueName_GetTypeInfoCount(IHTMLUniqueName* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLUniqueName_GetTypeInfo(IHTMLUniqueName* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLUniqueName_get_uniqueNumber(IHTMLUniqueName* This,LONG *p) {
    return This->lpVtbl->get_uniqueNumber(This,p);
}
static FORCEINLINE HRESULT IHTMLUniqueName_get_uniqueID(IHTMLUniqueName* This,BSTR *p) {
    return This->lpVtbl->get_uniqueID(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLUniqueName_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 FORCEINLINE HRESULT IHTMLDatabinding_QueryInterface(IHTMLDatabinding* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLDatabinding_AddRef(IHTMLDatabinding* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLDatabinding_Release(IHTMLDatabinding* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLDatabinding_GetTypeInfoCount(IHTMLDatabinding* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLDatabinding_GetTypeInfo(IHTMLDatabinding* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDatabinding_put_dataFld(IHTMLDatabinding* This,BSTR v) {
    return This->lpVtbl->put_dataFld(This,v);
}
static FORCEINLINE HRESULT IHTMLDatabinding_get_dataFld(IHTMLDatabinding* This,BSTR *p) {
    return This->lpVtbl->get_dataFld(This,p);
}
static FORCEINLINE HRESULT IHTMLDatabinding_put_dataSrc(IHTMLDatabinding* This,BSTR v) {
    return This->lpVtbl->put_dataSrc(This,v);
}
static FORCEINLINE HRESULT IHTMLDatabinding_get_dataSrc(IHTMLDatabinding* This,BSTR *p) {
    return This->lpVtbl->get_dataSrc(This,p);
}
static FORCEINLINE HRESULT IHTMLDatabinding_put_dataFormatAs(IHTMLDatabinding* This,BSTR v) {
    return This->lpVtbl->put_dataFormatAs(This,v);
}
static FORCEINLINE HRESULT IHTMLDatabinding_get_dataFormatAs(IHTMLDatabinding* This,BSTR *p) {
    return This->lpVtbl->get_dataFormatAs(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLDatabinding_INTERFACE_DEFINED__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLGenericElement_QueryInterface(IHTMLGenericElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLGenericElement_AddRef(IHTMLGenericElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLGenericElement_Release(IHTMLGenericElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLGenericElement_GetTypeInfoCount(IHTMLGenericElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLGenericElement_GetTypeInfo(IHTMLGenericElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLGenericElement_get_recordset(IHTMLGenericElement* This,IDispatch **p) {
    return This->lpVtbl->get_recordset(This,p);
}
static FORCEINLINE 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 FORCEINLINE HRESULT DispHTMLGenericElement_QueryInterface(DispHTMLGenericElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLGenericElement_AddRef(DispHTMLGenericElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLGenericElement_Release(DispHTMLGenericElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLGenericElement_GetTypeInfoCount(DispHTMLGenericElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLGenericElement_GetTypeInfo(DispHTMLGenericElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLStyleSheetRule_QueryInterface(IHTMLStyleSheetRule* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLStyleSheetRule_AddRef(IHTMLStyleSheetRule* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLStyleSheetRule_Release(IHTMLStyleSheetRule* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLStyleSheetRule_GetTypeInfoCount(IHTMLStyleSheetRule* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLStyleSheetRule_GetTypeInfo(IHTMLStyleSheetRule* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLStyleSheetRule_put_selectorText(IHTMLStyleSheetRule* This,BSTR v) {
    return This->lpVtbl->put_selectorText(This,v);
}
static FORCEINLINE HRESULT IHTMLStyleSheetRule_get_selectorText(IHTMLStyleSheetRule* This,BSTR *p) {
    return This->lpVtbl->get_selectorText(This,p);
}
static FORCEINLINE HRESULT IHTMLStyleSheetRule_get_style(IHTMLStyleSheetRule* This,IHTMLRuleStyle **p) {
    return This->lpVtbl->get_style(This,p);
}
static FORCEINLINE HRESULT IHTMLStyleSheetRule_get_readOnly(IHTMLStyleSheetRule* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_readOnly(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleSheetRule_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 FORCEINLINE HRESULT DispHTMLStyleSheetRule_QueryInterface(DispHTMLStyleSheetRule* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLStyleSheetRule_AddRef(DispHTMLStyleSheetRule* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLStyleSheetRule_Release(DispHTMLStyleSheetRule* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLStyleSheetRule_GetTypeInfoCount(DispHTMLStyleSheetRule* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLStyleSheetRule_GetTypeInfo(DispHTMLStyleSheetRule* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLStyleSheetRulesCollection_QueryInterface(IHTMLStyleSheetRulesCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLStyleSheetRulesCollection_AddRef(IHTMLStyleSheetRulesCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLStyleSheetRulesCollection_Release(IHTMLStyleSheetRulesCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLStyleSheetRulesCollection_GetTypeInfoCount(IHTMLStyleSheetRulesCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLStyleSheetRulesCollection_GetTypeInfo(IHTMLStyleSheetRulesCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLStyleSheetRulesCollection_get_length(IHTMLStyleSheetRulesCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static FORCEINLINE HRESULT IHTMLStyleSheetRulesCollection_item(IHTMLStyleSheetRulesCollection* This,LONG index,IHTMLStyleSheetRule **ppHTMLStyleSheetRule) {
    return This->lpVtbl->item(This,index,ppHTMLStyleSheetRule);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleSheetRulesCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT DispHTMLStyleSheetRulesCollection_QueryInterface(DispHTMLStyleSheetRulesCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLStyleSheetRulesCollection_AddRef(DispHTMLStyleSheetRulesCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLStyleSheetRulesCollection_Release(DispHTMLStyleSheetRulesCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLStyleSheetRulesCollection_GetTypeInfoCount(DispHTMLStyleSheetRulesCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLStyleSheetRulesCollection_GetTypeInfo(DispHTMLStyleSheetRulesCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLStyleSheetPage_QueryInterface(IHTMLStyleSheetPage* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLStyleSheetPage_AddRef(IHTMLStyleSheetPage* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLStyleSheetPage_Release(IHTMLStyleSheetPage* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLStyleSheetPage_GetTypeInfoCount(IHTMLStyleSheetPage* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLStyleSheetPage_GetTypeInfo(IHTMLStyleSheetPage* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLStyleSheetPage_get_selector(IHTMLStyleSheetPage* This,BSTR *p) {
    return This->lpVtbl->get_selector(This,p);
}
static FORCEINLINE HRESULT IHTMLStyleSheetPage_get_pseudoClass(IHTMLStyleSheetPage* This,BSTR *p) {
    return This->lpVtbl->get_pseudoClass(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleSheetPage_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 FORCEINLINE HRESULT DispHTMLStyleSheetPage_QueryInterface(DispHTMLStyleSheetPage* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLStyleSheetPage_AddRef(DispHTMLStyleSheetPage* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLStyleSheetPage_Release(DispHTMLStyleSheetPage* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLStyleSheetPage_GetTypeInfoCount(DispHTMLStyleSheetPage* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLStyleSheetPage_GetTypeInfo(DispHTMLStyleSheetPage* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLStyleSheetPagesCollection_QueryInterface(IHTMLStyleSheetPagesCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLStyleSheetPagesCollection_AddRef(IHTMLStyleSheetPagesCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLStyleSheetPagesCollection_Release(IHTMLStyleSheetPagesCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLStyleSheetPagesCollection_GetTypeInfoCount(IHTMLStyleSheetPagesCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLStyleSheetPagesCollection_GetTypeInfo(IHTMLStyleSheetPagesCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLStyleSheetPagesCollection_get_length(IHTMLStyleSheetPagesCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static FORCEINLINE HRESULT IHTMLStyleSheetPagesCollection_item(IHTMLStyleSheetPagesCollection* This,LONG index,IHTMLStyleSheetPage **ppHTMLStyleSheetPage) {
    return This->lpVtbl->item(This,index,ppHTMLStyleSheetPage);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleSheetPagesCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT DispHTMLStyleSheetPagesCollection_QueryInterface(DispHTMLStyleSheetPagesCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLStyleSheetPagesCollection_AddRef(DispHTMLStyleSheetPagesCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLStyleSheetPagesCollection_Release(DispHTMLStyleSheetPagesCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLStyleSheetPagesCollection_GetTypeInfoCount(DispHTMLStyleSheetPagesCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLStyleSheetPagesCollection_GetTypeInfo(DispHTMLStyleSheetPagesCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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,
        LONG *plIndex) = 0;

    virtual HRESULT STDMETHODCALLTYPE addRule(
        BSTR bstrSelector,
        BSTR bstrStyle,
        LONG lIndex,
        LONG *plNewIndex) = 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 FORCEINLINE HRESULT IHTMLStyleSheet_QueryInterface(IHTMLStyleSheet* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLStyleSheet_AddRef(IHTMLStyleSheet* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLStyleSheet_Release(IHTMLStyleSheet* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLStyleSheet_GetTypeInfoCount(IHTMLStyleSheet* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLStyleSheet_GetTypeInfo(IHTMLStyleSheet* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLStyleSheet_put_title(IHTMLStyleSheet* This,BSTR v) {
    return This->lpVtbl->put_title(This,v);
}
static FORCEINLINE HRESULT IHTMLStyleSheet_get_title(IHTMLStyleSheet* This,BSTR *p) {
    return This->lpVtbl->get_title(This,p);
}
static FORCEINLINE HRESULT IHTMLStyleSheet_get_parentStyleSheet(IHTMLStyleSheet* This,IHTMLStyleSheet **p) {
    return This->lpVtbl->get_parentStyleSheet(This,p);
}
static FORCEINLINE HRESULT IHTMLStyleSheet_get_owningElement(IHTMLStyleSheet* This,IHTMLElement **p) {
    return This->lpVtbl->get_owningElement(This,p);
}
static FORCEINLINE HRESULT IHTMLStyleSheet_put_disabled(IHTMLStyleSheet* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_disabled(This,v);
}
static FORCEINLINE HRESULT IHTMLStyleSheet_get_disabled(IHTMLStyleSheet* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_disabled(This,p);
}
static FORCEINLINE HRESULT IHTMLStyleSheet_get_readOnly(IHTMLStyleSheet* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_readOnly(This,p);
}
static FORCEINLINE HRESULT IHTMLStyleSheet_get_imports(IHTMLStyleSheet* This,IHTMLStyleSheetsCollection **p) {
    return This->lpVtbl->get_imports(This,p);
}
static FORCEINLINE HRESULT IHTMLStyleSheet_put_href(IHTMLStyleSheet* This,BSTR v) {
    return This->lpVtbl->put_href(This,v);
}
static FORCEINLINE HRESULT IHTMLStyleSheet_get_href(IHTMLStyleSheet* This,BSTR *p) {
    return This->lpVtbl->get_href(This,p);
}
static FORCEINLINE HRESULT IHTMLStyleSheet_get_type(IHTMLStyleSheet* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static FORCEINLINE HRESULT IHTMLStyleSheet_get_id(IHTMLStyleSheet* This,BSTR *p) {
    return This->lpVtbl->get_id(This,p);
}
static FORCEINLINE HRESULT IHTMLStyleSheet_addImport(IHTMLStyleSheet* This,BSTR bstrURL,LONG lIndex,LONG *plIndex) {
    return This->lpVtbl->addImport(This,bstrURL,lIndex,plIndex);
}
static FORCEINLINE HRESULT IHTMLStyleSheet_addRule(IHTMLStyleSheet* This,BSTR bstrSelector,BSTR bstrStyle,LONG lIndex,LONG *plNewIndex) {
    return This->lpVtbl->addRule(This,bstrSelector,bstrStyle,lIndex,plNewIndex);
}
static FORCEINLINE HRESULT IHTMLStyleSheet_removeImport(IHTMLStyleSheet* This,LONG lIndex) {
    return This->lpVtbl->removeImport(This,lIndex);
}
static FORCEINLINE HRESULT IHTMLStyleSheet_removeRule(IHTMLStyleSheet* This,LONG lIndex) {
    return This->lpVtbl->removeRule(This,lIndex);
}
static FORCEINLINE HRESULT IHTMLStyleSheet_put_media(IHTMLStyleSheet* This,BSTR v) {
    return This->lpVtbl->put_media(This,v);
}
static FORCEINLINE HRESULT IHTMLStyleSheet_get_media(IHTMLStyleSheet* This,BSTR *p) {
    return This->lpVtbl->get_media(This,p);
}
static FORCEINLINE HRESULT IHTMLStyleSheet_put_cssText(IHTMLStyleSheet* This,BSTR v) {
    return This->lpVtbl->put_cssText(This,v);
}
static FORCEINLINE HRESULT IHTMLStyleSheet_get_cssText(IHTMLStyleSheet* This,BSTR *p) {
    return This->lpVtbl->get_cssText(This,p);
}
static FORCEINLINE 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,
        LONG *plNewIndex) = 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 FORCEINLINE HRESULT IHTMLStyleSheet2_QueryInterface(IHTMLStyleSheet2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLStyleSheet2_AddRef(IHTMLStyleSheet2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLStyleSheet2_Release(IHTMLStyleSheet2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLStyleSheet2_GetTypeInfoCount(IHTMLStyleSheet2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLStyleSheet2_GetTypeInfo(IHTMLStyleSheet2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLStyleSheet2_get_pages(IHTMLStyleSheet2* This,IHTMLStyleSheetPagesCollection **p) {
    return This->lpVtbl->get_pages(This,p);
}
static FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT DispHTMLStyleSheet_QueryInterface(DispHTMLStyleSheet* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLStyleSheet_AddRef(DispHTMLStyleSheet* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLStyleSheet_Release(DispHTMLStyleSheet* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLStyleSheet_GetTypeInfoCount(DispHTMLStyleSheet* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLStyleSheet_GetTypeInfo(DispHTMLStyleSheet* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLStyleSheetsCollection_QueryInterface(IHTMLStyleSheetsCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLStyleSheetsCollection_AddRef(IHTMLStyleSheetsCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLStyleSheetsCollection_Release(IHTMLStyleSheetsCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLStyleSheetsCollection_GetTypeInfoCount(IHTMLStyleSheetsCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLStyleSheetsCollection_GetTypeInfo(IHTMLStyleSheetsCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLStyleSheetsCollection_get_length(IHTMLStyleSheetsCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static FORCEINLINE HRESULT IHTMLStyleSheetsCollection_get__newEnum(IHTMLStyleSheetsCollection* This,IUnknown **p) {
    return This->lpVtbl->get__newEnum(This,p);
}
static FORCEINLINE HRESULT IHTMLStyleSheetsCollection_item(IHTMLStyleSheetsCollection* This,VARIANT *pvarIndex,VARIANT *pvarResult) {
    return This->lpVtbl->item(This,pvarIndex,pvarResult);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleSheetsCollection_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 FORCEINLINE HRESULT DispHTMLStyleSheetsCollection_QueryInterface(DispHTMLStyleSheetsCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLStyleSheetsCollection_AddRef(DispHTMLStyleSheetsCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLStyleSheetsCollection_Release(DispHTMLStyleSheetsCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLStyleSheetsCollection_GetTypeInfoCount(DispHTMLStyleSheetsCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLStyleSheetsCollection_GetTypeInfo(DispHTMLStyleSheetsCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLLinkElement_QueryInterface(IHTMLLinkElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLLinkElement_AddRef(IHTMLLinkElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLLinkElement_Release(IHTMLLinkElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLLinkElement_GetTypeInfoCount(IHTMLLinkElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLLinkElement_GetTypeInfo(IHTMLLinkElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLLinkElement_put_href(IHTMLLinkElement* This,BSTR v) {
    return This->lpVtbl->put_href(This,v);
}
static FORCEINLINE HRESULT IHTMLLinkElement_get_href(IHTMLLinkElement* This,BSTR *p) {
    return This->lpVtbl->get_href(This,p);
}
static FORCEINLINE HRESULT IHTMLLinkElement_put_rel(IHTMLLinkElement* This,BSTR v) {
    return This->lpVtbl->put_rel(This,v);
}
static FORCEINLINE HRESULT IHTMLLinkElement_get_rel(IHTMLLinkElement* This,BSTR *p) {
    return This->lpVtbl->get_rel(This,p);
}
static FORCEINLINE HRESULT IHTMLLinkElement_put_rev(IHTMLLinkElement* This,BSTR v) {
    return This->lpVtbl->put_rev(This,v);
}
static FORCEINLINE HRESULT IHTMLLinkElement_get_rev(IHTMLLinkElement* This,BSTR *p) {
    return This->lpVtbl->get_rev(This,p);
}
static FORCEINLINE HRESULT IHTMLLinkElement_put_type(IHTMLLinkElement* This,BSTR v) {
    return This->lpVtbl->put_type(This,v);
}
static FORCEINLINE HRESULT IHTMLLinkElement_get_type(IHTMLLinkElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static FORCEINLINE HRESULT IHTMLLinkElement_get_readyState(IHTMLLinkElement* This,BSTR *p) {
    return This->lpVtbl->get_readyState(This,p);
}
static FORCEINLINE HRESULT IHTMLLinkElement_put_onreadystatechange(IHTMLLinkElement* This,VARIANT v) {
    return This->lpVtbl->put_onreadystatechange(This,v);
}
static FORCEINLINE HRESULT IHTMLLinkElement_get_onreadystatechange(IHTMLLinkElement* This,VARIANT *p) {
    return This->lpVtbl->get_onreadystatechange(This,p);
}
static FORCEINLINE HRESULT IHTMLLinkElement_put_onload(IHTMLLinkElement* This,VARIANT v) {
    return This->lpVtbl->put_onload(This,v);
}
static FORCEINLINE HRESULT IHTMLLinkElement_get_onload(IHTMLLinkElement* This,VARIANT *p) {
    return This->lpVtbl->get_onload(This,p);
}
static FORCEINLINE HRESULT IHTMLLinkElement_put_onerror(IHTMLLinkElement* This,VARIANT v) {
    return This->lpVtbl->put_onerror(This,v);
}
static FORCEINLINE HRESULT IHTMLLinkElement_get_onerror(IHTMLLinkElement* This,VARIANT *p) {
    return This->lpVtbl->get_onerror(This,p);
}
static FORCEINLINE HRESULT IHTMLLinkElement_get_styleSheet(IHTMLLinkElement* This,IHTMLStyleSheet **p) {
    return This->lpVtbl->get_styleSheet(This,p);
}
static FORCEINLINE HRESULT IHTMLLinkElement_put_disabled(IHTMLLinkElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_disabled(This,v);
}
static FORCEINLINE HRESULT IHTMLLinkElement_get_disabled(IHTMLLinkElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_disabled(This,p);
}
static FORCEINLINE HRESULT IHTMLLinkElement_put_media(IHTMLLinkElement* This,BSTR v) {
    return This->lpVtbl->put_media(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLLinkElement2_QueryInterface(IHTMLLinkElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLLinkElement2_AddRef(IHTMLLinkElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLLinkElement2_Release(IHTMLLinkElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLLinkElement2_GetTypeInfoCount(IHTMLLinkElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLLinkElement2_GetTypeInfo(IHTMLLinkElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLLinkElement2_put_target(IHTMLLinkElement2* This,BSTR v) {
    return This->lpVtbl->put_target(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLLinkElement3_QueryInterface(IHTMLLinkElement3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLLinkElement3_AddRef(IHTMLLinkElement3* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLLinkElement3_Release(IHTMLLinkElement3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLLinkElement3_GetTypeInfoCount(IHTMLLinkElement3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLLinkElement3_GetTypeInfo(IHTMLLinkElement3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLLinkElement3_put_charset(IHTMLLinkElement3* This,BSTR v) {
    return This->lpVtbl->put_charset(This,v);
}
static FORCEINLINE HRESULT IHTMLLinkElement3_get_charset(IHTMLLinkElement3* This,BSTR *p) {
    return This->lpVtbl->get_charset(This,p);
}
static FORCEINLINE HRESULT IHTMLLinkElement3_put_hreflang(IHTMLLinkElement3* This,BSTR v) {
    return This->lpVtbl->put_hreflang(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLLinkElement4_QueryInterface(IHTMLLinkElement4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLLinkElement4_AddRef(IHTMLLinkElement4* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLLinkElement4_Release(IHTMLLinkElement4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLLinkElement4_GetTypeInfoCount(IHTMLLinkElement4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLLinkElement4_GetTypeInfo(IHTMLLinkElement4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLLinkElement4_put_href(IHTMLLinkElement4* This,BSTR v) {
    return This->lpVtbl->put_href(This,v);
}
static FORCEINLINE HRESULT IHTMLLinkElement4_get_href(IHTMLLinkElement4* This,BSTR *p) {
    return This->lpVtbl->get_href(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLLinkElement4_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 FORCEINLINE HRESULT DispHTMLLinkElement_QueryInterface(DispHTMLLinkElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLLinkElement_AddRef(DispHTMLLinkElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLLinkElement_Release(DispHTMLLinkElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLLinkElement_GetTypeInfoCount(DispHTMLLinkElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLLinkElement_GetTypeInfo(DispHTMLLinkElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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,
        LONG *ActualCount) = 0;

    virtual HRESULT STDMETHODCALLTYPE moveStart(
        BSTR Unit,
        LONG Count,
        LONG *ActualCount) = 0;

    virtual HRESULT STDMETHODCALLTYPE moveEnd(
        BSTR Unit,
        LONG Count,
        LONG *ActualCount) = 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,
        LONG Flags,
        VARIANT_BOOL *Success) = 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 FORCEINLINE HRESULT IHTMLTxtRange_QueryInterface(IHTMLTxtRange* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLTxtRange_AddRef(IHTMLTxtRange* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLTxtRange_Release(IHTMLTxtRange* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLTxtRange_GetTypeInfoCount(IHTMLTxtRange* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLTxtRange_GetTypeInfo(IHTMLTxtRange* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLTxtRange_get_htmlText(IHTMLTxtRange* This,BSTR *p) {
    return This->lpVtbl->get_htmlText(This,p);
}
static FORCEINLINE HRESULT IHTMLTxtRange_put_text(IHTMLTxtRange* This,BSTR v) {
    return This->lpVtbl->put_text(This,v);
}
static FORCEINLINE HRESULT IHTMLTxtRange_get_text(IHTMLTxtRange* This,BSTR *p) {
    return This->lpVtbl->get_text(This,p);
}
static FORCEINLINE HRESULT IHTMLTxtRange_parentElement(IHTMLTxtRange* This,IHTMLElement **parent) {
    return This->lpVtbl->parentElement(This,parent);
}
static FORCEINLINE HRESULT IHTMLTxtRange_duplicate(IHTMLTxtRange* This,IHTMLTxtRange **Duplicate) {
    return This->lpVtbl->duplicate(This,Duplicate);
}
static FORCEINLINE HRESULT IHTMLTxtRange_inRange(IHTMLTxtRange* This,IHTMLTxtRange *Range,VARIANT_BOOL *InRange) {
    return This->lpVtbl->inRange(This,Range,InRange);
}
static FORCEINLINE HRESULT IHTMLTxtRange_isEqual(IHTMLTxtRange* This,IHTMLTxtRange *Range,VARIANT_BOOL *IsEqual) {
    return This->lpVtbl->isEqual(This,Range,IsEqual);
}
static FORCEINLINE HRESULT IHTMLTxtRange_scrollIntoView(IHTMLTxtRange* This,VARIANT_BOOL fStart) {
    return This->lpVtbl->scrollIntoView(This,fStart);
}
static FORCEINLINE HRESULT IHTMLTxtRange_collapse(IHTMLTxtRange* This,VARIANT_BOOL Start) {
    return This->lpVtbl->collapse(This,Start);
}
static FORCEINLINE HRESULT IHTMLTxtRange_expand(IHTMLTxtRange* This,BSTR Unit,VARIANT_BOOL *Success) {
    return This->lpVtbl->expand(This,Unit,Success);
}
static FORCEINLINE HRESULT IHTMLTxtRange_move(IHTMLTxtRange* This,BSTR Unit,LONG Count,LONG *ActualCount) {
    return This->lpVtbl->move(This,Unit,Count,ActualCount);
}
static FORCEINLINE HRESULT IHTMLTxtRange_moveStart(IHTMLTxtRange* This,BSTR Unit,LONG Count,LONG *ActualCount) {
    return This->lpVtbl->moveStart(This,Unit,Count,ActualCount);
}
static FORCEINLINE HRESULT IHTMLTxtRange_moveEnd(IHTMLTxtRange* This,BSTR Unit,LONG Count,LONG *ActualCount) {
    return This->lpVtbl->moveEnd(This,Unit,Count,ActualCount);
}
static FORCEINLINE HRESULT IHTMLTxtRange_select(IHTMLTxtRange* This) {
    return This->lpVtbl->select(This);
}
static FORCEINLINE HRESULT IHTMLTxtRange_pasteHTML(IHTMLTxtRange* This,BSTR html) {
    return This->lpVtbl->pasteHTML(This,html);
}
static FORCEINLINE HRESULT IHTMLTxtRange_moveToElementText(IHTMLTxtRange* This,IHTMLElement *element) {
    return This->lpVtbl->moveToElementText(This,element);
}
static FORCEINLINE HRESULT IHTMLTxtRange_setEndPoint(IHTMLTxtRange* This,BSTR how,IHTMLTxtRange *SourceRange) {
    return This->lpVtbl->setEndPoint(This,how,SourceRange);
}
static FORCEINLINE HRESULT IHTMLTxtRange_compareEndPoints(IHTMLTxtRange* This,BSTR how,IHTMLTxtRange *SourceRange,LONG *ret) {
    return This->lpVtbl->compareEndPoints(This,how,SourceRange,ret);
}
static FORCEINLINE HRESULT IHTMLTxtRange_findText(IHTMLTxtRange* This,BSTR String,LONG count,LONG Flags,VARIANT_BOOL *Success) {
    return This->lpVtbl->findText(This,String,count,Flags,Success);
}
static FORCEINLINE HRESULT IHTMLTxtRange_moveToPoint(IHTMLTxtRange* This,LONG x,LONG y) {
    return This->lpVtbl->moveToPoint(This,x,y);
}
static FORCEINLINE HRESULT IHTMLTxtRange_getBookmark(IHTMLTxtRange* This,BSTR *Boolmark) {
    return This->lpVtbl->getBookmark(This,Boolmark);
}
static FORCEINLINE HRESULT IHTMLTxtRange_moveToBookmark(IHTMLTxtRange* This,BSTR Bookmark,VARIANT_BOOL *Success) {
    return This->lpVtbl->moveToBookmark(This,Bookmark,Success);
}
static FORCEINLINE HRESULT IHTMLTxtRange_queryCommandSupported(IHTMLTxtRange* This,BSTR cmdID,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->queryCommandSupported(This,cmdID,pfRet);
}
static FORCEINLINE HRESULT IHTMLTxtRange_queryCommandEnabled(IHTMLTxtRange* This,BSTR cmdID,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->queryCommandEnabled(This,cmdID,pfRet);
}
static FORCEINLINE HRESULT IHTMLTxtRange_queryCommandState(IHTMLTxtRange* This,BSTR cmdID,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->queryCommandState(This,cmdID,pfRet);
}
static FORCEINLINE HRESULT IHTMLTxtRange_queryCommandIndeterm(IHTMLTxtRange* This,BSTR cmdID,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->queryCommandIndeterm(This,cmdID,pfRet);
}
static FORCEINLINE HRESULT IHTMLTxtRange_queryCommandText(IHTMLTxtRange* This,BSTR cmdID,BSTR *pcmdText) {
    return This->lpVtbl->queryCommandText(This,cmdID,pcmdText);
}
static FORCEINLINE HRESULT IHTMLTxtRange_queryCommandValue(IHTMLTxtRange* This,BSTR cmdID,VARIANT *pcmdValue) {
    return This->lpVtbl->queryCommandValue(This,cmdID,pcmdValue);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLTxtRange_execCommandShowHelp(IHTMLTxtRange* This,BSTR cmdID,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->execCommandShowHelp(This,cmdID,pfRet);
}
#endif
#endif

#endif


#endif  /* __IHTMLTxtRange_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 FORCEINLINE HRESULT IHTMLDOMRange_QueryInterface(IHTMLDOMRange* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLDOMRange_AddRef(IHTMLDOMRange* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLDOMRange_Release(IHTMLDOMRange* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLDOMRange_GetTypeInfoCount(IHTMLDOMRange* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLDOMRange_GetTypeInfo(IHTMLDOMRange* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDOMRange_get_startContainer(IHTMLDOMRange* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_startContainer(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMRange_get_startOffset(IHTMLDOMRange* This,LONG *p) {
    return This->lpVtbl->get_startOffset(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMRange_get_endContainer(IHTMLDOMRange* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_endContainer(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMRange_get_endOffset(IHTMLDOMRange* This,LONG *p) {
    return This->lpVtbl->get_endOffset(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMRange_get_collapsed(IHTMLDOMRange* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_collapsed(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMRange_get_commonAncestorContainer(IHTMLDOMRange* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_commonAncestorContainer(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMRange_setStart(IHTMLDOMRange* This,IDispatch *refNode,LONG offset) {
    return This->lpVtbl->setStart(This,refNode,offset);
}
static FORCEINLINE HRESULT IHTMLDOMRange_setEnd(IHTMLDOMRange* This,IDispatch *refNode,LONG offset) {
    return This->lpVtbl->setEnd(This,refNode,offset);
}
static FORCEINLINE HRESULT IHTMLDOMRange_setStartBefore(IHTMLDOMRange* This,IDispatch *refNode) {
    return This->lpVtbl->setStartBefore(This,refNode);
}
static FORCEINLINE HRESULT IHTMLDOMRange_setStartAfter(IHTMLDOMRange* This,IDispatch *refNode) {
    return This->lpVtbl->setStartAfter(This,refNode);
}
static FORCEINLINE HRESULT IHTMLDOMRange_setEndBefore(IHTMLDOMRange* This,IDispatch *refNode) {
    return This->lpVtbl->setEndBefore(This,refNode);
}
static FORCEINLINE HRESULT IHTMLDOMRange_setEndAfter(IHTMLDOMRange* This,IDispatch *refNode) {
    return This->lpVtbl->setEndAfter(This,refNode);
}
static FORCEINLINE HRESULT IHTMLDOMRange_collapse(IHTMLDOMRange* This,VARIANT_BOOL toStart) {
    return This->lpVtbl->collapse(This,toStart);
}
static FORCEINLINE HRESULT IHTMLDOMRange_selectNode(IHTMLDOMRange* This,IDispatch *refNode) {
    return This->lpVtbl->selectNode(This,refNode);
}
static FORCEINLINE HRESULT IHTMLDOMRange_selectNodeContents(IHTMLDOMRange* This,IDispatch *refNode) {
    return This->lpVtbl->selectNodeContents(This,refNode);
}
static FORCEINLINE HRESULT IHTMLDOMRange_compareBoundaryPoints(IHTMLDOMRange* This,short how,IDispatch *sourceRange,LONG *compareResult) {
    return This->lpVtbl->compareBoundaryPoints(This,how,sourceRange,compareResult);
}
static FORCEINLINE HRESULT IHTMLDOMRange_deleteContents(IHTMLDOMRange* This) {
    return This->lpVtbl->deleteContents(This);
}
static FORCEINLINE HRESULT IHTMLDOMRange_extractContents(IHTMLDOMRange* This,IDispatch **ppDocumentFragment) {
    return This->lpVtbl->extractContents(This,ppDocumentFragment);
}
static FORCEINLINE HRESULT IHTMLDOMRange_cloneContents(IHTMLDOMRange* This,IDispatch **ppDocumentFragment) {
    return This->lpVtbl->cloneContents(This,ppDocumentFragment);
}
static FORCEINLINE HRESULT IHTMLDOMRange_insertNode(IHTMLDOMRange* This,IDispatch *newNode) {
    return This->lpVtbl->insertNode(This,newNode);
}
static FORCEINLINE HRESULT IHTMLDOMRange_surroundContents(IHTMLDOMRange* This,IDispatch *newParent) {
    return This->lpVtbl->surroundContents(This,newParent);
}
static FORCEINLINE HRESULT IHTMLDOMRange_cloneRange(IHTMLDOMRange* This,IHTMLDOMRange **ppClonedRange) {
    return This->lpVtbl->cloneRange(This,ppClonedRange);
}
static FORCEINLINE HRESULT IHTMLDOMRange_toString(IHTMLDOMRange* This,BSTR *pRangeString) {
    return This->lpVtbl->toString(This,pRangeString);
}
static FORCEINLINE HRESULT IHTMLDOMRange_detach(IHTMLDOMRange* This) {
    return This->lpVtbl->detach(This);
}
static FORCEINLINE HRESULT IHTMLDOMRange_getClientRects(IHTMLDOMRange* This,IHTMLRectCollection **ppRectCol) {
    return This->lpVtbl->getClientRects(This,ppRectCol);
}
static FORCEINLINE HRESULT IHTMLDOMRange_getBoundingClientRect(IHTMLDOMRange* This,IHTMLRect **ppRect) {
    return This->lpVtbl->getBoundingClientRect(This,ppRect);
}
#endif
#endif

#endif


#endif  /* __IHTMLDOMRange_INTERFACE_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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLFormElement_QueryInterface(IHTMLFormElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLFormElement_AddRef(IHTMLFormElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLFormElement_Release(IHTMLFormElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLFormElement_GetTypeInfoCount(IHTMLFormElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLFormElement_GetTypeInfo(IHTMLFormElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLFormElement_put_action(IHTMLFormElement* This,BSTR v) {
    return This->lpVtbl->put_action(This,v);
}
static FORCEINLINE HRESULT IHTMLFormElement_get_action(IHTMLFormElement* This,BSTR *p) {
    return This->lpVtbl->get_action(This,p);
}
static FORCEINLINE HRESULT IHTMLFormElement_put_dir(IHTMLFormElement* This,BSTR v) {
    return This->lpVtbl->put_dir(This,v);
}
static FORCEINLINE HRESULT IHTMLFormElement_get_dir(IHTMLFormElement* This,BSTR *p) {
    return This->lpVtbl->get_dir(This,p);
}
static FORCEINLINE HRESULT IHTMLFormElement_put_encoding(IHTMLFormElement* This,BSTR v) {
    return This->lpVtbl->put_encoding(This,v);
}
static FORCEINLINE HRESULT IHTMLFormElement_get_encoding(IHTMLFormElement* This,BSTR *p) {
    return This->lpVtbl->get_encoding(This,p);
}
static FORCEINLINE HRESULT IHTMLFormElement_put_method(IHTMLFormElement* This,BSTR v) {
    return This->lpVtbl->put_method(This,v);
}
static FORCEINLINE HRESULT IHTMLFormElement_get_method(IHTMLFormElement* This,BSTR *p) {
    return This->lpVtbl->get_method(This,p);
}
static FORCEINLINE HRESULT IHTMLFormElement_get_elements(IHTMLFormElement* This,IDispatch **p) {
    return This->lpVtbl->get_elements(This,p);
}
static FORCEINLINE HRESULT IHTMLFormElement_put_target(IHTMLFormElement* This,BSTR v) {
    return This->lpVtbl->put_target(This,v);
}
static FORCEINLINE HRESULT IHTMLFormElement_get_target(IHTMLFormElement* This,BSTR *p) {
    return This->lpVtbl->get_target(This,p);
}
static FORCEINLINE HRESULT IHTMLFormElement_put_name(IHTMLFormElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static FORCEINLINE HRESULT IHTMLFormElement_get_name(IHTMLFormElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static FORCEINLINE HRESULT IHTMLFormElement_put_onsubmit(IHTMLFormElement* This,VARIANT v) {
    return This->lpVtbl->put_onsubmit(This,v);
}
static FORCEINLINE HRESULT IHTMLFormElement_get_onsubmit(IHTMLFormElement* This,VARIANT *p) {
    return This->lpVtbl->get_onsubmit(This,p);
}
static FORCEINLINE HRESULT IHTMLFormElement_put_onreset(IHTMLFormElement* This,VARIANT v) {
    return This->lpVtbl->put_onreset(This,v);
}
static FORCEINLINE HRESULT IHTMLFormElement_get_onreset(IHTMLFormElement* This,VARIANT *p) {
    return This->lpVtbl->get_onreset(This,p);
}
static FORCEINLINE HRESULT IHTMLFormElement_submit(IHTMLFormElement* This) {
    return This->lpVtbl->submit(This);
}
static FORCEINLINE HRESULT IHTMLFormElement_reset(IHTMLFormElement* This) {
    return This->lpVtbl->reset(This);
}
static FORCEINLINE HRESULT IHTMLFormElement_put_length(IHTMLFormElement* This,LONG v) {
    return This->lpVtbl->put_length(This,v);
}
static FORCEINLINE HRESULT IHTMLFormElement_get_length(IHTMLFormElement* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static FORCEINLINE HRESULT IHTMLFormElement_get__newEnum(IHTMLFormElement* This,IUnknown **p) {
    return This->lpVtbl->get__newEnum(This,p);
}
static FORCEINLINE HRESULT IHTMLFormElement_item(IHTMLFormElement* This,VARIANT name,VARIANT index,IDispatch **pdisp) {
    return This->lpVtbl->item(This,name,index,pdisp);
}
static FORCEINLINE HRESULT IHTMLFormElement_tags(IHTMLFormElement* This,VARIANT tagName,IDispatch **pdisp) {
    return This->lpVtbl->tags(This,tagName,pdisp);
}
#endif
#endif

#endif


#endif  /* __IHTMLFormElement_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 FORCEINLINE HRESULT DispHTMLFormElement_QueryInterface(DispHTMLFormElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLFormElement_AddRef(DispHTMLFormElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLFormElement_Release(DispHTMLFormElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLFormElement_GetTypeInfoCount(DispHTMLFormElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLFormElement_GetTypeInfo(DispHTMLFormElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT HTMLFormElementEvents_QueryInterface(HTMLFormElementEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG HTMLFormElementEvents_AddRef(HTMLFormElementEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG HTMLFormElementEvents_Release(HTMLFormElementEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT HTMLFormElementEvents_GetTypeInfoCount(HTMLFormElementEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT HTMLFormElementEvents_GetTypeInfo(HTMLFormElementEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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__ */

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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT HTMLFormElementEvents2_QueryInterface(HTMLFormElementEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG HTMLFormElementEvents2_AddRef(HTMLFormElementEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG HTMLFormElementEvents2_Release(HTMLFormElementEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT HTMLFormElementEvents2_GetTypeInfoCount(HTMLFormElementEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT HTMLFormElementEvents2_GetTypeInfo(HTMLFormElementEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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__ */

/*****************************************************************************
 * 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLTextContainer_QueryInterface(IHTMLTextContainer* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLTextContainer_AddRef(IHTMLTextContainer* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLTextContainer_Release(IHTMLTextContainer* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLTextContainer_GetTypeInfoCount(IHTMLTextContainer* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLTextContainer_GetTypeInfo(IHTMLTextContainer* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLTextContainer_createControlRange(IHTMLTextContainer* This,IDispatch **range) {
    return This->lpVtbl->createControlRange(This,range);
}
static FORCEINLINE HRESULT IHTMLTextContainer_get_scrollHeight(IHTMLTextContainer* This,LONG *p) {
    return This->lpVtbl->get_scrollHeight(This,p);
}
static FORCEINLINE HRESULT IHTMLTextContainer_get_scrollWidth(IHTMLTextContainer* This,LONG *p) {
    return This->lpVtbl->get_scrollWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLTextContainer_put_scrollTop(IHTMLTextContainer* This,LONG v) {
    return This->lpVtbl->put_scrollTop(This,v);
}
static FORCEINLINE HRESULT IHTMLTextContainer_get_scrollTop(IHTMLTextContainer* This,LONG *p) {
    return This->lpVtbl->get_scrollTop(This,p);
}
static FORCEINLINE HRESULT IHTMLTextContainer_put_scrollLeft(IHTMLTextContainer* This,LONG v) {
    return This->lpVtbl->put_scrollLeft(This,v);
}
static FORCEINLINE HRESULT IHTMLTextContainer_get_scrollLeft(IHTMLTextContainer* This,LONG *p) {
    return This->lpVtbl->get_scrollLeft(This,p);
}
static FORCEINLINE HRESULT IHTMLTextContainer_put_onscroll(IHTMLTextContainer* This,VARIANT v) {
    return This->lpVtbl->put_onscroll(This,v);
}
static FORCEINLINE HRESULT IHTMLTextContainer_get_onscroll(IHTMLTextContainer* This,VARIANT *p) {
    return This->lpVtbl->get_onscroll(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLTextContainer_INTERFACE_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 FORCEINLINE HRESULT IHTMLImgElement_QueryInterface(IHTMLImgElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLImgElement_AddRef(IHTMLImgElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLImgElement_Release(IHTMLImgElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLImgElement_GetTypeInfoCount(IHTMLImgElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLImgElement_GetTypeInfo(IHTMLImgElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLImgElement_put_isMap(IHTMLImgElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_isMap(This,v);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_isMap(IHTMLImgElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_isMap(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_put_useMap(IHTMLImgElement* This,BSTR v) {
    return This->lpVtbl->put_useMap(This,v);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_useMap(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_useMap(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_mimeType(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_mimeType(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_fileSize(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_fileSize(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_fileCreatedDate(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_fileCreatedDate(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_fileModifiedDate(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_fileModifiedDate(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_fileUpdatedDate(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_fileUpdatedDate(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_protocol(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_protocol(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_href(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_href(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_nameProp(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_nameProp(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_put_border(IHTMLImgElement* This,VARIANT v) {
    return This->lpVtbl->put_border(This,v);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_border(IHTMLImgElement* This,VARIANT *p) {
    return This->lpVtbl->get_border(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_put_vspace(IHTMLImgElement* This,LONG v) {
    return This->lpVtbl->put_vspace(This,v);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_vspace(IHTMLImgElement* This,LONG *p) {
    return This->lpVtbl->get_vspace(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_put_hspace(IHTMLImgElement* This,LONG v) {
    return This->lpVtbl->put_hspace(This,v);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_hspace(IHTMLImgElement* This,LONG *p) {
    return This->lpVtbl->get_hspace(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_put_alt(IHTMLImgElement* This,BSTR v) {
    return This->lpVtbl->put_alt(This,v);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_alt(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_alt(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_put_src(IHTMLImgElement* This,BSTR v) {
    return This->lpVtbl->put_src(This,v);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_src(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_src(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_put_lowsrc(IHTMLImgElement* This,BSTR v) {
    return This->lpVtbl->put_lowsrc(This,v);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_lowsrc(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_lowsrc(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_put_vrml(IHTMLImgElement* This,BSTR v) {
    return This->lpVtbl->put_vrml(This,v);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_vrml(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_vrml(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_put_dynsrc(IHTMLImgElement* This,BSTR v) {
    return This->lpVtbl->put_dynsrc(This,v);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_dynsrc(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_dynsrc(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_readyState(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_readyState(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_complete(IHTMLImgElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_complete(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_put_loop(IHTMLImgElement* This,VARIANT v) {
    return This->lpVtbl->put_loop(This,v);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_loop(IHTMLImgElement* This,VARIANT *p) {
    return This->lpVtbl->get_loop(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_put_align(IHTMLImgElement* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_align(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_put_onload(IHTMLImgElement* This,VARIANT v) {
    return This->lpVtbl->put_onload(This,v);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_onload(IHTMLImgElement* This,VARIANT *p) {
    return This->lpVtbl->get_onload(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_put_onerror(IHTMLImgElement* This,VARIANT v) {
    return This->lpVtbl->put_onerror(This,v);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_onerror(IHTMLImgElement* This,VARIANT *p) {
    return This->lpVtbl->get_onerror(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_put_onabort(IHTMLImgElement* This,VARIANT v) {
    return This->lpVtbl->put_onabort(This,v);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_onabort(IHTMLImgElement* This,VARIANT *p) {
    return This->lpVtbl->get_onabort(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_put_name(IHTMLImgElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_name(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_put_width(IHTMLImgElement* This,LONG v) {
    return This->lpVtbl->put_width(This,v);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_width(IHTMLImgElement* This,LONG *p) {
    return This->lpVtbl->get_width(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_put_height(IHTMLImgElement* This,LONG v) {
    return This->lpVtbl->put_height(This,v);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_height(IHTMLImgElement* This,LONG *p) {
    return This->lpVtbl->get_height(This,p);
}
static FORCEINLINE HRESULT IHTMLImgElement_put_start(IHTMLImgElement* This,BSTR v) {
    return This->lpVtbl->put_start(This,v);
}
static FORCEINLINE HRESULT IHTMLImgElement_get_start(IHTMLImgElement* This,BSTR *p) {
    return This->lpVtbl->get_start(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLImgElement_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 **elem) = 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 **elem);

    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,elem) (This)->lpVtbl->create(This,width,height,elem)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IHTMLImageElementFactory_QueryInterface(IHTMLImageElementFactory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLImageElementFactory_AddRef(IHTMLImageElementFactory* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLImageElementFactory_Release(IHTMLImageElementFactory* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLImageElementFactory_GetTypeInfoCount(IHTMLImageElementFactory* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLImageElementFactory_GetTypeInfo(IHTMLImageElementFactory* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLImageElementFactory_create(IHTMLImageElementFactory* This,VARIANT width,VARIANT height,IHTMLImgElement **elem) {
    return This->lpVtbl->create(This,width,height,elem);
}
#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 FORCEINLINE HRESULT DispHTMLImg_QueryInterface(DispHTMLImg* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLImg_AddRef(DispHTMLImg* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLImg_Release(DispHTMLImg* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLImg_GetTypeInfoCount(DispHTMLImg* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLImg_GetTypeInfo(DispHTMLImg* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 *p) = 0;

    virtual HRESULT STDMETHODCALLTYPE getResponseHeader(
        BSTR bstrHeader,
        BSTR *p) = 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 *p);

    HRESULT (STDMETHODCALLTYPE *getResponseHeader)(
        IHTMLXMLHttpRequest *This,
        BSTR bstrHeader,
        BSTR *p);

    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,p) (This)->lpVtbl->getAllResponseHeaders(This,p)
#define IHTMLXMLHttpRequest_getResponseHeader(This,bstrHeader,p) (This)->lpVtbl->getResponseHeader(This,bstrHeader,p)
#define IHTMLXMLHttpRequest_setRequestHeader(This,bstrHeader,bstrValue) (This)->lpVtbl->setRequestHeader(This,bstrHeader,bstrValue)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IHTMLXMLHttpRequest_QueryInterface(IHTMLXMLHttpRequest* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLXMLHttpRequest_AddRef(IHTMLXMLHttpRequest* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLXMLHttpRequest_Release(IHTMLXMLHttpRequest* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLXMLHttpRequest_GetTypeInfoCount(IHTMLXMLHttpRequest* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLXMLHttpRequest_GetTypeInfo(IHTMLXMLHttpRequest* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLXMLHttpRequest_get_readyState(IHTMLXMLHttpRequest* This,LONG *p) {
    return This->lpVtbl->get_readyState(This,p);
}
static FORCEINLINE HRESULT IHTMLXMLHttpRequest_get_responseBody(IHTMLXMLHttpRequest* This,VARIANT *p) {
    return This->lpVtbl->get_responseBody(This,p);
}
static FORCEINLINE HRESULT IHTMLXMLHttpRequest_get_responseText(IHTMLXMLHttpRequest* This,BSTR *p) {
    return This->lpVtbl->get_responseText(This,p);
}
static FORCEINLINE HRESULT IHTMLXMLHttpRequest_get_responseXML(IHTMLXMLHttpRequest* This,IDispatch **p) {
    return This->lpVtbl->get_responseXML(This,p);
}
static FORCEINLINE HRESULT IHTMLXMLHttpRequest_get_status(IHTMLXMLHttpRequest* This,LONG *p) {
    return This->lpVtbl->get_status(This,p);
}
static FORCEINLINE HRESULT IHTMLXMLHttpRequest_get_statusText(IHTMLXMLHttpRequest* This,BSTR *p) {
    return This->lpVtbl->get_statusText(This,p);
}
static FORCEINLINE HRESULT IHTMLXMLHttpRequest_put_onreadystatechange(IHTMLXMLHttpRequest* This,VARIANT v) {
    return This->lpVtbl->put_onreadystatechange(This,v);
}
static FORCEINLINE HRESULT IHTMLXMLHttpRequest_get_onreadystatechange(IHTMLXMLHttpRequest* This,VARIANT *p) {
    return This->lpVtbl->get_onreadystatechange(This,p);
}
static FORCEINLINE HRESULT IHTMLXMLHttpRequest_abort(IHTMLXMLHttpRequest* This) {
    return This->lpVtbl->abort(This);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLXMLHttpRequest_send(IHTMLXMLHttpRequest* This,VARIANT varBody) {
    return This->lpVtbl->send(This,varBody);
}
static FORCEINLINE HRESULT IHTMLXMLHttpRequest_getAllResponseHeaders(IHTMLXMLHttpRequest* This,BSTR *p) {
    return This->lpVtbl->getAllResponseHeaders(This,p);
}
static FORCEINLINE HRESULT IHTMLXMLHttpRequest_getResponseHeader(IHTMLXMLHttpRequest* This,BSTR bstrHeader,BSTR *p) {
    return This->lpVtbl->getResponseHeader(This,bstrHeader,p);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLXMLHttpRequest2_QueryInterface(IHTMLXMLHttpRequest2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLXMLHttpRequest2_AddRef(IHTMLXMLHttpRequest2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLXMLHttpRequest2_Release(IHTMLXMLHttpRequest2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLXMLHttpRequest2_GetTypeInfoCount(IHTMLXMLHttpRequest2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLXMLHttpRequest2_GetTypeInfo(IHTMLXMLHttpRequest2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLXMLHttpRequest2_put_timeout(IHTMLXMLHttpRequest2* This,LONG v) {
    return This->lpVtbl->put_timeout(This,v);
}
static FORCEINLINE HRESULT IHTMLXMLHttpRequest2_get_timeout(IHTMLXMLHttpRequest2* This,LONG *p) {
    return This->lpVtbl->get_timeout(This,p);
}
static FORCEINLINE HRESULT IHTMLXMLHttpRequest2_put_ontimeout(IHTMLXMLHttpRequest2* This,VARIANT v) {
    return This->lpVtbl->put_ontimeout(This,v);
}
static FORCEINLINE 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 **p) = 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 **p);

    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,p) (This)->lpVtbl->create(This,p)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IHTMLXMLHttpRequestFactory_QueryInterface(IHTMLXMLHttpRequestFactory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLXMLHttpRequestFactory_AddRef(IHTMLXMLHttpRequestFactory* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLXMLHttpRequestFactory_Release(IHTMLXMLHttpRequestFactory* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLXMLHttpRequestFactory_GetTypeInfoCount(IHTMLXMLHttpRequestFactory* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLXMLHttpRequestFactory_GetTypeInfo(IHTMLXMLHttpRequestFactory* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLXMLHttpRequestFactory_create(IHTMLXMLHttpRequestFactory* This,IHTMLXMLHttpRequest **p) {
    return This->lpVtbl->create(This,p);
}
#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 FORCEINLINE HRESULT DispHTMLXMLHttpRequest_QueryInterface(DispHTMLXMLHttpRequest* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLXMLHttpRequest_AddRef(DispHTMLXMLHttpRequest* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLXMLHttpRequest_Release(DispHTMLXMLHttpRequest* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLXMLHttpRequest_GetTypeInfoCount(DispHTMLXMLHttpRequest* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLXMLHttpRequest_GetTypeInfo(DispHTMLXMLHttpRequest* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLControlElement_QueryInterface(IHTMLControlElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLControlElement_AddRef(IHTMLControlElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLControlElement_Release(IHTMLControlElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLControlElement_GetTypeInfoCount(IHTMLControlElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLControlElement_GetTypeInfo(IHTMLControlElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLControlElement_put_tabIndex(IHTMLControlElement* This,short v) {
    return This->lpVtbl->put_tabIndex(This,v);
}
static FORCEINLINE HRESULT IHTMLControlElement_get_tabIndex(IHTMLControlElement* This,short *p) {
    return This->lpVtbl->get_tabIndex(This,p);
}
static FORCEINLINE HRESULT IHTMLControlElement_focus(IHTMLControlElement* This) {
    return This->lpVtbl->focus(This);
}
static FORCEINLINE HRESULT IHTMLControlElement_put_accessKey(IHTMLControlElement* This,BSTR v) {
    return This->lpVtbl->put_accessKey(This,v);
}
static FORCEINLINE HRESULT IHTMLControlElement_get_accessKey(IHTMLControlElement* This,BSTR *p) {
    return This->lpVtbl->get_accessKey(This,p);
}
static FORCEINLINE HRESULT IHTMLControlElement_put_onblur(IHTMLControlElement* This,VARIANT v) {
    return This->lpVtbl->put_onblur(This,v);
}
static FORCEINLINE HRESULT IHTMLControlElement_get_onblur(IHTMLControlElement* This,VARIANT *p) {
    return This->lpVtbl->get_onblur(This,p);
}
static FORCEINLINE HRESULT IHTMLControlElement_put_onfocus(IHTMLControlElement* This,VARIANT v) {
    return This->lpVtbl->put_onfocus(This,v);
}
static FORCEINLINE HRESULT IHTMLControlElement_get_onfocus(IHTMLControlElement* This,VARIANT *p) {
    return This->lpVtbl->get_onfocus(This,p);
}
static FORCEINLINE HRESULT IHTMLControlElement_put_onresize(IHTMLControlElement* This,VARIANT v) {
    return This->lpVtbl->put_onresize(This,v);
}
static FORCEINLINE HRESULT IHTMLControlElement_get_onresize(IHTMLControlElement* This,VARIANT *p) {
    return This->lpVtbl->get_onresize(This,p);
}
static FORCEINLINE HRESULT IHTMLControlElement_blur(IHTMLControlElement* This) {
    return This->lpVtbl->blur(This);
}
static FORCEINLINE HRESULT IHTMLControlElement_addFilter(IHTMLControlElement* This,IUnknown *pUnk) {
    return This->lpVtbl->addFilter(This,pUnk);
}
static FORCEINLINE HRESULT IHTMLControlElement_removeFilter(IHTMLControlElement* This,IUnknown *pUnk) {
    return This->lpVtbl->removeFilter(This,pUnk);
}
static FORCEINLINE HRESULT IHTMLControlElement_get_clientHeight(IHTMLControlElement* This,LONG *p) {
    return This->lpVtbl->get_clientHeight(This,p);
}
static FORCEINLINE HRESULT IHTMLControlElement_get_clientWidth(IHTMLControlElement* This,LONG *p) {
    return This->lpVtbl->get_clientWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLControlElement_get_clientTop(IHTMLControlElement* This,LONG *p) {
    return This->lpVtbl->get_clientTop(This,p);
}
static FORCEINLINE HRESULT IHTMLControlElement_get_clientLeft(IHTMLControlElement* This,LONG *p) {
    return This->lpVtbl->get_clientLeft(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLControlElement_INTERFACE_DEFINED__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLBodyElement_QueryInterface(IHTMLBodyElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLBodyElement_AddRef(IHTMLBodyElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLBodyElement_Release(IHTMLBodyElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLBodyElement_GetTypeInfoCount(IHTMLBodyElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLBodyElement_GetTypeInfo(IHTMLBodyElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLBodyElement_put_background(IHTMLBodyElement* This,BSTR v) {
    return This->lpVtbl->put_background(This,v);
}
static FORCEINLINE HRESULT IHTMLBodyElement_get_background(IHTMLBodyElement* This,BSTR *p) {
    return This->lpVtbl->get_background(This,p);
}
static FORCEINLINE HRESULT IHTMLBodyElement_put_bgProperties(IHTMLBodyElement* This,BSTR v) {
    return This->lpVtbl->put_bgProperties(This,v);
}
static FORCEINLINE HRESULT IHTMLBodyElement_get_bgProperties(IHTMLBodyElement* This,BSTR *p) {
    return This->lpVtbl->get_bgProperties(This,p);
}
static FORCEINLINE HRESULT IHTMLBodyElement_put_leftMargin(IHTMLBodyElement* This,VARIANT v) {
    return This->lpVtbl->put_leftMargin(This,v);
}
static FORCEINLINE HRESULT IHTMLBodyElement_get_leftMargin(IHTMLBodyElement* This,VARIANT *p) {
    return This->lpVtbl->get_leftMargin(This,p);
}
static FORCEINLINE HRESULT IHTMLBodyElement_put_topMargin(IHTMLBodyElement* This,VARIANT v) {
    return This->lpVtbl->put_topMargin(This,v);
}
static FORCEINLINE HRESULT IHTMLBodyElement_get_topMargin(IHTMLBodyElement* This,VARIANT *p) {
    return This->lpVtbl->get_topMargin(This,p);
}
static FORCEINLINE HRESULT IHTMLBodyElement_put_rightMargin(IHTMLBodyElement* This,VARIANT v) {
    return This->lpVtbl->put_rightMargin(This,v);
}
static FORCEINLINE HRESULT IHTMLBodyElement_get_rightMargin(IHTMLBodyElement* This,VARIANT *p) {
    return This->lpVtbl->get_rightMargin(This,p);
}
static FORCEINLINE HRESULT IHTMLBodyElement_put_bottomMargin(IHTMLBodyElement* This,VARIANT v) {
    return This->lpVtbl->put_bottomMargin(This,v);
}
static FORCEINLINE HRESULT IHTMLBodyElement_get_bottomMargin(IHTMLBodyElement* This,VARIANT *p) {
    return This->lpVtbl->get_bottomMargin(This,p);
}
static FORCEINLINE HRESULT IHTMLBodyElement_put_noWrap(IHTMLBodyElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_noWrap(This,v);
}
static FORCEINLINE HRESULT IHTMLBodyElement_get_noWrap(IHTMLBodyElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_noWrap(This,p);
}
static FORCEINLINE HRESULT IHTMLBodyElement_put_bgColor(IHTMLBodyElement* This,VARIANT v) {
    return This->lpVtbl->put_bgColor(This,v);
}
static FORCEINLINE HRESULT IHTMLBodyElement_get_bgColor(IHTMLBodyElement* This,VARIANT *p) {
    return This->lpVtbl->get_bgColor(This,p);
}
static FORCEINLINE HRESULT IHTMLBodyElement_put_text(IHTMLBodyElement* This,VARIANT v) {
    return This->lpVtbl->put_text(This,v);
}
static FORCEINLINE HRESULT IHTMLBodyElement_get_text(IHTMLBodyElement* This,VARIANT *p) {
    return This->lpVtbl->get_text(This,p);
}
static FORCEINLINE HRESULT IHTMLBodyElement_put_link(IHTMLBodyElement* This,VARIANT v) {
    return This->lpVtbl->put_link(This,v);
}
static FORCEINLINE HRESULT IHTMLBodyElement_get_link(IHTMLBodyElement* This,VARIANT *p) {
    return This->lpVtbl->get_link(This,p);
}
static FORCEINLINE HRESULT IHTMLBodyElement_put_vLink(IHTMLBodyElement* This,VARIANT v) {
    return This->lpVtbl->put_vLink(This,v);
}
static FORCEINLINE HRESULT IHTMLBodyElement_get_vLink(IHTMLBodyElement* This,VARIANT *p) {
    return This->lpVtbl->get_vLink(This,p);
}
static FORCEINLINE HRESULT IHTMLBodyElement_put_aLink(IHTMLBodyElement* This,VARIANT v) {
    return This->lpVtbl->put_aLink(This,v);
}
static FORCEINLINE HRESULT IHTMLBodyElement_get_aLink(IHTMLBodyElement* This,VARIANT *p) {
    return This->lpVtbl->get_aLink(This,p);
}
static FORCEINLINE HRESULT IHTMLBodyElement_put_onload(IHTMLBodyElement* This,VARIANT v) {
    return This->lpVtbl->put_onload(This,v);
}
static FORCEINLINE HRESULT IHTMLBodyElement_get_onload(IHTMLBodyElement* This,VARIANT *p) {
    return This->lpVtbl->get_onload(This,p);
}
static FORCEINLINE HRESULT IHTMLBodyElement_put_onunload(IHTMLBodyElement* This,VARIANT v) {
    return This->lpVtbl->put_onunload(This,v);
}
static FORCEINLINE HRESULT IHTMLBodyElement_get_onunload(IHTMLBodyElement* This,VARIANT *p) {
    return This->lpVtbl->get_onunload(This,p);
}
static FORCEINLINE HRESULT IHTMLBodyElement_put_scroll(IHTMLBodyElement* This,BSTR v) {
    return This->lpVtbl->put_scroll(This,v);
}
static FORCEINLINE HRESULT IHTMLBodyElement_get_scroll(IHTMLBodyElement* This,BSTR *p) {
    return This->lpVtbl->get_scroll(This,p);
}
static FORCEINLINE HRESULT IHTMLBodyElement_put_onselect(IHTMLBodyElement* This,VARIANT v) {
    return This->lpVtbl->put_onselect(This,v);
}
static FORCEINLINE HRESULT IHTMLBodyElement_get_onselect(IHTMLBodyElement* This,VARIANT *p) {
    return This->lpVtbl->get_onselect(This,p);
}
static FORCEINLINE HRESULT IHTMLBodyElement_put_onbeforeunload(IHTMLBodyElement* This,VARIANT v) {
    return This->lpVtbl->put_onbeforeunload(This,v);
}
static FORCEINLINE HRESULT IHTMLBodyElement_get_onbeforeunload(IHTMLBodyElement* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforeunload(This,p);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLBodyElement2_QueryInterface(IHTMLBodyElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLBodyElement2_AddRef(IHTMLBodyElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLBodyElement2_Release(IHTMLBodyElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLBodyElement2_GetTypeInfoCount(IHTMLBodyElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLBodyElement2_GetTypeInfo(IHTMLBodyElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLBodyElement2_put_onbeforeprint(IHTMLBodyElement2* This,VARIANT v) {
    return This->lpVtbl->put_onbeforeprint(This,v);
}
static FORCEINLINE HRESULT IHTMLBodyElement2_get_onbeforeprint(IHTMLBodyElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforeprint(This,p);
}
static FORCEINLINE HRESULT IHTMLBodyElement2_put_onafterprint(IHTMLBodyElement2* This,VARIANT v) {
    return This->lpVtbl->put_onafterprint(This,v);
}
static FORCEINLINE HRESULT IHTMLBodyElement2_get_onafterprint(IHTMLBodyElement2* This,VARIANT *p) {
    return This->lpVtbl->get_onafterprint(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLBodyElement2_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 FORCEINLINE HRESULT DispHTMLBody_QueryInterface(DispHTMLBody* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLBody_AddRef(DispHTMLBody* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLBody_Release(DispHTMLBody* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLBody_GetTypeInfoCount(DispHTMLBody* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLBody_GetTypeInfo(DispHTMLBody* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLAnchorElement_QueryInterface(IHTMLAnchorElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLAnchorElement_AddRef(IHTMLAnchorElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLAnchorElement_Release(IHTMLAnchorElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLAnchorElement_GetTypeInfoCount(IHTMLAnchorElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_GetTypeInfo(IHTMLAnchorElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLAnchorElement_put_href(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_href(This,v);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_get_href(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_href(This,p);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_put_target(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_target(This,v);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_get_target(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_target(This,p);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_put_rel(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_rel(This,v);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_get_rel(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_rel(This,p);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_put_rev(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_rev(This,v);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_get_rev(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_rev(This,p);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_put_urn(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_urn(This,v);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_get_urn(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_urn(This,p);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_put_Methods(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_Methods(This,v);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_get_Methods(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_Methods(This,p);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_put_name(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_get_name(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_put_host(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_host(This,v);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_get_host(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_host(This,p);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_put_hostname(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_hostname(This,v);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_get_hostname(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_hostname(This,p);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_put_pathname(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_pathname(This,v);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_get_pathname(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_pathname(This,p);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_put_port(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_port(This,v);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_get_port(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_port(This,p);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_put_protocol(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_protocol(This,v);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_get_protocol(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_protocol(This,p);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_put_search(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_search(This,v);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_get_search(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_search(This,p);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_put_hash(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_hash(This,v);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_get_hash(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_hash(This,p);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_put_onblur(IHTMLAnchorElement* This,VARIANT v) {
    return This->lpVtbl->put_onblur(This,v);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_get_onblur(IHTMLAnchorElement* This,VARIANT *p) {
    return This->lpVtbl->get_onblur(This,p);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_put_onfocus(IHTMLAnchorElement* This,VARIANT v) {
    return This->lpVtbl->put_onfocus(This,v);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_get_onfocus(IHTMLAnchorElement* This,VARIANT *p) {
    return This->lpVtbl->get_onfocus(This,p);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_put_accessKey(IHTMLAnchorElement* This,BSTR v) {
    return This->lpVtbl->put_accessKey(This,v);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_get_accessKey(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_accessKey(This,p);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_get_protocolLong(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_protocolLong(This,p);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_get_mimeType(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_mimeType(This,p);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_get_nameProp(IHTMLAnchorElement* This,BSTR *p) {
    return This->lpVtbl->get_nameProp(This,p);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_put_tabIndex(IHTMLAnchorElement* This,short v) {
    return This->lpVtbl->put_tabIndex(This,v);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_get_tabIndex(IHTMLAnchorElement* This,short *p) {
    return This->lpVtbl->get_tabIndex(This,p);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_focus(IHTMLAnchorElement* This) {
    return This->lpVtbl->focus(This);
}
static FORCEINLINE HRESULT IHTMLAnchorElement_blur(IHTMLAnchorElement* This) {
    return This->lpVtbl->blur(This);
}
#endif
#endif

#endif


#endif  /* __IHTMLAnchorElement_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 FORCEINLINE HRESULT DispHTMLAnchorElement_QueryInterface(DispHTMLAnchorElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLAnchorElement_AddRef(DispHTMLAnchorElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLAnchorElement_Release(DispHTMLAnchorElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLAnchorElement_GetTypeInfoCount(DispHTMLAnchorElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLAnchorElement_GetTypeInfo(DispHTMLAnchorElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLAreaElement_QueryInterface(IHTMLAreaElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLAreaElement_AddRef(IHTMLAreaElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLAreaElement_Release(IHTMLAreaElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLAreaElement_GetTypeInfoCount(IHTMLAreaElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLAreaElement_GetTypeInfo(IHTMLAreaElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLAreaElement_put_shape(IHTMLAreaElement* This,BSTR v) {
    return This->lpVtbl->put_shape(This,v);
}
static FORCEINLINE HRESULT IHTMLAreaElement_get_shape(IHTMLAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_shape(This,p);
}
static FORCEINLINE HRESULT IHTMLAreaElement_put_coords(IHTMLAreaElement* This,BSTR v) {
    return This->lpVtbl->put_coords(This,v);
}
static FORCEINLINE HRESULT IHTMLAreaElement_get_coords(IHTMLAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_coords(This,p);
}
static FORCEINLINE HRESULT IHTMLAreaElement_put_href(IHTMLAreaElement* This,BSTR v) {
    return This->lpVtbl->put_href(This,v);
}
static FORCEINLINE HRESULT IHTMLAreaElement_get_href(IHTMLAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_href(This,p);
}
static FORCEINLINE HRESULT IHTMLAreaElement_put_target(IHTMLAreaElement* This,BSTR v) {
    return This->lpVtbl->put_target(This,v);
}
static FORCEINLINE HRESULT IHTMLAreaElement_get_target(IHTMLAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_target(This,p);
}
static FORCEINLINE HRESULT IHTMLAreaElement_put_alt(IHTMLAreaElement* This,BSTR v) {
    return This->lpVtbl->put_alt(This,v);
}
static FORCEINLINE HRESULT IHTMLAreaElement_get_alt(IHTMLAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_alt(This,p);
}
static FORCEINLINE HRESULT IHTMLAreaElement_put_noHref(IHTMLAreaElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_noHref(This,v);
}
static FORCEINLINE HRESULT IHTMLAreaElement_get_noHref(IHTMLAreaElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_noHref(This,p);
}
static FORCEINLINE HRESULT IHTMLAreaElement_put_host(IHTMLAreaElement* This,BSTR v) {
    return This->lpVtbl->put_host(This,v);
}
static FORCEINLINE HRESULT IHTMLAreaElement_get_host(IHTMLAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_host(This,p);
}
static FORCEINLINE HRESULT IHTMLAreaElement_put_hostname(IHTMLAreaElement* This,BSTR v) {
    return This->lpVtbl->put_hostname(This,v);
}
static FORCEINLINE HRESULT IHTMLAreaElement_get_hostname(IHTMLAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_hostname(This,p);
}
static FORCEINLINE HRESULT IHTMLAreaElement_put_pathname(IHTMLAreaElement* This,BSTR v) {
    return This->lpVtbl->put_pathname(This,v);
}
static FORCEINLINE HRESULT IHTMLAreaElement_get_pathname(IHTMLAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_pathname(This,p);
}
static FORCEINLINE HRESULT IHTMLAreaElement_put_port(IHTMLAreaElement* This,BSTR v) {
    return This->lpVtbl->put_port(This,v);
}
static FORCEINLINE HRESULT IHTMLAreaElement_get_port(IHTMLAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_port(This,p);
}
static FORCEINLINE HRESULT IHTMLAreaElement_put_protocol(IHTMLAreaElement* This,BSTR v) {
    return This->lpVtbl->put_protocol(This,v);
}
static FORCEINLINE HRESULT IHTMLAreaElement_get_protocol(IHTMLAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_protocol(This,p);
}
static FORCEINLINE HRESULT IHTMLAreaElement_put_search(IHTMLAreaElement* This,BSTR v) {
    return This->lpVtbl->put_search(This,v);
}
static FORCEINLINE HRESULT IHTMLAreaElement_get_search(IHTMLAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_search(This,p);
}
static FORCEINLINE HRESULT IHTMLAreaElement_put_hash(IHTMLAreaElement* This,BSTR v) {
    return This->lpVtbl->put_hash(This,v);
}
static FORCEINLINE HRESULT IHTMLAreaElement_get_hash(IHTMLAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_hash(This,p);
}
static FORCEINLINE HRESULT IHTMLAreaElement_put_onblur(IHTMLAreaElement* This,VARIANT v) {
    return This->lpVtbl->put_onblur(This,v);
}
static FORCEINLINE HRESULT IHTMLAreaElement_get_onblur(IHTMLAreaElement* This,VARIANT *p) {
    return This->lpVtbl->get_onblur(This,p);
}
static FORCEINLINE HRESULT IHTMLAreaElement_put_onfocus(IHTMLAreaElement* This,VARIANT v) {
    return This->lpVtbl->put_onfocus(This,v);
}
static FORCEINLINE HRESULT IHTMLAreaElement_get_onfocus(IHTMLAreaElement* This,VARIANT *p) {
    return This->lpVtbl->get_onfocus(This,p);
}
static FORCEINLINE HRESULT IHTMLAreaElement_put_tabIndex(IHTMLAreaElement* This,short v) {
    return This->lpVtbl->put_tabIndex(This,v);
}
static FORCEINLINE HRESULT IHTMLAreaElement_get_tabIndex(IHTMLAreaElement* This,short *p) {
    return This->lpVtbl->get_tabIndex(This,p);
}
static FORCEINLINE HRESULT IHTMLAreaElement_focus(IHTMLAreaElement* This) {
    return This->lpVtbl->focus(This);
}
static FORCEINLINE HRESULT IHTMLAreaElement_blur(IHTMLAreaElement* This) {
    return This->lpVtbl->blur(This);
}
#endif
#endif

#endif


#endif  /* __IHTMLAreaElement_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 FORCEINLINE HRESULT DispHTMLAreaElement_QueryInterface(DispHTMLAreaElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLAreaElement_AddRef(DispHTMLAreaElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLAreaElement_Release(DispHTMLAreaElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLAreaElement_GetTypeInfoCount(DispHTMLAreaElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLAreaElement_GetTypeInfo(DispHTMLAreaElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLLabelElement_QueryInterface(IHTMLLabelElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLLabelElement_AddRef(IHTMLLabelElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLLabelElement_Release(IHTMLLabelElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLLabelElement_GetTypeInfoCount(IHTMLLabelElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLLabelElement_GetTypeInfo(IHTMLLabelElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLLabelElement_put_htmlFor(IHTMLLabelElement* This,BSTR v) {
    return This->lpVtbl->put_htmlFor(This,v);
}
static FORCEINLINE HRESULT IHTMLLabelElement_get_htmlFor(IHTMLLabelElement* This,BSTR *p) {
    return This->lpVtbl->get_htmlFor(This,p);
}
static FORCEINLINE HRESULT IHTMLLabelElement_put_accessKey(IHTMLLabelElement* This,BSTR v) {
    return This->lpVtbl->put_accessKey(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLLabelElement2_QueryInterface(IHTMLLabelElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLLabelElement2_AddRef(IHTMLLabelElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLLabelElement2_Release(IHTMLLabelElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLLabelElement2_GetTypeInfoCount(IHTMLLabelElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLLabelElement2_GetTypeInfo(IHTMLLabelElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT DispHTMLLabelElement_QueryInterface(DispHTMLLabelElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLLabelElement_AddRef(DispHTMLLabelElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLLabelElement_Release(DispHTMLLabelElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLLabelElement_GetTypeInfoCount(DispHTMLLabelElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLLabelElement_GetTypeInfo(DispHTMLLabelElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLElementCollection_QueryInterface(IHTMLElementCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLElementCollection_AddRef(IHTMLElementCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLElementCollection_Release(IHTMLElementCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLElementCollection_GetTypeInfoCount(IHTMLElementCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLElementCollection_GetTypeInfo(IHTMLElementCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLElementCollection_toString(IHTMLElementCollection* This,BSTR *String) {
    return This->lpVtbl->toString(This,String);
}
static FORCEINLINE HRESULT IHTMLElementCollection_put_length(IHTMLElementCollection* This,LONG v) {
    return This->lpVtbl->put_length(This,v);
}
static FORCEINLINE HRESULT IHTMLElementCollection_get_length(IHTMLElementCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static FORCEINLINE HRESULT IHTMLElementCollection_get__newEnum(IHTMLElementCollection* This,IUnknown **p) {
    return This->lpVtbl->get__newEnum(This,p);
}
static FORCEINLINE HRESULT IHTMLElementCollection_item(IHTMLElementCollection* This,VARIANT name,VARIANT index,IDispatch **pdisp) {
    return This->lpVtbl->item(This,name,index,pdisp);
}
static FORCEINLINE HRESULT IHTMLElementCollection_tags(IHTMLElementCollection* This,VARIANT tagName,IDispatch **pdisp) {
    return This->lpVtbl->tags(This,tagName,pdisp);
}
#endif
#endif

#endif


#endif  /* __IHTMLElementCollection_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 FORCEINLINE HRESULT DispHTMLElementCollection_QueryInterface(DispHTMLElementCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLElementCollection_AddRef(DispHTMLElementCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLElementCollection_Release(DispHTMLElementCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLElementCollection_GetTypeInfoCount(DispHTMLElementCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLElementCollection_GetTypeInfo(DispHTMLElementCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLSelectElement_QueryInterface(IHTMLSelectElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLSelectElement_AddRef(IHTMLSelectElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLSelectElement_Release(IHTMLSelectElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLSelectElement_GetTypeInfoCount(IHTMLSelectElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLSelectElement_GetTypeInfo(IHTMLSelectElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLSelectElement_put_size(IHTMLSelectElement* This,LONG v) {
    return This->lpVtbl->put_size(This,v);
}
static FORCEINLINE HRESULT IHTMLSelectElement_get_size(IHTMLSelectElement* This,LONG *p) {
    return This->lpVtbl->get_size(This,p);
}
static FORCEINLINE HRESULT IHTMLSelectElement_put_multiple(IHTMLSelectElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_multiple(This,v);
}
static FORCEINLINE HRESULT IHTMLSelectElement_get_multiple(IHTMLSelectElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_multiple(This,p);
}
static FORCEINLINE HRESULT IHTMLSelectElement_put_name(IHTMLSelectElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static FORCEINLINE HRESULT IHTMLSelectElement_get_name(IHTMLSelectElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static FORCEINLINE HRESULT IHTMLSelectElement_get_options(IHTMLSelectElement* This,IDispatch **p) {
    return This->lpVtbl->get_options(This,p);
}
static FORCEINLINE HRESULT IHTMLSelectElement_put_onchange(IHTMLSelectElement* This,VARIANT v) {
    return This->lpVtbl->put_onchange(This,v);
}
static FORCEINLINE HRESULT IHTMLSelectElement_get_onchange(IHTMLSelectElement* This,VARIANT *p) {
    return This->lpVtbl->get_onchange(This,p);
}
static FORCEINLINE HRESULT IHTMLSelectElement_put_selectedIndex(IHTMLSelectElement* This,LONG v) {
    return This->lpVtbl->put_selectedIndex(This,v);
}
static FORCEINLINE HRESULT IHTMLSelectElement_get_selectedIndex(IHTMLSelectElement* This,LONG *p) {
    return This->lpVtbl->get_selectedIndex(This,p);
}
static FORCEINLINE HRESULT IHTMLSelectElement_get_type(IHTMLSelectElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static FORCEINLINE HRESULT IHTMLSelectElement_put_value(IHTMLSelectElement* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static FORCEINLINE HRESULT IHTMLSelectElement_get_value(IHTMLSelectElement* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
static FORCEINLINE HRESULT IHTMLSelectElement_put_disabled(IHTMLSelectElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_disabled(This,v);
}
static FORCEINLINE HRESULT IHTMLSelectElement_get_disabled(IHTMLSelectElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_disabled(This,p);
}
static FORCEINLINE HRESULT IHTMLSelectElement_get_form(IHTMLSelectElement* This,IHTMLFormElement **p) {
    return This->lpVtbl->get_form(This,p);
}
static FORCEINLINE HRESULT IHTMLSelectElement_add(IHTMLSelectElement* This,IHTMLElement *element,VARIANT before) {
    return This->lpVtbl->add(This,element,before);
}
static FORCEINLINE HRESULT IHTMLSelectElement_remove(IHTMLSelectElement* This,LONG index) {
    return This->lpVtbl->remove(This,index);
}
static FORCEINLINE HRESULT IHTMLSelectElement_put_length(IHTMLSelectElement* This,LONG v) {
    return This->lpVtbl->put_length(This,v);
}
static FORCEINLINE HRESULT IHTMLSelectElement_get_length(IHTMLSelectElement* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static FORCEINLINE HRESULT IHTMLSelectElement_get__newEnum(IHTMLSelectElement* This,IUnknown **p) {
    return This->lpVtbl->get__newEnum(This,p);
}
static FORCEINLINE HRESULT IHTMLSelectElement_item(IHTMLSelectElement* This,VARIANT name,VARIANT index,IDispatch **pdisp) {
    return This->lpVtbl->item(This,name,index,pdisp);
}
static FORCEINLINE HRESULT IHTMLSelectElement_tags(IHTMLSelectElement* This,VARIANT tagName,IDispatch **pdisp) {
    return This->lpVtbl->tags(This,tagName,pdisp);
}
#endif
#endif

#endif


#endif  /* __IHTMLSelectElement_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 FORCEINLINE HRESULT DispHTMLSelectElement_QueryInterface(DispHTMLSelectElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLSelectElement_AddRef(DispHTMLSelectElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLSelectElement_Release(DispHTMLSelectElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLSelectElement_GetTypeInfoCount(DispHTMLSelectElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLSelectElement_GetTypeInfo(DispHTMLSelectElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLSelectionObject_QueryInterface(IHTMLSelectionObject* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLSelectionObject_AddRef(IHTMLSelectionObject* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLSelectionObject_Release(IHTMLSelectionObject* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLSelectionObject_GetTypeInfoCount(IHTMLSelectionObject* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLSelectionObject_GetTypeInfo(IHTMLSelectionObject* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLSelectionObject_createRange(IHTMLSelectionObject* This,IDispatch **range) {
    return This->lpVtbl->createRange(This,range);
}
static FORCEINLINE HRESULT IHTMLSelectionObject_empty(IHTMLSelectionObject* This) {
    return This->lpVtbl->empty(This);
}
static FORCEINLINE HRESULT IHTMLSelectionObject_clear(IHTMLSelectionObject* This) {
    return This->lpVtbl->clear(This);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLSelectionObject2_QueryInterface(IHTMLSelectionObject2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLSelectionObject2_AddRef(IHTMLSelectionObject2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLSelectionObject2_Release(IHTMLSelectionObject2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLSelectionObject2_GetTypeInfoCount(IHTMLSelectionObject2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLSelectionObject2_GetTypeInfo(IHTMLSelectionObject2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLSelectionObject2_createRangeCollection(IHTMLSelectionObject2* This,IDispatch **rangeCollection) {
    return This->lpVtbl->createRangeCollection(This,rangeCollection);
}
static FORCEINLINE 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 offset) = 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 offset);

    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,offset) (This)->lpVtbl->collapse(This,parentNode,offset)
#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 FORCEINLINE HRESULT IHTMLSelection_QueryInterface(IHTMLSelection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLSelection_AddRef(IHTMLSelection* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLSelection_Release(IHTMLSelection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLSelection_GetTypeInfoCount(IHTMLSelection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLSelection_GetTypeInfo(IHTMLSelection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLSelection_get_anchorNode(IHTMLSelection* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_anchorNode(This,p);
}
static FORCEINLINE HRESULT IHTMLSelection_get_anchorOffset(IHTMLSelection* This,LONG *p) {
    return This->lpVtbl->get_anchorOffset(This,p);
}
static FORCEINLINE HRESULT IHTMLSelection_get_focusNode(IHTMLSelection* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_focusNode(This,p);
}
static FORCEINLINE HRESULT IHTMLSelection_get_focusOffset(IHTMLSelection* This,LONG *p) {
    return This->lpVtbl->get_focusOffset(This,p);
}
static FORCEINLINE HRESULT IHTMLSelection_get_isCollapsed(IHTMLSelection* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_isCollapsed(This,p);
}
static FORCEINLINE HRESULT IHTMLSelection_collapse(IHTMLSelection* This,IDispatch *parentNode,LONG offset) {
    return This->lpVtbl->collapse(This,parentNode,offset);
}
static FORCEINLINE HRESULT IHTMLSelection_collapseToStart(IHTMLSelection* This) {
    return This->lpVtbl->collapseToStart(This);
}
static FORCEINLINE HRESULT IHTMLSelection_collapseToEnd(IHTMLSelection* This) {
    return This->lpVtbl->collapseToEnd(This);
}
static FORCEINLINE HRESULT IHTMLSelection_selectAllChildren(IHTMLSelection* This,IDispatch *parentNode) {
    return This->lpVtbl->selectAllChildren(This,parentNode);
}
static FORCEINLINE HRESULT IHTMLSelection_deleteFromDocument(IHTMLSelection* This) {
    return This->lpVtbl->deleteFromDocument(This);
}
static FORCEINLINE HRESULT IHTMLSelection_get_rangeCount(IHTMLSelection* This,LONG *p) {
    return This->lpVtbl->get_rangeCount(This,p);
}
static FORCEINLINE HRESULT IHTMLSelection_getRangeAt(IHTMLSelection* This,LONG index,IHTMLDOMRange **ppRange) {
    return This->lpVtbl->getRangeAt(This,index,ppRange);
}
static FORCEINLINE HRESULT IHTMLSelection_addRange(IHTMLSelection* This,IDispatch *range) {
    return This->lpVtbl->addRange(This,range);
}
static FORCEINLINE HRESULT IHTMLSelection_removeRange(IHTMLSelection* This,IDispatch *range) {
    return This->lpVtbl->removeRange(This,range);
}
static FORCEINLINE HRESULT IHTMLSelection_removeAllRanges(IHTMLSelection* This) {
    return This->lpVtbl->removeAllRanges(This);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLOptionElement_QueryInterface(IHTMLOptionElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLOptionElement_AddRef(IHTMLOptionElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLOptionElement_Release(IHTMLOptionElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLOptionElement_GetTypeInfoCount(IHTMLOptionElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLOptionElement_GetTypeInfo(IHTMLOptionElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLOptionElement_put_selected(IHTMLOptionElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_selected(This,v);
}
static FORCEINLINE HRESULT IHTMLOptionElement_get_selected(IHTMLOptionElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_selected(This,p);
}
static FORCEINLINE HRESULT IHTMLOptionElement_put_value(IHTMLOptionElement* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static FORCEINLINE HRESULT IHTMLOptionElement_get_value(IHTMLOptionElement* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
static FORCEINLINE HRESULT IHTMLOptionElement_put_defaultSelected(IHTMLOptionElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_defaultSelected(This,v);
}
static FORCEINLINE HRESULT IHTMLOptionElement_get_defaultSelected(IHTMLOptionElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_defaultSelected(This,p);
}
static FORCEINLINE HRESULT IHTMLOptionElement_put_index(IHTMLOptionElement* This,LONG v) {
    return This->lpVtbl->put_index(This,v);
}
static FORCEINLINE HRESULT IHTMLOptionElement_get_index(IHTMLOptionElement* This,LONG *p) {
    return This->lpVtbl->get_index(This,p);
}
static FORCEINLINE HRESULT IHTMLOptionElement_put_text(IHTMLOptionElement* This,BSTR v) {
    return This->lpVtbl->put_text(This,v);
}
static FORCEINLINE HRESULT IHTMLOptionElement_get_text(IHTMLOptionElement* This,BSTR *p) {
    return This->lpVtbl->get_text(This,p);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLOptionElement3_QueryInterface(IHTMLOptionElement3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLOptionElement3_AddRef(IHTMLOptionElement3* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLOptionElement3_Release(IHTMLOptionElement3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLOptionElement3_GetTypeInfoCount(IHTMLOptionElement3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLOptionElement3_GetTypeInfo(IHTMLOptionElement3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLOptionElement3_put_label(IHTMLOptionElement3* This,BSTR v) {
    return This->lpVtbl->put_label(This,v);
}
static FORCEINLINE HRESULT IHTMLOptionElement3_get_label(IHTMLOptionElement3* This,BSTR *p) {
    return This->lpVtbl->get_label(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLOptionElement3_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 **optelem) = 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 **optelem);

    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,optelem) (This)->lpVtbl->create(This,text,value,defaultselected,selected,optelem)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IHTMLOptionElementFactory_QueryInterface(IHTMLOptionElementFactory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLOptionElementFactory_AddRef(IHTMLOptionElementFactory* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLOptionElementFactory_Release(IHTMLOptionElementFactory* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLOptionElementFactory_GetTypeInfoCount(IHTMLOptionElementFactory* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLOptionElementFactory_GetTypeInfo(IHTMLOptionElementFactory* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLOptionElementFactory_create(IHTMLOptionElementFactory* This,VARIANT text,VARIANT value,VARIANT defaultselected,VARIANT selected,IHTMLOptionElement **optelem) {
    return This->lpVtbl->create(This,text,value,defaultselected,selected,optelem);
}
#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 FORCEINLINE HRESULT DispHTMLOptionElement_QueryInterface(DispHTMLOptionElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLOptionElement_AddRef(DispHTMLOptionElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLOptionElement_Release(DispHTMLOptionElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLOptionElement_GetTypeInfoCount(DispHTMLOptionElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLOptionElement_GetTypeInfo(DispHTMLOptionElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLInputElement_QueryInterface(IHTMLInputElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLInputElement_AddRef(IHTMLInputElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLInputElement_Release(IHTMLInputElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLInputElement_GetTypeInfoCount(IHTMLInputElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLInputElement_GetTypeInfo(IHTMLInputElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLInputElement_put_type(IHTMLInputElement* This,BSTR v) {
    return This->lpVtbl->put_type(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_type(IHTMLInputElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_value(IHTMLInputElement* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_value(IHTMLInputElement* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_name(IHTMLInputElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_name(IHTMLInputElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_status(IHTMLInputElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_status(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_status(IHTMLInputElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_status(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_disabled(IHTMLInputElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_disabled(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_disabled(IHTMLInputElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_disabled(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_form(IHTMLInputElement* This,IHTMLFormElement **p) {
    return This->lpVtbl->get_form(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_size(IHTMLInputElement* This,LONG v) {
    return This->lpVtbl->put_size(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_size(IHTMLInputElement* This,LONG *p) {
    return This->lpVtbl->get_size(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_maxLength(IHTMLInputElement* This,LONG v) {
    return This->lpVtbl->put_maxLength(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_maxLength(IHTMLInputElement* This,LONG *p) {
    return This->lpVtbl->get_maxLength(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_select(IHTMLInputElement* This) {
    return This->lpVtbl->select(This);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_onchange(IHTMLInputElement* This,VARIANT v) {
    return This->lpVtbl->put_onchange(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_onchange(IHTMLInputElement* This,VARIANT *p) {
    return This->lpVtbl->get_onchange(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_onselect(IHTMLInputElement* This,VARIANT v) {
    return This->lpVtbl->put_onselect(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_onselect(IHTMLInputElement* This,VARIANT *p) {
    return This->lpVtbl->get_onselect(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_defaultValue(IHTMLInputElement* This,BSTR v) {
    return This->lpVtbl->put_defaultValue(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_defaultValue(IHTMLInputElement* This,BSTR *p) {
    return This->lpVtbl->get_defaultValue(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_readOnly(IHTMLInputElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_readOnly(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_readOnly(IHTMLInputElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_readOnly(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_createTextRange(IHTMLInputElement* This,IHTMLTxtRange **range) {
    return This->lpVtbl->createTextRange(This,range);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_indeterminate(IHTMLInputElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_indeterminate(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_indeterminate(IHTMLInputElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_indeterminate(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_defaultChecked(IHTMLInputElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_defaultChecked(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_defaultChecked(IHTMLInputElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_defaultChecked(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_checked(IHTMLInputElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_checked(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_checked(IHTMLInputElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_checked(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_border(IHTMLInputElement* This,VARIANT v) {
    return This->lpVtbl->put_border(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_border(IHTMLInputElement* This,VARIANT *p) {
    return This->lpVtbl->get_border(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_vspace(IHTMLInputElement* This,LONG v) {
    return This->lpVtbl->put_vspace(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_vspace(IHTMLInputElement* This,LONG *p) {
    return This->lpVtbl->get_vspace(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_hspace(IHTMLInputElement* This,LONG v) {
    return This->lpVtbl->put_hspace(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_hspace(IHTMLInputElement* This,LONG *p) {
    return This->lpVtbl->get_hspace(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_alt(IHTMLInputElement* This,BSTR v) {
    return This->lpVtbl->put_alt(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_alt(IHTMLInputElement* This,BSTR *p) {
    return This->lpVtbl->get_alt(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_src(IHTMLInputElement* This,BSTR v) {
    return This->lpVtbl->put_src(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_src(IHTMLInputElement* This,BSTR *p) {
    return This->lpVtbl->get_src(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_lowsrc(IHTMLInputElement* This,BSTR v) {
    return This->lpVtbl->put_lowsrc(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_lowsrc(IHTMLInputElement* This,BSTR *p) {
    return This->lpVtbl->get_lowsrc(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_vrml(IHTMLInputElement* This,BSTR v) {
    return This->lpVtbl->put_vrml(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_vrml(IHTMLInputElement* This,BSTR *p) {
    return This->lpVtbl->get_vrml(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_dynsrc(IHTMLInputElement* This,BSTR v) {
    return This->lpVtbl->put_dynsrc(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_dynsrc(IHTMLInputElement* This,BSTR *p) {
    return This->lpVtbl->get_dynsrc(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_readyState(IHTMLInputElement* This,BSTR *p) {
    return This->lpVtbl->get_readyState(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_complete(IHTMLInputElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_complete(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_loop(IHTMLInputElement* This,VARIANT v) {
    return This->lpVtbl->put_loop(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_loop(IHTMLInputElement* This,VARIANT *p) {
    return This->lpVtbl->get_loop(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_align(IHTMLInputElement* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_align(IHTMLInputElement* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_onload(IHTMLInputElement* This,VARIANT v) {
    return This->lpVtbl->put_onload(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_onload(IHTMLInputElement* This,VARIANT *p) {
    return This->lpVtbl->get_onload(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_onerror(IHTMLInputElement* This,VARIANT v) {
    return This->lpVtbl->put_onerror(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_onerror(IHTMLInputElement* This,VARIANT *p) {
    return This->lpVtbl->get_onerror(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_onabort(IHTMLInputElement* This,VARIANT v) {
    return This->lpVtbl->put_onabort(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_onabort(IHTMLInputElement* This,VARIANT *p) {
    return This->lpVtbl->get_onabort(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_width(IHTMLInputElement* This,LONG v) {
    return This->lpVtbl->put_width(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_width(IHTMLInputElement* This,LONG *p) {
    return This->lpVtbl->get_width(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_height(IHTMLInputElement* This,LONG v) {
    return This->lpVtbl->put_height(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_height(IHTMLInputElement* This,LONG *p) {
    return This->lpVtbl->get_height(This,p);
}
static FORCEINLINE HRESULT IHTMLInputElement_put_start(IHTMLInputElement* This,BSTR v) {
    return This->lpVtbl->put_start(This,v);
}
static FORCEINLINE HRESULT IHTMLInputElement_get_start(IHTMLInputElement* This,BSTR *p) {
    return This->lpVtbl->get_start(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLInputElement_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 FORCEINLINE HRESULT IHTMLInputTextElement_QueryInterface(IHTMLInputTextElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLInputTextElement_AddRef(IHTMLInputTextElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLInputTextElement_Release(IHTMLInputTextElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLInputTextElement_GetTypeInfoCount(IHTMLInputTextElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLInputTextElement_GetTypeInfo(IHTMLInputTextElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLInputTextElement_get_type(IHTMLInputTextElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static FORCEINLINE HRESULT IHTMLInputTextElement_put_value(IHTMLInputTextElement* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static FORCEINLINE HRESULT IHTMLInputTextElement_get_value(IHTMLInputTextElement* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
static FORCEINLINE HRESULT IHTMLInputTextElement_put_name(IHTMLInputTextElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static FORCEINLINE HRESULT IHTMLInputTextElement_get_name(IHTMLInputTextElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static FORCEINLINE HRESULT IHTMLInputTextElement_put_status(IHTMLInputTextElement* This,VARIANT v) {
    return This->lpVtbl->put_status(This,v);
}
static FORCEINLINE HRESULT IHTMLInputTextElement_get_status(IHTMLInputTextElement* This,VARIANT *p) {
    return This->lpVtbl->get_status(This,p);
}
static FORCEINLINE HRESULT IHTMLInputTextElement_put_disabled(IHTMLInputTextElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_disabled(This,v);
}
static FORCEINLINE HRESULT IHTMLInputTextElement_get_disabled(IHTMLInputTextElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_disabled(This,p);
}
static FORCEINLINE HRESULT IHTMLInputTextElement_get_form(IHTMLInputTextElement* This,IHTMLFormElement **p) {
    return This->lpVtbl->get_form(This,p);
}
static FORCEINLINE HRESULT IHTMLInputTextElement_put_defaultValue(IHTMLInputTextElement* This,BSTR v) {
    return This->lpVtbl->put_defaultValue(This,v);
}
static FORCEINLINE HRESULT IHTMLInputTextElement_get_defaultValue(IHTMLInputTextElement* This,BSTR *p) {
    return This->lpVtbl->get_defaultValue(This,p);
}
static FORCEINLINE HRESULT IHTMLInputTextElement_put_size(IHTMLInputTextElement* This,LONG v) {
    return This->lpVtbl->put_size(This,v);
}
static FORCEINLINE HRESULT IHTMLInputTextElement_get_size(IHTMLInputTextElement* This,LONG *p) {
    return This->lpVtbl->get_size(This,p);
}
static FORCEINLINE HRESULT IHTMLInputTextElement_put_maxLength(IHTMLInputTextElement* This,LONG v) {
    return This->lpVtbl->put_maxLength(This,v);
}
static FORCEINLINE HRESULT IHTMLInputTextElement_get_maxLength(IHTMLInputTextElement* This,LONG *p) {
    return This->lpVtbl->get_maxLength(This,p);
}
static FORCEINLINE HRESULT IHTMLInputTextElement_select(IHTMLInputTextElement* This) {
    return This->lpVtbl->select(This);
}
static FORCEINLINE HRESULT IHTMLInputTextElement_put_onchange(IHTMLInputTextElement* This,VARIANT v) {
    return This->lpVtbl->put_onchange(This,v);
}
static FORCEINLINE HRESULT IHTMLInputTextElement_get_onchange(IHTMLInputTextElement* This,VARIANT *p) {
    return This->lpVtbl->get_onchange(This,p);
}
static FORCEINLINE HRESULT IHTMLInputTextElement_put_onselect(IHTMLInputTextElement* This,VARIANT v) {
    return This->lpVtbl->put_onselect(This,v);
}
static FORCEINLINE HRESULT IHTMLInputTextElement_get_onselect(IHTMLInputTextElement* This,VARIANT *p) {
    return This->lpVtbl->get_onselect(This,p);
}
static FORCEINLINE HRESULT IHTMLInputTextElement_put_readOnly(IHTMLInputTextElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_readOnly(This,v);
}
static FORCEINLINE HRESULT IHTMLInputTextElement_get_readOnly(IHTMLInputTextElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_readOnly(This,p);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLInputTextElement2_QueryInterface(IHTMLInputTextElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLInputTextElement2_AddRef(IHTMLInputTextElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLInputTextElement2_Release(IHTMLInputTextElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLInputTextElement2_GetTypeInfoCount(IHTMLInputTextElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLInputTextElement2_GetTypeInfo(IHTMLInputTextElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLInputTextElement2_put_selectionStart(IHTMLInputTextElement2* This,LONG v) {
    return This->lpVtbl->put_selectionStart(This,v);
}
static FORCEINLINE HRESULT IHTMLInputTextElement2_get_selectionStart(IHTMLInputTextElement2* This,LONG *p) {
    return This->lpVtbl->get_selectionStart(This,p);
}
static FORCEINLINE HRESULT IHTMLInputTextElement2_put_selectionEnd(IHTMLInputTextElement2* This,LONG v) {
    return This->lpVtbl->put_selectionEnd(This,v);
}
static FORCEINLINE HRESULT IHTMLInputTextElement2_get_selectionEnd(IHTMLInputTextElement2* This,LONG *p) {
    return This->lpVtbl->get_selectionEnd(This,p);
}
static FORCEINLINE HRESULT IHTMLInputTextElement2_setSelectionRange(IHTMLInputTextElement2* This,LONG start,LONG end) {
    return This->lpVtbl->setSelectionRange(This,start,end);
}
#endif
#endif

#endif


#endif  /* __IHTMLInputTextElement2_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 FORCEINLINE HRESULT DispHTMLInputElement_QueryInterface(DispHTMLInputElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLInputElement_AddRef(DispHTMLInputElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLInputElement_Release(DispHTMLInputElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLInputElement_GetTypeInfoCount(DispHTMLInputElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLInputElement_GetTypeInfo(DispHTMLInputElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLTextAreaElement_QueryInterface(IHTMLTextAreaElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLTextAreaElement_AddRef(IHTMLTextAreaElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLTextAreaElement_Release(IHTMLTextAreaElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLTextAreaElement_GetTypeInfoCount(IHTMLTextAreaElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLTextAreaElement_GetTypeInfo(IHTMLTextAreaElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLTextAreaElement_get_type(IHTMLTextAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static FORCEINLINE HRESULT IHTMLTextAreaElement_put_value(IHTMLTextAreaElement* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static FORCEINLINE HRESULT IHTMLTextAreaElement_get_value(IHTMLTextAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
static FORCEINLINE HRESULT IHTMLTextAreaElement_put_name(IHTMLTextAreaElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static FORCEINLINE HRESULT IHTMLTextAreaElement_get_name(IHTMLTextAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static FORCEINLINE HRESULT IHTMLTextAreaElement_put_status(IHTMLTextAreaElement* This,VARIANT v) {
    return This->lpVtbl->put_status(This,v);
}
static FORCEINLINE HRESULT IHTMLTextAreaElement_get_status(IHTMLTextAreaElement* This,VARIANT *p) {
    return This->lpVtbl->get_status(This,p);
}
static FORCEINLINE HRESULT IHTMLTextAreaElement_put_disabled(IHTMLTextAreaElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_disabled(This,v);
}
static FORCEINLINE HRESULT IHTMLTextAreaElement_get_disabled(IHTMLTextAreaElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_disabled(This,p);
}
static FORCEINLINE HRESULT IHTMLTextAreaElement_get_form(IHTMLTextAreaElement* This,IHTMLFormElement **p) {
    return This->lpVtbl->get_form(This,p);
}
static FORCEINLINE HRESULT IHTMLTextAreaElement_put_defaultValue(IHTMLTextAreaElement* This,BSTR v) {
    return This->lpVtbl->put_defaultValue(This,v);
}
static FORCEINLINE HRESULT IHTMLTextAreaElement_get_defaultValue(IHTMLTextAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_defaultValue(This,p);
}
static FORCEINLINE HRESULT IHTMLTextAreaElement_select(IHTMLTextAreaElement* This) {
    return This->lpVtbl->select(This);
}
static FORCEINLINE HRESULT IHTMLTextAreaElement_put_onchange(IHTMLTextAreaElement* This,VARIANT v) {
    return This->lpVtbl->put_onchange(This,v);
}
static FORCEINLINE HRESULT IHTMLTextAreaElement_get_onchange(IHTMLTextAreaElement* This,VARIANT *p) {
    return This->lpVtbl->get_onchange(This,p);
}
static FORCEINLINE HRESULT IHTMLTextAreaElement_put_onselect(IHTMLTextAreaElement* This,VARIANT v) {
    return This->lpVtbl->put_onselect(This,v);
}
static FORCEINLINE HRESULT IHTMLTextAreaElement_get_onselect(IHTMLTextAreaElement* This,VARIANT *p) {
    return This->lpVtbl->get_onselect(This,p);
}
static FORCEINLINE HRESULT IHTMLTextAreaElement_put_readOnly(IHTMLTextAreaElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_readOnly(This,v);
}
static FORCEINLINE HRESULT IHTMLTextAreaElement_get_readOnly(IHTMLTextAreaElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_readOnly(This,p);
}
static FORCEINLINE HRESULT IHTMLTextAreaElement_put_rows(IHTMLTextAreaElement* This,LONG v) {
    return This->lpVtbl->put_rows(This,v);
}
static FORCEINLINE HRESULT IHTMLTextAreaElement_get_rows(IHTMLTextAreaElement* This,LONG *p) {
    return This->lpVtbl->get_rows(This,p);
}
static FORCEINLINE HRESULT IHTMLTextAreaElement_put_cols(IHTMLTextAreaElement* This,LONG v) {
    return This->lpVtbl->put_cols(This,v);
}
static FORCEINLINE HRESULT IHTMLTextAreaElement_get_cols(IHTMLTextAreaElement* This,LONG *p) {
    return This->lpVtbl->get_cols(This,p);
}
static FORCEINLINE HRESULT IHTMLTextAreaElement_put_wrap(IHTMLTextAreaElement* This,BSTR v) {
    return This->lpVtbl->put_wrap(This,v);
}
static FORCEINLINE HRESULT IHTMLTextAreaElement_get_wrap(IHTMLTextAreaElement* This,BSTR *p) {
    return This->lpVtbl->get_wrap(This,p);
}
static FORCEINLINE HRESULT IHTMLTextAreaElement_createTextRange(IHTMLTextAreaElement* This,IHTMLTxtRange **range) {
    return This->lpVtbl->createTextRange(This,range);
}
#endif
#endif

#endif


#endif  /* __IHTMLTextAreaElement_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 FORCEINLINE HRESULT DispHTMLTextAreaElement_QueryInterface(DispHTMLTextAreaElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLTextAreaElement_AddRef(DispHTMLTextAreaElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLTextAreaElement_Release(DispHTMLTextAreaElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLTextAreaElement_GetTypeInfoCount(DispHTMLTextAreaElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLTextAreaElement_GetTypeInfo(DispHTMLTextAreaElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLButtonElement_QueryInterface(IHTMLButtonElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLButtonElement_AddRef(IHTMLButtonElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLButtonElement_Release(IHTMLButtonElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLButtonElement_GetTypeInfoCount(IHTMLButtonElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLButtonElement_GetTypeInfo(IHTMLButtonElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLButtonElement_get_type(IHTMLButtonElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static FORCEINLINE HRESULT IHTMLButtonElement_put_value(IHTMLButtonElement* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static FORCEINLINE HRESULT IHTMLButtonElement_get_value(IHTMLButtonElement* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
static FORCEINLINE HRESULT IHTMLButtonElement_put_name(IHTMLButtonElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static FORCEINLINE HRESULT IHTMLButtonElement_get_name(IHTMLButtonElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static FORCEINLINE HRESULT IHTMLButtonElement_put_status(IHTMLButtonElement* This,VARIANT v) {
    return This->lpVtbl->put_status(This,v);
}
static FORCEINLINE HRESULT IHTMLButtonElement_get_status(IHTMLButtonElement* This,VARIANT *p) {
    return This->lpVtbl->get_status(This,p);
}
static FORCEINLINE HRESULT IHTMLButtonElement_put_disabled(IHTMLButtonElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_disabled(This,v);
}
static FORCEINLINE HRESULT IHTMLButtonElement_get_disabled(IHTMLButtonElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_disabled(This,p);
}
static FORCEINLINE HRESULT IHTMLButtonElement_get_form(IHTMLButtonElement* This,IHTMLFormElement **p) {
    return This->lpVtbl->get_form(This,p);
}
static FORCEINLINE HRESULT IHTMLButtonElement_createTextRange(IHTMLButtonElement* This,IHTMLTxtRange **range) {
    return This->lpVtbl->createTextRange(This,range);
}
#endif
#endif

#endif


#endif  /* __IHTMLButtonElement_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 FORCEINLINE HRESULT DispHTMLButtonElement_QueryInterface(DispHTMLButtonElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLButtonElement_AddRef(DispHTMLButtonElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLButtonElement_Release(DispHTMLButtonElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLButtonElement_GetTypeInfoCount(DispHTMLButtonElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLButtonElement_GetTypeInfo(DispHTMLButtonElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLHtmlElement_QueryInterface(IHTMLHtmlElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLHtmlElement_AddRef(IHTMLHtmlElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLHtmlElement_Release(IHTMLHtmlElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLHtmlElement_GetTypeInfoCount(IHTMLHtmlElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLHtmlElement_GetTypeInfo(IHTMLHtmlElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLHtmlElement_put_version(IHTMLHtmlElement* This,BSTR v) {
    return This->lpVtbl->put_version(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLHeadElement_QueryInterface(IHTMLHeadElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLHeadElement_AddRef(IHTMLHeadElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLHeadElement_Release(IHTMLHeadElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLHeadElement_GetTypeInfoCount(IHTMLHeadElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLHeadElement_GetTypeInfo(IHTMLHeadElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLHeadElement_put_profile(IHTMLHeadElement* This,BSTR v) {
    return This->lpVtbl->put_profile(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLHeadElement2_QueryInterface(IHTMLHeadElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLHeadElement2_AddRef(IHTMLHeadElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLHeadElement2_Release(IHTMLHeadElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLHeadElement2_GetTypeInfoCount(IHTMLHeadElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLHeadElement2_GetTypeInfo(IHTMLHeadElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLHeadElement2_put_profile(IHTMLHeadElement2* This,BSTR v) {
    return This->lpVtbl->put_profile(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLTitleElement_QueryInterface(IHTMLTitleElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLTitleElement_AddRef(IHTMLTitleElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLTitleElement_Release(IHTMLTitleElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLTitleElement_GetTypeInfoCount(IHTMLTitleElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLTitleElement_GetTypeInfo(IHTMLTitleElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLTitleElement_put_text(IHTMLTitleElement* This,BSTR v) {
    return This->lpVtbl->put_text(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLMetaElement_QueryInterface(IHTMLMetaElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLMetaElement_AddRef(IHTMLMetaElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLMetaElement_Release(IHTMLMetaElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLMetaElement_GetTypeInfoCount(IHTMLMetaElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLMetaElement_GetTypeInfo(IHTMLMetaElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLMetaElement_put_httpEquiv(IHTMLMetaElement* This,BSTR v) {
    return This->lpVtbl->put_httpEquiv(This,v);
}
static FORCEINLINE HRESULT IHTMLMetaElement_get_httpEquiv(IHTMLMetaElement* This,BSTR *p) {
    return This->lpVtbl->get_httpEquiv(This,p);
}
static FORCEINLINE HRESULT IHTMLMetaElement_put_content(IHTMLMetaElement* This,BSTR v) {
    return This->lpVtbl->put_content(This,v);
}
static FORCEINLINE HRESULT IHTMLMetaElement_get_content(IHTMLMetaElement* This,BSTR *p) {
    return This->lpVtbl->get_content(This,p);
}
static FORCEINLINE HRESULT IHTMLMetaElement_put_name(IHTMLMetaElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static FORCEINLINE HRESULT IHTMLMetaElement_get_name(IHTMLMetaElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static FORCEINLINE HRESULT IHTMLMetaElement_put_url(IHTMLMetaElement* This,BSTR v) {
    return This->lpVtbl->put_url(This,v);
}
static FORCEINLINE HRESULT IHTMLMetaElement_get_url(IHTMLMetaElement* This,BSTR *p) {
    return This->lpVtbl->get_url(This,p);
}
static FORCEINLINE HRESULT IHTMLMetaElement_put_charset(IHTMLMetaElement* This,BSTR v) {
    return This->lpVtbl->put_charset(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLMetaElement2_QueryInterface(IHTMLMetaElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLMetaElement2_AddRef(IHTMLMetaElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLMetaElement2_Release(IHTMLMetaElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLMetaElement2_GetTypeInfoCount(IHTMLMetaElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLMetaElement2_GetTypeInfo(IHTMLMetaElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLMetaElement2_put_scheme(IHTMLMetaElement2* This,BSTR v) {
    return This->lpVtbl->put_scheme(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLMetaElement3_QueryInterface(IHTMLMetaElement3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLMetaElement3_AddRef(IHTMLMetaElement3* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLMetaElement3_Release(IHTMLMetaElement3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLMetaElement3_GetTypeInfoCount(IHTMLMetaElement3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLMetaElement3_GetTypeInfo(IHTMLMetaElement3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLMetaElement3_put_url(IHTMLMetaElement3* This,BSTR v) {
    return This->lpVtbl->put_url(This,v);
}
static FORCEINLINE HRESULT IHTMLMetaElement3_get_url(IHTMLMetaElement3* This,BSTR *p) {
    return This->lpVtbl->get_url(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLMetaElement3_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 FORCEINLINE HRESULT DispHTMLHtmlElement_QueryInterface(DispHTMLHtmlElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLHtmlElement_AddRef(DispHTMLHtmlElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLHtmlElement_Release(DispHTMLHtmlElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLHtmlElement_GetTypeInfoCount(DispHTMLHtmlElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLHtmlElement_GetTypeInfo(DispHTMLHtmlElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT DispHTMLHeadElement_QueryInterface(DispHTMLHeadElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLHeadElement_AddRef(DispHTMLHeadElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLHeadElement_Release(DispHTMLHeadElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLHeadElement_GetTypeInfoCount(DispHTMLHeadElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLHeadElement_GetTypeInfo(DispHTMLHeadElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT DispHTMLTitleElement_QueryInterface(DispHTMLTitleElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLTitleElement_AddRef(DispHTMLTitleElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLTitleElement_Release(DispHTMLTitleElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLTitleElement_GetTypeInfoCount(DispHTMLTitleElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLTitleElement_GetTypeInfo(DispHTMLTitleElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT DispHTMLMetaElement_QueryInterface(DispHTMLMetaElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLMetaElement_AddRef(DispHTMLMetaElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLMetaElement_Release(DispHTMLMetaElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLMetaElement_GetTypeInfoCount(DispHTMLMetaElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLMetaElement_GetTypeInfo(DispHTMLMetaElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT DispHTMLUnknownElement_QueryInterface(DispHTMLUnknownElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLUnknownElement_AddRef(DispHTMLUnknownElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLUnknownElement_Release(DispHTMLUnknownElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLUnknownElement_GetTypeInfoCount(DispHTMLUnknownElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLUnknownElement_GetTypeInfo(DispHTMLUnknownElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IOmHistory_QueryInterface(IOmHistory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IOmHistory_AddRef(IOmHistory* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IOmHistory_Release(IOmHistory* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IOmHistory_GetTypeInfoCount(IOmHistory* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IOmHistory_GetTypeInfo(IOmHistory* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IOmHistory_get_length(IOmHistory* This,short *p) {
    return This->lpVtbl->get_length(This,p);
}
static FORCEINLINE HRESULT IOmHistory_back(IOmHistory* This,VARIANT *pvargdistance) {
    return This->lpVtbl->back(This,pvargdistance);
}
static FORCEINLINE HRESULT IOmHistory_forward(IOmHistory* This,VARIANT *pvargdistance) {
    return This->lpVtbl->forward(This,pvargdistance);
}
static FORCEINLINE HRESULT IOmHistory_go(IOmHistory* This,VARIANT *pvargdistance) {
    return This->lpVtbl->go(This,pvargdistance);
}
#endif
#endif

#endif


#endif  /* __IOmHistory_INTERFACE_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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLMimeTypesCollection_QueryInterface(IHTMLMimeTypesCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLMimeTypesCollection_AddRef(IHTMLMimeTypesCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLMimeTypesCollection_Release(IHTMLMimeTypesCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLMimeTypesCollection_GetTypeInfoCount(IHTMLMimeTypesCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLMimeTypesCollection_GetTypeInfo(IHTMLMimeTypesCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLMimeTypesCollection_get_length(IHTMLMimeTypesCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLMimeTypesCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLPluginsCollection_QueryInterface(IHTMLPluginsCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLPluginsCollection_AddRef(IHTMLPluginsCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLPluginsCollection_Release(IHTMLPluginsCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLPluginsCollection_GetTypeInfoCount(IHTMLPluginsCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLPluginsCollection_GetTypeInfo(IHTMLPluginsCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLPluginsCollection_get_length(IHTMLPluginsCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static FORCEINLINE HRESULT IHTMLPluginsCollection_refresh(IHTMLPluginsCollection* This,VARIANT_BOOL reload) {
    return This->lpVtbl->refresh(This,reload);
}
#endif
#endif

#endif


#endif  /* __IHTMLPluginsCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT DispCPlugins_QueryInterface(DispCPlugins* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispCPlugins_AddRef(DispCPlugins* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispCPlugins_Release(DispCPlugins* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispCPlugins_GetTypeInfoCount(DispCPlugins* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispCPlugins_GetTypeInfo(DispCPlugins* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLOpsProfile_QueryInterface(IHTMLOpsProfile* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLOpsProfile_AddRef(IHTMLOpsProfile* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLOpsProfile_Release(IHTMLOpsProfile* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLOpsProfile_GetTypeInfoCount(IHTMLOpsProfile* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLOpsProfile_GetTypeInfo(IHTMLOpsProfile* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLOpsProfile_addRequest(IHTMLOpsProfile* This,BSTR name,VARIANT reserved,VARIANT_BOOL *success) {
    return This->lpVtbl->addRequest(This,name,reserved,success);
}
static FORCEINLINE HRESULT IHTMLOpsProfile_clearRequest(IHTMLOpsProfile* This) {
    return This->lpVtbl->clearRequest(This);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLOpsProfile_getAttribute(IHTMLOpsProfile* This,BSTR name,BSTR *value) {
    return This->lpVtbl->getAttribute(This,name,value);
}
static FORCEINLINE HRESULT IHTMLOpsProfile_setAttribute(IHTMLOpsProfile* This,BSTR name,BSTR value,VARIANT prefs,VARIANT_BOOL *success) {
    return This->lpVtbl->setAttribute(This,name,value,prefs,success);
}
static FORCEINLINE HRESULT IHTMLOpsProfile_commitChanges(IHTMLOpsProfile* This,VARIANT_BOOL *success) {
    return This->lpVtbl->commitChanges(This,success);
}
static FORCEINLINE HRESULT IHTMLOpsProfile_addReadRequest(IHTMLOpsProfile* This,BSTR name,VARIANT reserved,VARIANT_BOOL *success) {
    return This->lpVtbl->addReadRequest(This,name,reserved,success);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLOpsProfile_doWriteRequest(IHTMLOpsProfile* This,VARIANT_BOOL *success) {
    return This->lpVtbl->doWriteRequest(This,success);
}
#endif
#endif

#endif


#endif  /* __IHTMLOpsProfile_INTERFACE_DEFINED__ */

/*****************************************************************************
 * 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IOmNavigator_QueryInterface(IOmNavigator* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IOmNavigator_AddRef(IOmNavigator* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IOmNavigator_Release(IOmNavigator* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IOmNavigator_GetTypeInfoCount(IOmNavigator* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IOmNavigator_GetTypeInfo(IOmNavigator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IOmNavigator_get_appCodeName(IOmNavigator* This,BSTR *p) {
    return This->lpVtbl->get_appCodeName(This,p);
}
static FORCEINLINE HRESULT IOmNavigator_get_appName(IOmNavigator* This,BSTR *p) {
    return This->lpVtbl->get_appName(This,p);
}
static FORCEINLINE HRESULT IOmNavigator_get_appVersion(IOmNavigator* This,BSTR *p) {
    return This->lpVtbl->get_appVersion(This,p);
}
static FORCEINLINE HRESULT IOmNavigator_get_userAgent(IOmNavigator* This,BSTR *p) {
    return This->lpVtbl->get_userAgent(This,p);
}
static FORCEINLINE HRESULT IOmNavigator_javaEnabled(IOmNavigator* This,VARIANT_BOOL *enabled) {
    return This->lpVtbl->javaEnabled(This,enabled);
}
static FORCEINLINE HRESULT IOmNavigator_taintEnabled(IOmNavigator* This,VARIANT_BOOL *enabled) {
    return This->lpVtbl->taintEnabled(This,enabled);
}
static FORCEINLINE HRESULT IOmNavigator_get_mimeTypes(IOmNavigator* This,IHTMLMimeTypesCollection **p) {
    return This->lpVtbl->get_mimeTypes(This,p);
}
static FORCEINLINE HRESULT IOmNavigator_get_plugins(IOmNavigator* This,IHTMLPluginsCollection **p) {
    return This->lpVtbl->get_plugins(This,p);
}
static FORCEINLINE HRESULT IOmNavigator_get_cookieEnabled(IOmNavigator* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_cookieEnabled(This,p);
}
static FORCEINLINE HRESULT IOmNavigator_get_opsProfile(IOmNavigator* This,IHTMLOpsProfile **p) {
    return This->lpVtbl->get_opsProfile(This,p);
}
static FORCEINLINE HRESULT IOmNavigator_toString(IOmNavigator* This,BSTR *String) {
    return This->lpVtbl->toString(This,String);
}
static FORCEINLINE HRESULT IOmNavigator_get_cpuClass(IOmNavigator* This,BSTR *p) {
    return This->lpVtbl->get_cpuClass(This,p);
}
static FORCEINLINE HRESULT IOmNavigator_get_systemLanguage(IOmNavigator* This,BSTR *p) {
    return This->lpVtbl->get_systemLanguage(This,p);
}
static FORCEINLINE HRESULT IOmNavigator_get_browserLanguage(IOmNavigator* This,BSTR *p) {
    return This->lpVtbl->get_browserLanguage(This,p);
}
static FORCEINLINE HRESULT IOmNavigator_get_userLanguage(IOmNavigator* This,BSTR *p) {
    return This->lpVtbl->get_userLanguage(This,p);
}
static FORCEINLINE HRESULT IOmNavigator_get_platform(IOmNavigator* This,BSTR *p) {
    return This->lpVtbl->get_platform(This,p);
}
static FORCEINLINE HRESULT IOmNavigator_get_appMinorVersion(IOmNavigator* This,BSTR *p) {
    return This->lpVtbl->get_appMinorVersion(This,p);
}
static FORCEINLINE HRESULT IOmNavigator_get_connectionSpeed(IOmNavigator* This,LONG *p) {
    return This->lpVtbl->get_connectionSpeed(This,p);
}
static FORCEINLINE HRESULT IOmNavigator_get_onLine(IOmNavigator* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_onLine(This,p);
}
static FORCEINLINE HRESULT IOmNavigator_get_userProfile(IOmNavigator* This,IHTMLOpsProfile **p) {
    return This->lpVtbl->get_userProfile(This,p);
}
#endif
#endif

#endif


#endif  /* __IOmNavigator_INTERFACE_DEFINED__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT DispHTMLNavigator_QueryInterface(DispHTMLNavigator* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLNavigator_AddRef(DispHTMLNavigator* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLNavigator_Release(DispHTMLNavigator* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLNavigator_GetTypeInfoCount(DispHTMLNavigator* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLNavigator_GetTypeInfo(DispHTMLNavigator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLLocation_QueryInterface(IHTMLLocation* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLLocation_AddRef(IHTMLLocation* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLLocation_Release(IHTMLLocation* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLLocation_GetTypeInfoCount(IHTMLLocation* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLLocation_GetTypeInfo(IHTMLLocation* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLLocation_put_href(IHTMLLocation* This,BSTR v) {
    return This->lpVtbl->put_href(This,v);
}
static FORCEINLINE HRESULT IHTMLLocation_get_href(IHTMLLocation* This,BSTR *p) {
    return This->lpVtbl->get_href(This,p);
}
static FORCEINLINE HRESULT IHTMLLocation_put_protocol(IHTMLLocation* This,BSTR v) {
    return This->lpVtbl->put_protocol(This,v);
}
static FORCEINLINE HRESULT IHTMLLocation_get_protocol(IHTMLLocation* This,BSTR *p) {
    return This->lpVtbl->get_protocol(This,p);
}
static FORCEINLINE HRESULT IHTMLLocation_put_host(IHTMLLocation* This,BSTR v) {
    return This->lpVtbl->put_host(This,v);
}
static FORCEINLINE HRESULT IHTMLLocation_get_host(IHTMLLocation* This,BSTR *p) {
    return This->lpVtbl->get_host(This,p);
}
static FORCEINLINE HRESULT IHTMLLocation_put_hostname(IHTMLLocation* This,BSTR v) {
    return This->lpVtbl->put_hostname(This,v);
}
static FORCEINLINE HRESULT IHTMLLocation_get_hostname(IHTMLLocation* This,BSTR *p) {
    return This->lpVtbl->get_hostname(This,p);
}
static FORCEINLINE HRESULT IHTMLLocation_put_port(IHTMLLocation* This,BSTR v) {
    return This->lpVtbl->put_port(This,v);
}
static FORCEINLINE HRESULT IHTMLLocation_get_port(IHTMLLocation* This,BSTR *p) {
    return This->lpVtbl->get_port(This,p);
}
static FORCEINLINE HRESULT IHTMLLocation_put_pathname(IHTMLLocation* This,BSTR v) {
    return This->lpVtbl->put_pathname(This,v);
}
static FORCEINLINE HRESULT IHTMLLocation_get_pathname(IHTMLLocation* This,BSTR *p) {
    return This->lpVtbl->get_pathname(This,p);
}
static FORCEINLINE HRESULT IHTMLLocation_put_search(IHTMLLocation* This,BSTR v) {
    return This->lpVtbl->put_search(This,v);
}
static FORCEINLINE HRESULT IHTMLLocation_get_search(IHTMLLocation* This,BSTR *p) {
    return This->lpVtbl->get_search(This,p);
}
static FORCEINLINE HRESULT IHTMLLocation_put_hash(IHTMLLocation* This,BSTR v) {
    return This->lpVtbl->put_hash(This,v);
}
static FORCEINLINE HRESULT IHTMLLocation_get_hash(IHTMLLocation* This,BSTR *p) {
    return This->lpVtbl->get_hash(This,p);
}
static FORCEINLINE HRESULT IHTMLLocation_reload(IHTMLLocation* This,VARIANT_BOOL flag) {
    return This->lpVtbl->reload(This,flag);
}
static FORCEINLINE HRESULT IHTMLLocation_replace(IHTMLLocation* This,BSTR bstr) {
    return This->lpVtbl->replace(This,bstr);
}
static FORCEINLINE HRESULT IHTMLLocation_assign(IHTMLLocation* This,BSTR bstr) {
    return This->lpVtbl->assign(This,bstr);
}
static FORCEINLINE 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 FORCEINLINE HRESULT DispHTMLHistory_QueryInterface(DispHTMLHistory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLHistory_AddRef(DispHTMLHistory* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLHistory_Release(DispHTMLHistory* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLHistory_GetTypeInfoCount(DispHTMLHistory* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLHistory_GetTypeInfo(DispHTMLHistory* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT DispHTMLLocation_QueryInterface(DispHTMLLocation* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLLocation_AddRef(DispHTMLLocation* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLLocation_Release(DispHTMLLocation* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLLocation_GetTypeInfoCount(DispHTMLLocation* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLLocation_GetTypeInfo(DispHTMLLocation* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLBookmarkCollection_QueryInterface(IHTMLBookmarkCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLBookmarkCollection_AddRef(IHTMLBookmarkCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLBookmarkCollection_Release(IHTMLBookmarkCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLBookmarkCollection_GetTypeInfoCount(IHTMLBookmarkCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLBookmarkCollection_GetTypeInfo(IHTMLBookmarkCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLBookmarkCollection_get_length(IHTMLBookmarkCollection* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static FORCEINLINE HRESULT IHTMLBookmarkCollection_get__newEnum(IHTMLBookmarkCollection* This,IUnknown **p) {
    return This->lpVtbl->get__newEnum(This,p);
}
static FORCEINLINE HRESULT IHTMLBookmarkCollection_item(IHTMLBookmarkCollection* This,LONG index,VARIANT *pVarBookmark) {
    return This->lpVtbl->item(This,index,pVarBookmark);
}
#endif
#endif

#endif


#endif  /* __IHTMLBookmarkCollection_INTERFACE_DEFINED__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLDataTransfer_QueryInterface(IHTMLDataTransfer* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLDataTransfer_AddRef(IHTMLDataTransfer* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLDataTransfer_Release(IHTMLDataTransfer* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLDataTransfer_GetTypeInfoCount(IHTMLDataTransfer* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLDataTransfer_GetTypeInfo(IHTMLDataTransfer* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDataTransfer_setData(IHTMLDataTransfer* This,BSTR format,VARIANT *data,VARIANT_BOOL *pret) {
    return This->lpVtbl->setData(This,format,data,pret);
}
static FORCEINLINE HRESULT IHTMLDataTransfer_getData(IHTMLDataTransfer* This,BSTR format,VARIANT *pvarRet) {
    return This->lpVtbl->getData(This,format,pvarRet);
}
static FORCEINLINE HRESULT IHTMLDataTransfer_clearData(IHTMLDataTransfer* This,BSTR format,VARIANT_BOOL *pret) {
    return This->lpVtbl->clearData(This,format,pret);
}
static FORCEINLINE HRESULT IHTMLDataTransfer_put_dropEffect(IHTMLDataTransfer* This,BSTR v) {
    return This->lpVtbl->put_dropEffect(This,v);
}
static FORCEINLINE HRESULT IHTMLDataTransfer_get_dropEffect(IHTMLDataTransfer* This,BSTR *p) {
    return This->lpVtbl->get_dropEffect(This,p);
}
static FORCEINLINE HRESULT IHTMLDataTransfer_put_effectAllowed(IHTMLDataTransfer* This,BSTR v) {
    return This->lpVtbl->put_effectAllowed(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLEventObj_QueryInterface(IHTMLEventObj* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLEventObj_AddRef(IHTMLEventObj* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLEventObj_Release(IHTMLEventObj* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLEventObj_GetTypeInfoCount(IHTMLEventObj* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLEventObj_GetTypeInfo(IHTMLEventObj* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLEventObj_get_srcElement(IHTMLEventObj* This,IHTMLElement **p) {
    return This->lpVtbl->get_srcElement(This,p);
}
static FORCEINLINE HRESULT IHTMLEventObj_get_altKey(IHTMLEventObj* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_altKey(This,p);
}
static FORCEINLINE HRESULT IHTMLEventObj_get_ctrlKey(IHTMLEventObj* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_ctrlKey(This,p);
}
static FORCEINLINE HRESULT IHTMLEventObj_get_shiftKey(IHTMLEventObj* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_shiftKey(This,p);
}
static FORCEINLINE HRESULT IHTMLEventObj_put_returnValue(IHTMLEventObj* This,VARIANT v) {
    return This->lpVtbl->put_returnValue(This,v);
}
static FORCEINLINE HRESULT IHTMLEventObj_get_returnValue(IHTMLEventObj* This,VARIANT *p) {
    return This->lpVtbl->get_returnValue(This,p);
}
static FORCEINLINE HRESULT IHTMLEventObj_put_cancelBubble(IHTMLEventObj* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_cancelBubble(This,v);
}
static FORCEINLINE HRESULT IHTMLEventObj_get_cancelBubble(IHTMLEventObj* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_cancelBubble(This,p);
}
static FORCEINLINE HRESULT IHTMLEventObj_get_fromElement(IHTMLEventObj* This,IHTMLElement **p) {
    return This->lpVtbl->get_fromElement(This,p);
}
static FORCEINLINE HRESULT IHTMLEventObj_get_toElement(IHTMLEventObj* This,IHTMLElement **p) {
    return This->lpVtbl->get_toElement(This,p);
}
static FORCEINLINE HRESULT IHTMLEventObj_put_keyCode(IHTMLEventObj* This,LONG v) {
    return This->lpVtbl->put_keyCode(This,v);
}
static FORCEINLINE HRESULT IHTMLEventObj_get_keyCode(IHTMLEventObj* This,LONG *p) {
    return This->lpVtbl->get_keyCode(This,p);
}
static FORCEINLINE HRESULT IHTMLEventObj_get_button(IHTMLEventObj* This,LONG *p) {
    return This->lpVtbl->get_button(This,p);
}
static FORCEINLINE HRESULT IHTMLEventObj_get_type(IHTMLEventObj* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static FORCEINLINE HRESULT IHTMLEventObj_get_qualifier(IHTMLEventObj* This,BSTR *p) {
    return This->lpVtbl->get_qualifier(This,p);
}
static FORCEINLINE HRESULT IHTMLEventObj_get_reason(IHTMLEventObj* This,LONG *p) {
    return This->lpVtbl->get_reason(This,p);
}
static FORCEINLINE HRESULT IHTMLEventObj_get_x(IHTMLEventObj* This,LONG *p) {
    return This->lpVtbl->get_x(This,p);
}
static FORCEINLINE HRESULT IHTMLEventObj_get_y(IHTMLEventObj* This,LONG *p) {
    return This->lpVtbl->get_y(This,p);
}
static FORCEINLINE HRESULT IHTMLEventObj_get_clientX(IHTMLEventObj* This,LONG *p) {
    return This->lpVtbl->get_clientX(This,p);
}
static FORCEINLINE HRESULT IHTMLEventObj_get_clientY(IHTMLEventObj* This,LONG *p) {
    return This->lpVtbl->get_clientY(This,p);
}
static FORCEINLINE HRESULT IHTMLEventObj_get_offsetX(IHTMLEventObj* This,LONG *p) {
    return This->lpVtbl->get_offsetX(This,p);
}
static FORCEINLINE HRESULT IHTMLEventObj_get_offsetY(IHTMLEventObj* This,LONG *p) {
    return This->lpVtbl->get_offsetY(This,p);
}
static FORCEINLINE HRESULT IHTMLEventObj_get_screenX(IHTMLEventObj* This,LONG *p) {
    return This->lpVtbl->get_screenX(This,p);
}
static FORCEINLINE HRESULT IHTMLEventObj_get_screenY(IHTMLEventObj* This,LONG *p) {
    return This->lpVtbl->get_screenY(This,p);
}
static FORCEINLINE HRESULT IHTMLEventObj_get_srcFilter(IHTMLEventObj* This,IDispatch **p) {
    return This->lpVtbl->get_srcFilter(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLEventObj_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 FORCEINLINE HRESULT DispCEventObj_QueryInterface(DispCEventObj* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispCEventObj_AddRef(DispCEventObj* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispCEventObj_Release(DispCEventObj* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispCEventObj_GetTypeInfoCount(DispCEventObj* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispCEventObj_GetTypeInfo(DispCEventObj* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLFramesCollection2_QueryInterface(IHTMLFramesCollection2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLFramesCollection2_AddRef(IHTMLFramesCollection2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLFramesCollection2_Release(IHTMLFramesCollection2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLFramesCollection2_GetTypeInfoCount(IHTMLFramesCollection2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLFramesCollection2_GetTypeInfo(IHTMLFramesCollection2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLFramesCollection2_item(IHTMLFramesCollection2* This,VARIANT *pvarIndex,VARIANT *pvarResult) {
    return This->lpVtbl->item(This,pvarIndex,pvarResult);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLScreen_QueryInterface(IHTMLScreen* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLScreen_AddRef(IHTMLScreen* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLScreen_Release(IHTMLScreen* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLScreen_GetTypeInfoCount(IHTMLScreen* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLScreen_GetTypeInfo(IHTMLScreen* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLScreen_get_colorDepth(IHTMLScreen* This,LONG *p) {
    return This->lpVtbl->get_colorDepth(This,p);
}
static FORCEINLINE HRESULT IHTMLScreen_put_bufferDepth(IHTMLScreen* This,LONG v) {
    return This->lpVtbl->put_bufferDepth(This,v);
}
static FORCEINLINE HRESULT IHTMLScreen_get_bufferDepth(IHTMLScreen* This,LONG *p) {
    return This->lpVtbl->get_bufferDepth(This,p);
}
static FORCEINLINE HRESULT IHTMLScreen_get_width(IHTMLScreen* This,LONG *p) {
    return This->lpVtbl->get_width(This,p);
}
static FORCEINLINE HRESULT IHTMLScreen_get_height(IHTMLScreen* This,LONG *p) {
    return This->lpVtbl->get_height(This,p);
}
static FORCEINLINE HRESULT IHTMLScreen_put_updateInterval(IHTMLScreen* This,LONG v) {
    return This->lpVtbl->put_updateInterval(This,v);
}
static FORCEINLINE HRESULT IHTMLScreen_get_updateInterval(IHTMLScreen* This,LONG *p) {
    return This->lpVtbl->get_updateInterval(This,p);
}
static FORCEINLINE HRESULT IHTMLScreen_get_availHeight(IHTMLScreen* This,LONG *p) {
    return This->lpVtbl->get_availHeight(This,p);
}
static FORCEINLINE HRESULT IHTMLScreen_get_availWidth(IHTMLScreen* This,LONG *p) {
    return This->lpVtbl->get_availWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLScreen_get_fontSmoothingEnabled(IHTMLScreen* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_fontSmoothingEnabled(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLScreen_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,
        VARIANT_BOOL *confirmed) = 0;

    virtual HRESULT STDMETHODCALLTYPE prompt(
        BSTR message,
        BSTR defstr,
        VARIANT *textdata) = 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,
        BSTR name,
        BSTR features,
        VARIANT_BOOL replace,
        IHTMLWindow2 **pomWindowResult) = 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 scode,
        BSTR language,
        VARIANT *pvarRet) = 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 scode,
        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,scode,language,pvarRet) (This)->lpVtbl->execScript(This,scode,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 FORCEINLINE HRESULT IHTMLWindow2_QueryInterface(IHTMLWindow2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLWindow2_AddRef(IHTMLWindow2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLWindow2_Release(IHTMLWindow2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLWindow2_GetTypeInfoCount(IHTMLWindow2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLWindow2_GetTypeInfo(IHTMLWindow2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLWindow2_item(IHTMLWindow2* This,VARIANT *pvarIndex,VARIANT *pvarResult) {
    return This->lpVtbl->item(This,pvarIndex,pvarResult);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_length(IHTMLWindow2* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
/*** IHTMLWindow2 methods ***/
static FORCEINLINE HRESULT IHTMLWindow2_get_frames(IHTMLWindow2* This,IHTMLFramesCollection2 **p) {
    return This->lpVtbl->get_frames(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_put_defaultStatus(IHTMLWindow2* This,BSTR v) {
    return This->lpVtbl->put_defaultStatus(This,v);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_defaultStatus(IHTMLWindow2* This,BSTR *p) {
    return This->lpVtbl->get_defaultStatus(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_put_status(IHTMLWindow2* This,BSTR v) {
    return This->lpVtbl->put_status(This,v);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_status(IHTMLWindow2* This,BSTR *p) {
    return This->lpVtbl->get_status(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_setTimeout(IHTMLWindow2* This,BSTR expression,LONG msec,VARIANT *language,LONG *timerID) {
    return This->lpVtbl->setTimeout(This,expression,msec,language,timerID);
}
static FORCEINLINE HRESULT IHTMLWindow2_clearTimeout(IHTMLWindow2* This,LONG timerID) {
    return This->lpVtbl->clearTimeout(This,timerID);
}
static FORCEINLINE HRESULT IHTMLWindow2_alert(IHTMLWindow2* This,BSTR message) {
    return This->lpVtbl->alert(This,message);
}
static FORCEINLINE HRESULT IHTMLWindow2_confirm(IHTMLWindow2* This,BSTR message,VARIANT_BOOL *confirmed) {
    return This->lpVtbl->confirm(This,message,confirmed);
}
static FORCEINLINE HRESULT IHTMLWindow2_prompt(IHTMLWindow2* This,BSTR message,BSTR defstr,VARIANT *textdata) {
    return This->lpVtbl->prompt(This,message,defstr,textdata);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_Image(IHTMLWindow2* This,IHTMLImageElementFactory **p) {
    return This->lpVtbl->get_Image(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_location(IHTMLWindow2* This,IHTMLLocation **p) {
    return This->lpVtbl->get_location(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_history(IHTMLWindow2* This,IOmHistory **p) {
    return This->lpVtbl->get_history(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_close(IHTMLWindow2* This) {
    return This->lpVtbl->close(This);
}
static FORCEINLINE HRESULT IHTMLWindow2_put_opener(IHTMLWindow2* This,VARIANT v) {
    return This->lpVtbl->put_opener(This,v);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_opener(IHTMLWindow2* This,VARIANT *p) {
    return This->lpVtbl->get_opener(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_navigator(IHTMLWindow2* This,IOmNavigator **p) {
    return This->lpVtbl->get_navigator(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_put_name(IHTMLWindow2* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_name(IHTMLWindow2* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_parent(IHTMLWindow2* This,IHTMLWindow2 **p) {
    return This->lpVtbl->get_parent(This,p);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLWindow2_get_self(IHTMLWindow2* This,IHTMLWindow2 **p) {
    return This->lpVtbl->get_self(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_top(IHTMLWindow2* This,IHTMLWindow2 **p) {
    return This->lpVtbl->get_top(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_window(IHTMLWindow2* This,IHTMLWindow2 **p) {
    return This->lpVtbl->get_window(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_navigate(IHTMLWindow2* This,BSTR url) {
    return This->lpVtbl->navigate(This,url);
}
static FORCEINLINE HRESULT IHTMLWindow2_put_onfocus(IHTMLWindow2* This,VARIANT v) {
    return This->lpVtbl->put_onfocus(This,v);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_onfocus(IHTMLWindow2* This,VARIANT *p) {
    return This->lpVtbl->get_onfocus(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_put_onblur(IHTMLWindow2* This,VARIANT v) {
    return This->lpVtbl->put_onblur(This,v);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_onblur(IHTMLWindow2* This,VARIANT *p) {
    return This->lpVtbl->get_onblur(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_put_onload(IHTMLWindow2* This,VARIANT v) {
    return This->lpVtbl->put_onload(This,v);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_onload(IHTMLWindow2* This,VARIANT *p) {
    return This->lpVtbl->get_onload(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_put_onbeforeunload(IHTMLWindow2* This,VARIANT v) {
    return This->lpVtbl->put_onbeforeunload(This,v);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_onbeforeunload(IHTMLWindow2* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforeunload(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_put_onunload(IHTMLWindow2* This,VARIANT v) {
    return This->lpVtbl->put_onunload(This,v);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_onunload(IHTMLWindow2* This,VARIANT *p) {
    return This->lpVtbl->get_onunload(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_put_onhelp(IHTMLWindow2* This,VARIANT v) {
    return This->lpVtbl->put_onhelp(This,v);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_onhelp(IHTMLWindow2* This,VARIANT *p) {
    return This->lpVtbl->get_onhelp(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_put_onerror(IHTMLWindow2* This,VARIANT v) {
    return This->lpVtbl->put_onerror(This,v);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_onerror(IHTMLWindow2* This,VARIANT *p) {
    return This->lpVtbl->get_onerror(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_put_onresize(IHTMLWindow2* This,VARIANT v) {
    return This->lpVtbl->put_onresize(This,v);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_onresize(IHTMLWindow2* This,VARIANT *p) {
    return This->lpVtbl->get_onresize(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_put_onscroll(IHTMLWindow2* This,VARIANT v) {
    return This->lpVtbl->put_onscroll(This,v);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_onscroll(IHTMLWindow2* This,VARIANT *p) {
    return This->lpVtbl->get_onscroll(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_document(IHTMLWindow2* This,IHTMLDocument2 **p) {
    return This->lpVtbl->get_document(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_event(IHTMLWindow2* This,IHTMLEventObj **p) {
    return This->lpVtbl->get_event(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_get__newEnum(IHTMLWindow2* This,IUnknown **p) {
    return This->lpVtbl->get__newEnum(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_showModalDialog(IHTMLWindow2* This,BSTR dialog,VARIANT *varArgIn,VARIANT *varOptions,VARIANT *varArgOut) {
    return This->lpVtbl->showModalDialog(This,dialog,varArgIn,varOptions,varArgOut);
}
static FORCEINLINE HRESULT IHTMLWindow2_showHelp(IHTMLWindow2* This,BSTR helpURL,VARIANT helpArg,BSTR features) {
    return This->lpVtbl->showHelp(This,helpURL,helpArg,features);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_screen(IHTMLWindow2* This,IHTMLScreen **p) {
    return This->lpVtbl->get_screen(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_Option(IHTMLWindow2* This,IHTMLOptionElementFactory **p) {
    return This->lpVtbl->get_Option(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_focus(IHTMLWindow2* This) {
    return This->lpVtbl->focus(This);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_closed(IHTMLWindow2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_closed(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_blur(IHTMLWindow2* This) {
    return This->lpVtbl->blur(This);
}
static FORCEINLINE HRESULT IHTMLWindow2_scroll(IHTMLWindow2* This,LONG x,LONG y) {
    return This->lpVtbl->scroll(This,x,y);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_clientInformation(IHTMLWindow2* This,IOmNavigator **p) {
    return This->lpVtbl->get_clientInformation(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_setInterval(IHTMLWindow2* This,BSTR expression,LONG msec,VARIANT *language,LONG *timerID) {
    return This->lpVtbl->setInterval(This,expression,msec,language,timerID);
}
static FORCEINLINE HRESULT IHTMLWindow2_clearInterval(IHTMLWindow2* This,LONG timerID) {
    return This->lpVtbl->clearInterval(This,timerID);
}
static FORCEINLINE HRESULT IHTMLWindow2_put_offscreenBuffering(IHTMLWindow2* This,VARIANT v) {
    return This->lpVtbl->put_offscreenBuffering(This,v);
}
static FORCEINLINE HRESULT IHTMLWindow2_get_offscreenBuffering(IHTMLWindow2* This,VARIANT *p) {
    return This->lpVtbl->get_offscreenBuffering(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow2_execScript(IHTMLWindow2* This,BSTR scode,BSTR language,VARIANT *pvarRet) {
    return This->lpVtbl->execScript(This,scode,language,pvarRet);
}
static FORCEINLINE HRESULT IHTMLWindow2_toString(IHTMLWindow2* This,BSTR *String) {
    return This->lpVtbl->toString(This,String);
}
static FORCEINLINE HRESULT IHTMLWindow2_scrollBy(IHTMLWindow2* This,LONG x,LONG y) {
    return This->lpVtbl->scrollBy(This,x,y);
}
static FORCEINLINE HRESULT IHTMLWindow2_scrollTo(IHTMLWindow2* This,LONG x,LONG y) {
    return This->lpVtbl->scrollTo(This,x,y);
}
static FORCEINLINE HRESULT IHTMLWindow2_moveTo(IHTMLWindow2* This,LONG x,LONG y) {
    return This->lpVtbl->moveTo(This,x,y);
}
static FORCEINLINE HRESULT IHTMLWindow2_moveBy(IHTMLWindow2* This,LONG x,LONG y) {
    return This->lpVtbl->moveBy(This,x,y);
}
static FORCEINLINE HRESULT IHTMLWindow2_resizeTo(IHTMLWindow2* This,LONG x,LONG y) {
    return This->lpVtbl->resizeTo(This,x,y);
}
static FORCEINLINE HRESULT IHTMLWindow2_resizeBy(IHTMLWindow2* This,LONG x,LONG y) {
    return This->lpVtbl->resizeBy(This,x,y);
}
static FORCEINLINE 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,
        VARIANT *varArgIn,
        VARIANT *options,
        IHTMLWindow2 **pDialog) = 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 FORCEINLINE HRESULT IHTMLWindow3_QueryInterface(IHTMLWindow3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLWindow3_AddRef(IHTMLWindow3* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLWindow3_Release(IHTMLWindow3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLWindow3_GetTypeInfoCount(IHTMLWindow3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLWindow3_GetTypeInfo(IHTMLWindow3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLWindow3_get_screenLeft(IHTMLWindow3* This,LONG *p) {
    return This->lpVtbl->get_screenLeft(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow3_get_screenTop(IHTMLWindow3* This,LONG *p) {
    return This->lpVtbl->get_screenTop(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow3_attachEvent(IHTMLWindow3* This,BSTR event,IDispatch *pDisp,VARIANT_BOOL *pfResult) {
    return This->lpVtbl->attachEvent(This,event,pDisp,pfResult);
}
static FORCEINLINE HRESULT IHTMLWindow3_detachEvent(IHTMLWindow3* This,BSTR event,IDispatch *pDisp) {
    return This->lpVtbl->detachEvent(This,event,pDisp);
}
static FORCEINLINE HRESULT IHTMLWindow3_setTimeout(IHTMLWindow3* This,VARIANT *expression,LONG msec,VARIANT *language,LONG *timerID) {
    return This->lpVtbl->setTimeout(This,expression,msec,language,timerID);
}
static FORCEINLINE HRESULT IHTMLWindow3_setInterval(IHTMLWindow3* This,VARIANT *expression,LONG msec,VARIANT *language,LONG *timerID) {
    return This->lpVtbl->setInterval(This,expression,msec,language,timerID);
}
static FORCEINLINE HRESULT IHTMLWindow3_print(IHTMLWindow3* This) {
    return This->lpVtbl->print(This);
}
static FORCEINLINE HRESULT IHTMLWindow3_put_onbeforeprint(IHTMLWindow3* This,VARIANT v) {
    return This->lpVtbl->put_onbeforeprint(This,v);
}
static FORCEINLINE HRESULT IHTMLWindow3_get_onbeforeprint(IHTMLWindow3* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforeprint(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow3_put_onafterprint(IHTMLWindow3* This,VARIANT v) {
    return This->lpVtbl->put_onafterprint(This,v);
}
static FORCEINLINE HRESULT IHTMLWindow3_get_onafterprint(IHTMLWindow3* This,VARIANT *p) {
    return This->lpVtbl->get_onafterprint(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow3_get_clipboardData(IHTMLWindow3* This,IHTMLDataTransfer **p) {
    return This->lpVtbl->get_clipboardData(This,p);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLWindow4_QueryInterface(IHTMLWindow4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLWindow4_AddRef(IHTMLWindow4* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLWindow4_Release(IHTMLWindow4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLWindow4_GetTypeInfoCount(IHTMLWindow4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLWindow4_GetTypeInfo(IHTMLWindow4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLWindow4_createPopup(IHTMLWindow4* This,VARIANT *varArgIn,IDispatch **ppPopup) {
    return This->lpVtbl->createPopup(This,varArgIn,ppPopup);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLWindow5_QueryInterface(IHTMLWindow5* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLWindow5_AddRef(IHTMLWindow5* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLWindow5_Release(IHTMLWindow5* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLWindow5_GetTypeInfoCount(IHTMLWindow5* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLWindow5_GetTypeInfo(IHTMLWindow5* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLWindow5_put_XMLHttpRequest(IHTMLWindow5* This,VARIANT v) {
    return This->lpVtbl->put_XMLHttpRequest(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLWindow6_QueryInterface(IHTMLWindow6* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLWindow6_AddRef(IHTMLWindow6* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLWindow6_Release(IHTMLWindow6* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLWindow6_GetTypeInfoCount(IHTMLWindow6* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLWindow6_GetTypeInfo(IHTMLWindow6* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLWindow6_put_XDomainRequest(IHTMLWindow6* This,VARIANT v) {
    return This->lpVtbl->put_XDomainRequest(This,v);
}
static FORCEINLINE HRESULT IHTMLWindow6_get_XDomainRequest(IHTMLWindow6* This,VARIANT *p) {
    return This->lpVtbl->get_XDomainRequest(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow6_get_sessionStorage(IHTMLWindow6* This,IHTMLStorage **p) {
    return This->lpVtbl->get_sessionStorage(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow6_get_localStorage(IHTMLWindow6* This,IHTMLStorage **p) {
    return This->lpVtbl->get_localStorage(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow6_put_onhashchange(IHTMLWindow6* This,VARIANT v) {
    return This->lpVtbl->put_onhashchange(This,v);
}
static FORCEINLINE HRESULT IHTMLWindow6_get_onhashchange(IHTMLWindow6* This,VARIANT *p) {
    return This->lpVtbl->get_onhashchange(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow6_get_maxConnectionsPerServer(IHTMLWindow6* This,LONG *p) {
    return This->lpVtbl->get_maxConnectionsPerServer(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow6_postMessage(IHTMLWindow6* This,BSTR msg,VARIANT targetOrigin) {
    return This->lpVtbl->postMessage(This,msg,targetOrigin);
}
static FORCEINLINE HRESULT IHTMLWindow6_toStaticHTML(IHTMLWindow6* This,BSTR bstrHTML,BSTR *pbstrStaticHTML) {
    return This->lpVtbl->toStaticHTML(This,bstrHTML,pbstrStaticHTML);
}
static FORCEINLINE HRESULT IHTMLWindow6_put_onmessage(IHTMLWindow6* This,VARIANT v) {
    return This->lpVtbl->put_onmessage(This,v);
}
static FORCEINLINE HRESULT IHTMLWindow6_get_onmessage(IHTMLWindow6* This,VARIANT *p) {
    return This->lpVtbl->get_onmessage(This,p);
}
static FORCEINLINE HRESULT IHTMLWindow6_msWriteProfilerMark(IHTMLWindow6* This,BSTR bstrProfilerMarkName) {
    return This->lpVtbl->msWriteProfilerMark(This,bstrProfilerMarkName);
}
#endif
#endif

#endif


#endif  /* __IHTMLWindow6_INTERFACE_DEFINED__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT DispHTMLScreen_QueryInterface(DispHTMLScreen* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLScreen_AddRef(DispHTMLScreen* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLScreen_Release(DispHTMLScreen* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLScreen_GetTypeInfoCount(DispHTMLScreen* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLScreen_GetTypeInfo(DispHTMLScreen* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT DispHTMLWindow2_QueryInterface(DispHTMLWindow2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLWindow2_AddRef(DispHTMLWindow2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLWindow2_Release(DispHTMLWindow2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLWindow2_GetTypeInfoCount(DispHTMLWindow2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLWindow2_GetTypeInfo(DispHTMLWindow2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT DispHTMLWindowProxy_QueryInterface(DispHTMLWindowProxy* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLWindowProxy_AddRef(DispHTMLWindowProxy* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLWindowProxy_Release(DispHTMLWindowProxy* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLWindowProxy_GetTypeInfoCount(DispHTMLWindowProxy* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLWindowProxy_GetTypeInfo(DispHTMLWindowProxy* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT HTMLWindowEvents_QueryInterface(HTMLWindowEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG HTMLWindowEvents_AddRef(HTMLWindowEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG HTMLWindowEvents_Release(HTMLWindowEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT HTMLWindowEvents_GetTypeInfoCount(HTMLWindowEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT HTMLWindowEvents_GetTypeInfo(HTMLWindowEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT HTMLWindowEvents2_QueryInterface(HTMLWindowEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG HTMLWindowEvents2_AddRef(HTMLWindowEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG HTMLWindowEvents2_Release(HTMLWindowEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT HTMLWindowEvents2_GetTypeInfoCount(HTMLWindowEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT HTMLWindowEvents2_GetTypeInfo(HTMLWindowEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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__ */

/*****************************************************************************
 * 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT HTMLDocumentEvents2_QueryInterface(HTMLDocumentEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG HTMLDocumentEvents2_AddRef(HTMLDocumentEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG HTMLDocumentEvents2_Release(HTMLDocumentEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT HTMLDocumentEvents2_GetTypeInfoCount(HTMLDocumentEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT HTMLDocumentEvents2_GetTypeInfo(HTMLDocumentEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT HTMLDocumentEvents_QueryInterface(HTMLDocumentEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG HTMLDocumentEvents_AddRef(HTMLDocumentEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG HTMLDocumentEvents_Release(HTMLDocumentEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT HTMLDocumentEvents_GetTypeInfoCount(HTMLDocumentEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT HTMLDocumentEvents_GetTypeInfo(HTMLDocumentEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT HTMLTextContainerEvents_QueryInterface(HTMLTextContainerEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG HTMLTextContainerEvents_AddRef(HTMLTextContainerEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG HTMLTextContainerEvents_Release(HTMLTextContainerEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT HTMLTextContainerEvents_GetTypeInfoCount(HTMLTextContainerEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT HTMLTextContainerEvents_GetTypeInfo(HTMLTextContainerEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT HTMLTextContainerEvents2_QueryInterface(HTMLTextContainerEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG HTMLTextContainerEvents2_AddRef(HTMLTextContainerEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG HTMLTextContainerEvents2_Release(HTMLTextContainerEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT HTMLTextContainerEvents2_GetTypeInfoCount(HTMLTextContainerEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT HTMLTextContainerEvents2_GetTypeInfo(HTMLTextContainerEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IDOMProcessingInstruction_QueryInterface(IDOMProcessingInstruction* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDOMProcessingInstruction_AddRef(IDOMProcessingInstruction* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDOMProcessingInstruction_Release(IDOMProcessingInstruction* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IDOMProcessingInstruction_GetTypeInfoCount(IDOMProcessingInstruction* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IDOMProcessingInstruction_GetTypeInfo(IDOMProcessingInstruction* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IDOMProcessingInstruction_get_target(IDOMProcessingInstruction* This,BSTR *p) {
    return This->lpVtbl->get_target(This,p);
}
static FORCEINLINE HRESULT IDOMProcessingInstruction_put_data(IDOMProcessingInstruction* This,BSTR v) {
    return This->lpVtbl->put_data(This,v);
}
static FORCEINLINE HRESULT IDOMProcessingInstruction_get_data(IDOMProcessingInstruction* This,BSTR *p) {
    return This->lpVtbl->get_data(This,p);
}
#endif
#endif

#endif


#endif  /* __IDOMProcessingInstruction_INTERFACE_DEFINED__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLDocument_QueryInterface(IHTMLDocument* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLDocument_AddRef(IHTMLDocument* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLDocument_Release(IHTMLDocument* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLDocument_GetTypeInfoCount(IHTMLDocument* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLDocument_GetTypeInfo(IHTMLDocument* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE 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,
        LONG lIndex,
        IHTMLStyleSheet **ppnewStyleSheet) = 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 FORCEINLINE HRESULT IHTMLDocument2_QueryInterface(IHTMLDocument2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLDocument2_AddRef(IHTMLDocument2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLDocument2_Release(IHTMLDocument2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLDocument2_GetTypeInfoCount(IHTMLDocument2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLDocument2_GetTypeInfo(IHTMLDocument2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDocument2_get_Script(IHTMLDocument2* This,IDispatch **p) {
    return This->lpVtbl->get_Script(This,p);
}
/*** IHTMLDocument2 methods ***/
static FORCEINLINE HRESULT IHTMLDocument2_get_all(IHTMLDocument2* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_all(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_body(IHTMLDocument2* This,IHTMLElement **p) {
    return This->lpVtbl->get_body(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_activeElement(IHTMLDocument2* This,IHTMLElement **p) {
    return This->lpVtbl->get_activeElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_images(IHTMLDocument2* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_images(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_applets(IHTMLDocument2* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_applets(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_links(IHTMLDocument2* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_links(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_forms(IHTMLDocument2* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_forms(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_anchors(IHTMLDocument2* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_anchors(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_title(IHTMLDocument2* This,BSTR v) {
    return This->lpVtbl->put_title(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_title(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_title(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_scripts(IHTMLDocument2* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_scripts(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_designMode(IHTMLDocument2* This,BSTR v) {
    return This->lpVtbl->put_designMode(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_designMode(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_designMode(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_selection(IHTMLDocument2* This,IHTMLSelectionObject **p) {
    return This->lpVtbl->get_selection(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_readyState(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_readyState(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_frames(IHTMLDocument2* This,IHTMLFramesCollection2 **p) {
    return This->lpVtbl->get_frames(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_embeds(IHTMLDocument2* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_embeds(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_plugins(IHTMLDocument2* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_plugins(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_alinkColor(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_alinkColor(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_alinkColor(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_alinkColor(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_bgColor(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_bgColor(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_bgColor(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_bgColor(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_fgColor(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_fgColor(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_fgColor(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_fgColor(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_linkColor(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_linkColor(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_linkColor(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_linkColor(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_vlinkColor(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_vlinkColor(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_vlinkColor(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_vlinkColor(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_referrer(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_referrer(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_location(IHTMLDocument2* This,IHTMLLocation **p) {
    return This->lpVtbl->get_location(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_lastModified(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_lastModified(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_URL(IHTMLDocument2* This,BSTR v) {
    return This->lpVtbl->put_URL(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_URL(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_URL(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_domain(IHTMLDocument2* This,BSTR v) {
    return This->lpVtbl->put_domain(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_domain(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_domain(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_cookie(IHTMLDocument2* This,BSTR v) {
    return This->lpVtbl->put_cookie(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_cookie(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_cookie(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_expando(IHTMLDocument2* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_expando(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_expando(IHTMLDocument2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_expando(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_charset(IHTMLDocument2* This,BSTR v) {
    return This->lpVtbl->put_charset(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_charset(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_charset(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_defaultCharset(IHTMLDocument2* This,BSTR v) {
    return This->lpVtbl->put_defaultCharset(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_defaultCharset(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_defaultCharset(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_mimeType(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_mimeType(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_fileSize(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_fileSize(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_fileCreatedDate(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_fileCreatedDate(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_fileModifiedDate(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_fileModifiedDate(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_fileUpdatedDate(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_fileUpdatedDate(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_security(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_security(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_protocol(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_protocol(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_nameProp(IHTMLDocument2* This,BSTR *p) {
    return This->lpVtbl->get_nameProp(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_write(IHTMLDocument2* This,SAFEARRAY *psarray) {
    return This->lpVtbl->write(This,psarray);
}
static FORCEINLINE HRESULT IHTMLDocument2_writeln(IHTMLDocument2* This,SAFEARRAY *psarray) {
    return This->lpVtbl->writeln(This,psarray);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDocument2_close(IHTMLDocument2* This) {
    return This->lpVtbl->close(This);
}
static FORCEINLINE HRESULT IHTMLDocument2_clear(IHTMLDocument2* This) {
    return This->lpVtbl->clear(This);
}
static FORCEINLINE HRESULT IHTMLDocument2_queryCommandSupported(IHTMLDocument2* This,BSTR cmdID,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->queryCommandSupported(This,cmdID,pfRet);
}
static FORCEINLINE HRESULT IHTMLDocument2_queryCommandEnabled(IHTMLDocument2* This,BSTR cmdID,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->queryCommandEnabled(This,cmdID,pfRet);
}
static FORCEINLINE HRESULT IHTMLDocument2_queryCommandState(IHTMLDocument2* This,BSTR cmdID,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->queryCommandState(This,cmdID,pfRet);
}
static FORCEINLINE HRESULT IHTMLDocument2_queryCommandIndeterm(IHTMLDocument2* This,BSTR cmdID,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->queryCommandIndeterm(This,cmdID,pfRet);
}
static FORCEINLINE HRESULT IHTMLDocument2_queryCommandText(IHTMLDocument2* This,BSTR cmdID,BSTR *pcmdText) {
    return This->lpVtbl->queryCommandText(This,cmdID,pcmdText);
}
static FORCEINLINE HRESULT IHTMLDocument2_queryCommandValue(IHTMLDocument2* This,BSTR cmdID,VARIANT *pcmdValue) {
    return This->lpVtbl->queryCommandValue(This,cmdID,pcmdValue);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDocument2_execCommandShowHelp(IHTMLDocument2* This,BSTR cmdID,VARIANT_BOOL *pfRet) {
    return This->lpVtbl->execCommandShowHelp(This,cmdID,pfRet);
}
static FORCEINLINE HRESULT IHTMLDocument2_createElement(IHTMLDocument2* This,BSTR eTag,IHTMLElement **newElem) {
    return This->lpVtbl->createElement(This,eTag,newElem);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_onhelp(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onhelp(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_onhelp(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onhelp(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_onclick(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onclick(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_onclick(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onclick(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_ondblclick(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_ondblclick(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_ondblclick(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_ondblclick(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_onkeyup(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onkeyup(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_onkeyup(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onkeyup(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_onkeydown(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onkeydown(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_onkeydown(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onkeydown(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_onkeypress(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onkeypress(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_onkeypress(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onkeypress(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_onmouseup(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onmouseup(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_onmouseup(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onmouseup(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_onmousedown(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onmousedown(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_onmousedown(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onmousedown(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_onmousemove(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onmousemove(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_onmousemove(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onmousemove(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_onmouseout(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onmouseout(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_onmouseout(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onmouseout(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_onmouseover(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onmouseover(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_onmouseover(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onmouseover(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_onreadystatechange(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onreadystatechange(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_onreadystatechange(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onreadystatechange(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_onafterupdate(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onafterupdate(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_onafterupdate(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onafterupdate(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_onrowexit(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onrowexit(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_onrowexit(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onrowexit(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_onrowenter(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onrowenter(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_onrowenter(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onrowenter(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_ondragstart(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_ondragstart(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_ondragstart(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_ondragstart(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_onselectstart(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onselectstart(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_onselectstart(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onselectstart(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_elementFromPoint(IHTMLDocument2* This,LONG x,LONG y,IHTMLElement **elementHit) {
    return This->lpVtbl->elementFromPoint(This,x,y,elementHit);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_parentWindow(IHTMLDocument2* This,IHTMLWindow2 **p) {
    return This->lpVtbl->get_parentWindow(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_styleSheets(IHTMLDocument2* This,IHTMLStyleSheetsCollection **p) {
    return This->lpVtbl->get_styleSheets(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_onbeforeupdate(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onbeforeupdate(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_onbeforeupdate(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforeupdate(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_put_onerrorupdate(IHTMLDocument2* This,VARIANT v) {
    return This->lpVtbl->put_onerrorupdate(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument2_get_onerrorupdate(IHTMLDocument2* This,VARIANT *p) {
    return This->lpVtbl->get_onerrorupdate(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument2_toString(IHTMLDocument2* This,BSTR *String) {
    return This->lpVtbl->toString(This,String);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDocument3_QueryInterface(IHTMLDocument3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLDocument3_AddRef(IHTMLDocument3* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLDocument3_Release(IHTMLDocument3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLDocument3_GetTypeInfoCount(IHTMLDocument3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLDocument3_GetTypeInfo(IHTMLDocument3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDocument3_releaseCapture(IHTMLDocument3* This) {
    return This->lpVtbl->releaseCapture(This);
}
static FORCEINLINE HRESULT IHTMLDocument3_recalc(IHTMLDocument3* This,VARIANT_BOOL fForce) {
    return This->lpVtbl->recalc(This,fForce);
}
static FORCEINLINE HRESULT IHTMLDocument3_createTextNode(IHTMLDocument3* This,BSTR text,IHTMLDOMNode **newTextNode) {
    return This->lpVtbl->createTextNode(This,text,newTextNode);
}
static FORCEINLINE HRESULT IHTMLDocument3_get_documentElement(IHTMLDocument3* This,IHTMLElement **p) {
    return This->lpVtbl->get_documentElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument3_get_uniqueID(IHTMLDocument3* This,BSTR *p) {
    return This->lpVtbl->get_uniqueID(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument3_attachEvent(IHTMLDocument3* This,BSTR event,IDispatch *pDisp,VARIANT_BOOL *pfResult) {
    return This->lpVtbl->attachEvent(This,event,pDisp,pfResult);
}
static FORCEINLINE HRESULT IHTMLDocument3_detachEvent(IHTMLDocument3* This,BSTR event,IDispatch *pDisp) {
    return This->lpVtbl->detachEvent(This,event,pDisp);
}
static FORCEINLINE HRESULT IHTMLDocument3_put_onrowsdelete(IHTMLDocument3* This,VARIANT v) {
    return This->lpVtbl->put_onrowsdelete(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument3_get_onrowsdelete(IHTMLDocument3* This,VARIANT *p) {
    return This->lpVtbl->get_onrowsdelete(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument3_put_onrowsinserted(IHTMLDocument3* This,VARIANT v) {
    return This->lpVtbl->put_onrowsinserted(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument3_get_onrowsinserted(IHTMLDocument3* This,VARIANT *p) {
    return This->lpVtbl->get_onrowsinserted(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument3_put_oncellchange(IHTMLDocument3* This,VARIANT v) {
    return This->lpVtbl->put_oncellchange(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument3_get_oncellchange(IHTMLDocument3* This,VARIANT *p) {
    return This->lpVtbl->get_oncellchange(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument3_put_ondatasetchanged(IHTMLDocument3* This,VARIANT v) {
    return This->lpVtbl->put_ondatasetchanged(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument3_get_ondatasetchanged(IHTMLDocument3* This,VARIANT *p) {
    return This->lpVtbl->get_ondatasetchanged(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument3_put_ondataavailable(IHTMLDocument3* This,VARIANT v) {
    return This->lpVtbl->put_ondataavailable(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument3_get_ondataavailable(IHTMLDocument3* This,VARIANT *p) {
    return This->lpVtbl->get_ondataavailable(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument3_put_ondatasetcomplete(IHTMLDocument3* This,VARIANT v) {
    return This->lpVtbl->put_ondatasetcomplete(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument3_get_ondatasetcomplete(IHTMLDocument3* This,VARIANT *p) {
    return This->lpVtbl->get_ondatasetcomplete(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument3_put_onpropertychange(IHTMLDocument3* This,VARIANT v) {
    return This->lpVtbl->put_onpropertychange(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument3_get_onpropertychange(IHTMLDocument3* This,VARIANT *p) {
    return This->lpVtbl->get_onpropertychange(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument3_put_dir(IHTMLDocument3* This,BSTR v) {
    return This->lpVtbl->put_dir(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument3_get_dir(IHTMLDocument3* This,BSTR *p) {
    return This->lpVtbl->get_dir(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument3_put_oncontextmenu(IHTMLDocument3* This,VARIANT v) {
    return This->lpVtbl->put_oncontextmenu(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument3_get_oncontextmenu(IHTMLDocument3* This,VARIANT *p) {
    return This->lpVtbl->get_oncontextmenu(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument3_put_onstop(IHTMLDocument3* This,VARIANT v) {
    return This->lpVtbl->put_onstop(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument3_get_onstop(IHTMLDocument3* This,VARIANT *p) {
    return This->lpVtbl->get_onstop(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument3_createDocumentFragment(IHTMLDocument3* This,IHTMLDocument2 **pNewDoc) {
    return This->lpVtbl->createDocumentFragment(This,pNewDoc);
}
static FORCEINLINE HRESULT IHTMLDocument3_get_parentDocument(IHTMLDocument3* This,IHTMLDocument2 **p) {
    return This->lpVtbl->get_parentDocument(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument3_put_enableDownload(IHTMLDocument3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_enableDownload(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument3_get_enableDownload(IHTMLDocument3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_enableDownload(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument3_put_baseUrl(IHTMLDocument3* This,BSTR v) {
    return This->lpVtbl->put_baseUrl(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument3_get_baseUrl(IHTMLDocument3* This,BSTR *p) {
    return This->lpVtbl->get_baseUrl(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument3_get_childNodes(IHTMLDocument3* This,IDispatch **p) {
    return This->lpVtbl->get_childNodes(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument3_put_inheritStyleSheets(IHTMLDocument3* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_inheritStyleSheets(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument3_get_inheritStyleSheets(IHTMLDocument3* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_inheritStyleSheets(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument3_put_onbeforeeditfocus(IHTMLDocument3* This,VARIANT v) {
    return This->lpVtbl->put_onbeforeeditfocus(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument3_get_onbeforeeditfocus(IHTMLDocument3* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforeeditfocus(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument3_getElementsByName(IHTMLDocument3* This,BSTR v,IHTMLElementCollection **pelColl) {
    return This->lpVtbl->getElementsByName(This,v,pelColl);
}
static FORCEINLINE HRESULT IHTMLDocument3_getElementById(IHTMLDocument3* This,BSTR v,IHTMLElement **pel) {
    return This->lpVtbl->getElementById(This,v,pel);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDocument4_QueryInterface(IHTMLDocument4* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLDocument4_AddRef(IHTMLDocument4* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLDocument4_Release(IHTMLDocument4* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLDocument4_GetTypeInfoCount(IHTMLDocument4* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLDocument4_GetTypeInfo(IHTMLDocument4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDocument4_focus(IHTMLDocument4* This) {
    return This->lpVtbl->focus(This);
}
static FORCEINLINE HRESULT IHTMLDocument4_hasFocus(IHTMLDocument4* This,VARIANT_BOOL *pfFocus) {
    return This->lpVtbl->hasFocus(This,pfFocus);
}
static FORCEINLINE HRESULT IHTMLDocument4_put_onselectionchange(IHTMLDocument4* This,VARIANT v) {
    return This->lpVtbl->put_onselectionchange(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument4_get_onselectionchange(IHTMLDocument4* This,VARIANT *p) {
    return This->lpVtbl->get_onselectionchange(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument4_get_namespaces(IHTMLDocument4* This,IDispatch **p) {
    return This->lpVtbl->get_namespaces(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument4_createDocumentFromUrl(IHTMLDocument4* This,BSTR bstrUrl,BSTR bstrOptions,IHTMLDocument2 **newDoc) {
    return This->lpVtbl->createDocumentFromUrl(This,bstrUrl,bstrOptions,newDoc);
}
static FORCEINLINE HRESULT IHTMLDocument4_put_media(IHTMLDocument4* This,BSTR v) {
    return This->lpVtbl->put_media(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument4_get_media(IHTMLDocument4* This,BSTR *p) {
    return This->lpVtbl->get_media(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument4_createEventObject(IHTMLDocument4* This,VARIANT *pvarEventObject,IHTMLEventObj **ppEventObj) {
    return This->lpVtbl->createEventObject(This,pvarEventObject,ppEventObj);
}
static FORCEINLINE HRESULT IHTMLDocument4_fireEvent(IHTMLDocument4* This,BSTR bstrEventName,VARIANT *pvarEventObject,VARIANT_BOOL *pfCancelled) {
    return This->lpVtbl->fireEvent(This,bstrEventName,pvarEventObject,pfCancelled);
}
static FORCEINLINE HRESULT IHTMLDocument4_createRenderStyle(IHTMLDocument4* This,BSTR v,IHTMLRenderStyle **ppIHTMLRenderStyle) {
    return This->lpVtbl->createRenderStyle(This,v,ppIHTMLRenderStyle);
}
static FORCEINLINE HRESULT IHTMLDocument4_put_oncontrolselect(IHTMLDocument4* This,VARIANT v) {
    return This->lpVtbl->put_oncontrolselect(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument4_get_oncontrolselect(IHTMLDocument4* This,VARIANT *p) {
    return This->lpVtbl->get_oncontrolselect(This,p);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDocument5_QueryInterface(IHTMLDocument5* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLDocument5_AddRef(IHTMLDocument5* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLDocument5_Release(IHTMLDocument5* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLDocument5_GetTypeInfoCount(IHTMLDocument5* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLDocument5_GetTypeInfo(IHTMLDocument5* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDocument5_put_onmousewheel(IHTMLDocument5* This,VARIANT v) {
    return This->lpVtbl->put_onmousewheel(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument5_get_onmousewheel(IHTMLDocument5* This,VARIANT *p) {
    return This->lpVtbl->get_onmousewheel(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument5_get_doctype(IHTMLDocument5* This,IHTMLDOMNode **p) {
    return This->lpVtbl->get_doctype(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument5_get_implementation(IHTMLDocument5* This,IHTMLDOMImplementation **p) {
    return This->lpVtbl->get_implementation(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument5_createAttribute(IHTMLDocument5* This,BSTR bstrattrName,IHTMLDOMAttribute **ppattribute) {
    return This->lpVtbl->createAttribute(This,bstrattrName,ppattribute);
}
static FORCEINLINE HRESULT IHTMLDocument5_createComment(IHTMLDocument5* This,BSTR bstrdata,IHTMLDOMNode **ppRetNode) {
    return This->lpVtbl->createComment(This,bstrdata,ppRetNode);
}
static FORCEINLINE HRESULT IHTMLDocument5_put_onfocusin(IHTMLDocument5* This,VARIANT v) {
    return This->lpVtbl->put_onfocusin(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument5_get_onfocusin(IHTMLDocument5* This,VARIANT *p) {
    return This->lpVtbl->get_onfocusin(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument5_put_onfocusout(IHTMLDocument5* This,VARIANT v) {
    return This->lpVtbl->put_onfocusout(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument5_get_onfocusout(IHTMLDocument5* This,VARIANT *p) {
    return This->lpVtbl->get_onfocusout(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument5_put_onactivate(IHTMLDocument5* This,VARIANT v) {
    return This->lpVtbl->put_onactivate(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument5_get_onactivate(IHTMLDocument5* This,VARIANT *p) {
    return This->lpVtbl->get_onactivate(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument5_put_ondeactivate(IHTMLDocument5* This,VARIANT v) {
    return This->lpVtbl->put_ondeactivate(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument5_get_ondeactivate(IHTMLDocument5* This,VARIANT *p) {
    return This->lpVtbl->get_ondeactivate(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument5_put_onbeforeactivate(IHTMLDocument5* This,VARIANT v) {
    return This->lpVtbl->put_onbeforeactivate(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument5_get_onbeforeactivate(IHTMLDocument5* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforeactivate(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument5_put_onbeforedeactivate(IHTMLDocument5* This,VARIANT v) {
    return This->lpVtbl->put_onbeforedeactivate(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument5_get_onbeforedeactivate(IHTMLDocument5* This,VARIANT *p) {
    return This->lpVtbl->get_onbeforedeactivate(This,p);
}
static FORCEINLINE 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 **p) = 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 **p);

    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,p) (This)->lpVtbl->getElementById(This,bstrId,p)
#define IHTMLDocument6_updateSettings(This) (This)->lpVtbl->updateSettings(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IHTMLDocument6_QueryInterface(IHTMLDocument6* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLDocument6_AddRef(IHTMLDocument6* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLDocument6_Release(IHTMLDocument6* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLDocument6_GetTypeInfoCount(IHTMLDocument6* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLDocument6_GetTypeInfo(IHTMLDocument6* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDocument6_get_compatible(IHTMLDocument6* This,IHTMLDocumentCompatibleInfoCollection **p) {
    return This->lpVtbl->get_compatible(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument6_get_documentMode(IHTMLDocument6* This,VARIANT *p) {
    return This->lpVtbl->get_documentMode(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument6_put_onstorage(IHTMLDocument6* This,VARIANT v) {
    return This->lpVtbl->put_onstorage(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument6_get_onstorage(IHTMLDocument6* This,VARIANT *p) {
    return This->lpVtbl->get_onstorage(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument6_put_onstoragecommit(IHTMLDocument6* This,VARIANT v) {
    return This->lpVtbl->put_onstoragecommit(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument6_get_onstoragecommit(IHTMLDocument6* This,VARIANT *p) {
    return This->lpVtbl->get_onstoragecommit(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument6_getElementById(IHTMLDocument6* This,BSTR bstrId,IHTMLElement2 **p) {
    return This->lpVtbl->getElementById(This,bstrId,p);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDocument7_QueryInterface(IHTMLDocument7* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLDocument7_AddRef(IHTMLDocument7* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLDocument7_Release(IHTMLDocument7* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLDocument7_GetTypeInfoCount(IHTMLDocument7* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLDocument7_GetTypeInfo(IHTMLDocument7* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDocument7_get_defaultView(IHTMLDocument7* This,IHTMLWindow2 **p) {
    return This->lpVtbl->get_defaultView(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_createCDATASection(IHTMLDocument7* This,BSTR text,IHTMLDOMNode **newCDATASectionNode) {
    return This->lpVtbl->createCDATASection(This,text,newCDATASectionNode);
}
static FORCEINLINE HRESULT IHTMLDocument7_getSelection(IHTMLDocument7* This,IHTMLSelection **ppIHTMLSelection) {
    return This->lpVtbl->getSelection(This,ppIHTMLSelection);
}
static FORCEINLINE HRESULT IHTMLDocument7_getElementsByTagNameNS(IHTMLDocument7* This,VARIANT *pvarNS,BSTR bstrLocalName,IHTMLElementCollection **pelColl) {
    return This->lpVtbl->getElementsByTagNameNS(This,pvarNS,bstrLocalName,pelColl);
}
static FORCEINLINE HRESULT IHTMLDocument7_createElementNS(IHTMLDocument7* This,VARIANT *pvarNS,BSTR bstrTag,IHTMLElement **newElem) {
    return This->lpVtbl->createElementNS(This,pvarNS,bstrTag,newElem);
}
static FORCEINLINE HRESULT IHTMLDocument7_createAttributeNS(IHTMLDocument7* This,VARIANT *pvarNS,BSTR bstrAttrName,IHTMLDOMAttribute **ppAttribute) {
    return This->lpVtbl->createAttributeNS(This,pvarNS,bstrAttrName,ppAttribute);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onmsthumbnailclick(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onmsthumbnailclick(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onmsthumbnailclick(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onmsthumbnailclick(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_characterSet(IHTMLDocument7* This,BSTR *p) {
    return This->lpVtbl->get_characterSet(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_createElement(IHTMLDocument7* This,BSTR bstrTag,IHTMLElement **newElem) {
    return This->lpVtbl->createElement(This,bstrTag,newElem);
}
static FORCEINLINE HRESULT IHTMLDocument7_createAttribute(IHTMLDocument7* This,BSTR bstrAttrName,IHTMLDOMAttribute **ppAttribute) {
    return This->lpVtbl->createAttribute(This,bstrAttrName,ppAttribute);
}
static FORCEINLINE HRESULT IHTMLDocument7_getElementsByClassName(IHTMLDocument7* This,BSTR v,IHTMLElementCollection **pel) {
    return This->lpVtbl->getElementsByClassName(This,v,pel);
}
static FORCEINLINE HRESULT IHTMLDocument7_createProcessingInstruction(IHTMLDocument7* This,BSTR bstrTarget,BSTR bstrData,IDOMProcessingInstruction **newProcessingInstruction) {
    return This->lpVtbl->createProcessingInstruction(This,bstrTarget,bstrData,newProcessingInstruction);
}
static FORCEINLINE HRESULT IHTMLDocument7_adoptNode(IHTMLDocument7* This,IHTMLDOMNode *pNodeSource,IHTMLDOMNode3 **ppNodeDest) {
    return This->lpVtbl->adoptNode(This,pNodeSource,ppNodeDest);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onmssitemodejumplistitemremoved(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onmssitemodejumplistitemremoved(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onmssitemodejumplistitemremoved(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onmssitemodejumplistitemremoved(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_all(IHTMLDocument7* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_all(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_inputEncoding(IHTMLDocument7* This,BSTR *p) {
    return This->lpVtbl->get_inputEncoding(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_xmlEncoding(IHTMLDocument7* This,BSTR *p) {
    return This->lpVtbl->get_xmlEncoding(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_xmlStandalone(IHTMLDocument7* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_xmlStandalone(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_xmlStandalone(IHTMLDocument7* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_xmlStandalone(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_xmlVersion(IHTMLDocument7* This,BSTR v) {
    return This->lpVtbl->put_xmlVersion(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_xmlVersion(IHTMLDocument7* This,BSTR *p) {
    return This->lpVtbl->get_xmlVersion(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_hasAttributes(IHTMLDocument7* This,VARIANT_BOOL *pfHasAttributes) {
    return This->lpVtbl->hasAttributes(This,pfHasAttributes);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onabort(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onabort(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onabort(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onabort(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onblur(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onblur(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onblur(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onblur(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_oncanplay(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_oncanplay(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_oncanplay(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_oncanplay(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_oncanplaythrough(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_oncanplaythrough(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_oncanplaythrough(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_oncanplaythrough(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onchange(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onchange(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onchange(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onchange(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_ondrag(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_ondrag(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_ondrag(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_ondrag(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_ondragend(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_ondragend(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_ondragend(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_ondragend(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_ondragenter(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_ondragenter(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_ondragenter(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_ondragenter(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_ondragleave(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_ondragleave(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_ondragleave(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_ondragleave(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_ondragover(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_ondragover(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_ondragover(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_ondragover(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_ondrop(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_ondrop(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_ondrop(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_ondrop(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_ondurationchange(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_ondurationchange(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_ondurationchange(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_ondurationchange(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onemptied(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onemptied(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onemptied(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onemptied(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onended(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onended(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onended(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onended(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onerror(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onerror(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onerror(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onerror(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onfocus(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onfocus(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onfocus(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onfocus(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_oninput(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_oninput(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_oninput(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_oninput(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onload(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onload(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onload(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onload(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onloadeddata(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onloadeddata(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onloadeddata(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onloadeddata(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onloadedmetadata(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onloadedmetadata(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onloadedmetadata(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onloadedmetadata(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onloadstart(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onloadstart(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onloadstart(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onloadstart(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onpause(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onpause(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onpause(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onpause(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onplay(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onplay(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onplay(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onplay(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onplaying(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onplaying(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onplaying(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onplaying(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onprogress(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onprogress(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onprogress(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onprogress(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onratechange(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onratechange(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onratechange(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onratechange(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onreset(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onreset(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onreset(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onreset(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onscroll(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onscroll(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onscroll(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onscroll(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onseeked(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onseeked(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onseeked(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onseeked(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onseeking(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onseeking(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onseeking(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onseeking(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onselect(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onselect(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onselect(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onselect(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onstalled(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onstalled(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onstalled(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onstalled(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onsubmit(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onsubmit(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onsubmit(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onsubmit(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onsuspend(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onsuspend(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onsuspend(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onsuspend(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_ontimeupdate(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_ontimeupdate(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_ontimeupdate(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_ontimeupdate(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onvolumechange(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onvolumechange(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onvolumechange(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onvolumechange(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_put_onwaiting(IHTMLDocument7* This,VARIANT v) {
    return This->lpVtbl->put_onwaiting(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_onwaiting(IHTMLDocument7* This,VARIANT *p) {
    return This->lpVtbl->get_onwaiting(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_normalize(IHTMLDocument7* This) {
    return This->lpVtbl->normalize(This);
}
static FORCEINLINE HRESULT IHTMLDocument7_importNode(IHTMLDocument7* This,IHTMLDOMNode *pNodeSource,VARIANT_BOOL fDeep,IHTMLDOMNode3 **ppNodeDest) {
    return This->lpVtbl->importNode(This,pNodeSource,fDeep,ppNodeDest);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_parentWindow(IHTMLDocument7* This,IHTMLWindow2 **p) {
    return This->lpVtbl->get_parentWindow(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument7_putref_body(IHTMLDocument7* This,IHTMLElement *v) {
    return This->lpVtbl->putref_body(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument7_get_body(IHTMLDocument7* This,IHTMLElement **p) {
    return This->lpVtbl->get_body(This,p);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDocument8_QueryInterface(IHTMLDocument8* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLDocument8_AddRef(IHTMLDocument8* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLDocument8_Release(IHTMLDocument8* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLDocument8_GetTypeInfoCount(IHTMLDocument8* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLDocument8_GetTypeInfo(IHTMLDocument8* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDocument8_put_onmscontentzoom(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmscontentzoom(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument8_get_onmscontentzoom(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmscontentzoom(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument8_put_onmspointerdown(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmspointerdown(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument8_get_onmspointerdown(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointerdown(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument8_put_onmspointermove(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmspointermove(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument8_get_onmspointermove(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointermove(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument8_put_onmspointerup(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmspointerup(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument8_get_onmspointerup(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointerup(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument8_put_onmspointerover(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmspointerover(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument8_get_onmspointerover(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointerover(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument8_put_onmspointerout(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmspointerout(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument8_get_onmspointerout(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointerout(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument8_put_onmspointercancel(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmspointercancel(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument8_get_onmspointercancel(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointercancel(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument8_put_onmspointerhover(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmspointerhover(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument8_get_onmspointerhover(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmspointerhover(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument8_put_onmsgesturestart(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmsgesturestart(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument8_get_onmsgesturestart(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmsgesturestart(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument8_put_onmsgesturechange(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmsgesturechange(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument8_get_onmsgesturechange(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmsgesturechange(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument8_put_onmsgestureend(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmsgestureend(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument8_get_onmsgestureend(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmsgestureend(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument8_put_onmsgesturehold(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmsgesturehold(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument8_get_onmsgesturehold(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmsgesturehold(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument8_put_onmsgesturetap(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmsgesturetap(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument8_get_onmsgesturetap(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmsgesturetap(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument8_put_onmsgesturedoubletap(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmsgesturedoubletap(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument8_get_onmsgesturedoubletap(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmsgesturedoubletap(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument8_put_onmsinertiastart(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmsinertiastart(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument8_get_onmsinertiastart(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmsinertiastart(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument8_elementsFromPoint(IHTMLDocument8* This,float x,float y,IHTMLDOMChildrenCollection **elementsHit) {
    return This->lpVtbl->elementsFromPoint(This,x,y,elementsHit);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDocument8_put_onmsmanipulationstatechanged(IHTMLDocument8* This,VARIANT v) {
    return This->lpVtbl->put_onmsmanipulationstatechanged(This,v);
}
static FORCEINLINE HRESULT IHTMLDocument8_get_onmsmanipulationstatechanged(IHTMLDocument8* This,VARIANT *p) {
    return This->lpVtbl->get_onmsmanipulationstatechanged(This,p);
}
static FORCEINLINE HRESULT IHTMLDocument8_put_msCapsLockWarningOff(IHTMLDocument8* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_msCapsLockWarningOff(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IDocumentEvent_QueryInterface(IDocumentEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDocumentEvent_AddRef(IDocumentEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDocumentEvent_Release(IDocumentEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IDocumentEvent_GetTypeInfoCount(IDocumentEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IDocumentEvent_GetTypeInfo(IDocumentEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IDocumentEvent_createEvent(IDocumentEvent* This,BSTR eventType,IDOMEvent **ppEvent) {
    return This->lpVtbl->createEvent(This,eventType,ppEvent);
}
#endif
#endif

#endif


#endif  /* __IDocumentEvent_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 FORCEINLINE HRESULT IDocumentSelector_QueryInterface(IDocumentSelector* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDocumentSelector_AddRef(IDocumentSelector* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDocumentSelector_Release(IDocumentSelector* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IDocumentSelector_GetTypeInfoCount(IDocumentSelector* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IDocumentSelector_GetTypeInfo(IDocumentSelector* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IDocumentSelector_querySelector(IDocumentSelector* This,BSTR v,IHTMLElement **pel) {
    return This->lpVtbl->querySelector(This,v,pel);
}
static FORCEINLINE HRESULT IDocumentSelector_querySelectorAll(IDocumentSelector* This,BSTR v,IHTMLDOMChildrenCollection **pel) {
    return This->lpVtbl->querySelectorAll(This,v,pel);
}
#endif
#endif

#endif


#endif  /* __IDocumentSelector_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 FORCEINLINE HRESULT DispHTMLDocument_QueryInterface(DispHTMLDocument* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLDocument_AddRef(DispHTMLDocument* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLDocument_Release(DispHTMLDocument* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLDocument_GetTypeInfoCount(DispHTMLDocument* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLDocument_GetTypeInfo(DispHTMLDocument* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT DWebBridgeEvents_QueryInterface(DWebBridgeEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DWebBridgeEvents_AddRef(DWebBridgeEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DWebBridgeEvents_Release(DWebBridgeEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DWebBridgeEvents_GetTypeInfoCount(DWebBridgeEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DWebBridgeEvents_GetTypeInfo(DWebBridgeEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IWebBridge_QueryInterface(IWebBridge* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IWebBridge_AddRef(IWebBridge* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IWebBridge_Release(IWebBridge* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IWebBridge_GetTypeInfoCount(IWebBridge* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IWebBridge_GetTypeInfo(IWebBridge* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IWebBridge_put_URL(IWebBridge* This,BSTR v) {
    return This->lpVtbl->put_URL(This,v);
}
static FORCEINLINE HRESULT IWebBridge_get_URL(IWebBridge* This,BSTR *p) {
    return This->lpVtbl->get_URL(This,p);
}
static FORCEINLINE HRESULT IWebBridge_put_Scrollbar(IWebBridge* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_Scrollbar(This,v);
}
static FORCEINLINE HRESULT IWebBridge_get_Scrollbar(IWebBridge* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_Scrollbar(This,p);
}
static FORCEINLINE HRESULT IWebBridge_put_embed(IWebBridge* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_embed(This,v);
}
static FORCEINLINE HRESULT IWebBridge_get_embed(IWebBridge* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_embed(This,p);
}
static FORCEINLINE HRESULT IWebBridge_get_event(IWebBridge* This,IDispatch **p) {
    return This->lpVtbl->get_event(This,p);
}
static FORCEINLINE HRESULT IWebBridge_get_readyState(IWebBridge* This,LONG *p) {
    return This->lpVtbl->get_readyState(This,p);
}
static FORCEINLINE HRESULT IWebBridge_AboutBox(IWebBridge* This) {
    return This->lpVtbl->AboutBox(This);
}
#endif
#endif

#endif


#endif  /* __IWebBridge_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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLEmbedElement_QueryInterface(IHTMLEmbedElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLEmbedElement_AddRef(IHTMLEmbedElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLEmbedElement_Release(IHTMLEmbedElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLEmbedElement_GetTypeInfoCount(IHTMLEmbedElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLEmbedElement_GetTypeInfo(IHTMLEmbedElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLEmbedElement_put_hidden(IHTMLEmbedElement* This,BSTR v) {
    return This->lpVtbl->put_hidden(This,v);
}
static FORCEINLINE HRESULT IHTMLEmbedElement_get_hidden(IHTMLEmbedElement* This,BSTR *p) {
    return This->lpVtbl->get_hidden(This,p);
}
static FORCEINLINE HRESULT IHTMLEmbedElement_get_palette(IHTMLEmbedElement* This,BSTR *p) {
    return This->lpVtbl->get_palette(This,p);
}
static FORCEINLINE HRESULT IHTMLEmbedElement_get_pluginspage(IHTMLEmbedElement* This,BSTR *p) {
    return This->lpVtbl->get_pluginspage(This,p);
}
static FORCEINLINE HRESULT IHTMLEmbedElement_put_src(IHTMLEmbedElement* This,BSTR v) {
    return This->lpVtbl->put_src(This,v);
}
static FORCEINLINE HRESULT IHTMLEmbedElement_get_src(IHTMLEmbedElement* This,BSTR *p) {
    return This->lpVtbl->get_src(This,p);
}
static FORCEINLINE HRESULT IHTMLEmbedElement_put_units(IHTMLEmbedElement* This,BSTR v) {
    return This->lpVtbl->put_units(This,v);
}
static FORCEINLINE HRESULT IHTMLEmbedElement_get_units(IHTMLEmbedElement* This,BSTR *p) {
    return This->lpVtbl->get_units(This,p);
}
static FORCEINLINE HRESULT IHTMLEmbedElement_put_name(IHTMLEmbedElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static FORCEINLINE HRESULT IHTMLEmbedElement_get_name(IHTMLEmbedElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static FORCEINLINE HRESULT IHTMLEmbedElement_put_width(IHTMLEmbedElement* This,VARIANT v) {
    return This->lpVtbl->put_width(This,v);
}
static FORCEINLINE HRESULT IHTMLEmbedElement_get_width(IHTMLEmbedElement* This,VARIANT *p) {
    return This->lpVtbl->get_width(This,p);
}
static FORCEINLINE HRESULT IHTMLEmbedElement_put_height(IHTMLEmbedElement* This,VARIANT v) {
    return This->lpVtbl->put_height(This,v);
}
static FORCEINLINE HRESULT IHTMLEmbedElement_get_height(IHTMLEmbedElement* This,VARIANT *p) {
    return This->lpVtbl->get_height(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLEmbedElement_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 FORCEINLINE HRESULT DispHTMLEmbed_QueryInterface(DispHTMLEmbed* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLEmbed_AddRef(DispHTMLEmbed* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLEmbed_Release(DispHTMLEmbed* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLEmbed_GetTypeInfoCount(DispHTMLEmbed* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLEmbed_GetTypeInfo(DispHTMLEmbed* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLCommentElement_QueryInterface(IHTMLCommentElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLCommentElement_AddRef(IHTMLCommentElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLCommentElement_Release(IHTMLCommentElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLCommentElement_GetTypeInfoCount(IHTMLCommentElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLCommentElement_GetTypeInfo(IHTMLCommentElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLCommentElement_put_text(IHTMLCommentElement* This,BSTR v) {
    return This->lpVtbl->put_text(This,v);
}
static FORCEINLINE HRESULT IHTMLCommentElement_get_text(IHTMLCommentElement* This,BSTR *p) {
    return This->lpVtbl->get_text(This,p);
}
static FORCEINLINE HRESULT IHTMLCommentElement_put_atomic(IHTMLCommentElement* This,LONG v) {
    return This->lpVtbl->put_atomic(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLCommentElement2_QueryInterface(IHTMLCommentElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLCommentElement2_AddRef(IHTMLCommentElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLCommentElement2_Release(IHTMLCommentElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLCommentElement2_GetTypeInfoCount(IHTMLCommentElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLCommentElement2_GetTypeInfo(IHTMLCommentElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLCommentElement2_put_data(IHTMLCommentElement2* This,BSTR v) {
    return This->lpVtbl->put_data(This,v);
}
static FORCEINLINE HRESULT IHTMLCommentElement2_get_data(IHTMLCommentElement2* This,BSTR *p) {
    return This->lpVtbl->get_data(This,p);
}
static FORCEINLINE HRESULT IHTMLCommentElement2_get_length(IHTMLCommentElement2* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static FORCEINLINE HRESULT IHTMLCommentElement2_substringData(IHTMLCommentElement2* This,LONG offset,LONG Count,BSTR *pbstrsubString) {
    return This->lpVtbl->substringData(This,offset,Count,pbstrsubString);
}
static FORCEINLINE HRESULT IHTMLCommentElement2_appendData(IHTMLCommentElement2* This,BSTR bstrstring) {
    return This->lpVtbl->appendData(This,bstrstring);
}
static FORCEINLINE HRESULT IHTMLCommentElement2_insertData(IHTMLCommentElement2* This,LONG offset,BSTR bstrstring) {
    return This->lpVtbl->insertData(This,offset,bstrstring);
}
static FORCEINLINE HRESULT IHTMLCommentElement2_deleteData(IHTMLCommentElement2* This,LONG offset,LONG Count) {
    return This->lpVtbl->deleteData(This,offset,Count);
}
static FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT DispHTMLCommentElement_QueryInterface(DispHTMLCommentElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLCommentElement_AddRef(DispHTMLCommentElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLCommentElement_Release(DispHTMLCommentElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLCommentElement_GetTypeInfoCount(DispHTMLCommentElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLCommentElement_GetTypeInfo(DispHTMLCommentElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT HTMLElementEvents2_QueryInterface(HTMLElementEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG HTMLElementEvents2_AddRef(HTMLElementEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG HTMLElementEvents2_Release(HTMLElementEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT HTMLElementEvents2_GetTypeInfoCount(HTMLElementEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT HTMLElementEvents2_GetTypeInfo(HTMLElementEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT HTMLElementEvents_QueryInterface(HTMLElementEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG HTMLElementEvents_AddRef(HTMLElementEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG HTMLElementEvents_Release(HTMLElementEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT HTMLElementEvents_GetTypeInfoCount(HTMLElementEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT HTMLElementEvents_GetTypeInfo(HTMLElementEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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__ */

/*****************************************************************************
 * 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT HTMLTableEvents_QueryInterface(HTMLTableEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG HTMLTableEvents_AddRef(HTMLTableEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG HTMLTableEvents_Release(HTMLTableEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT HTMLTableEvents_GetTypeInfoCount(HTMLTableEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT HTMLTableEvents_GetTypeInfo(HTMLTableEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT HTMLTableEvents2_QueryInterface(HTMLTableEvents2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG HTMLTableEvents2_AddRef(HTMLTableEvents2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG HTMLTableEvents2_Release(HTMLTableEvents2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT HTMLTableEvents2_GetTypeInfoCount(HTMLTableEvents2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT HTMLTableEvents2_GetTypeInfo(HTMLTableEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLTableCaption_QueryInterface(IHTMLTableCaption* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLTableCaption_AddRef(IHTMLTableCaption* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLTableCaption_Release(IHTMLTableCaption* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLTableCaption_GetTypeInfoCount(IHTMLTableCaption* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLTableCaption_GetTypeInfo(IHTMLTableCaption* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLTableCaption_put_align(IHTMLTableCaption* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static FORCEINLINE HRESULT IHTMLTableCaption_get_align(IHTMLTableCaption* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
static FORCEINLINE HRESULT IHTMLTableCaption_put_vAlign(IHTMLTableCaption* This,BSTR v) {
    return This->lpVtbl->put_vAlign(This,v);
}
static FORCEINLINE HRESULT IHTMLTableCaption_get_vAlign(IHTMLTableCaption* This,BSTR *p) {
    return This->lpVtbl->get_vAlign(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLTableCaption_INTERFACE_DEFINED__ */

#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,
        IDispatch **row) = 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 FORCEINLINE HRESULT IHTMLTable_QueryInterface(IHTMLTable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLTable_AddRef(IHTMLTable* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLTable_Release(IHTMLTable* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLTable_GetTypeInfoCount(IHTMLTable* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLTable_GetTypeInfo(IHTMLTable* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLTable_put_cols(IHTMLTable* This,LONG v) {
    return This->lpVtbl->put_cols(This,v);
}
static FORCEINLINE HRESULT IHTMLTable_get_cols(IHTMLTable* This,LONG *p) {
    return This->lpVtbl->get_cols(This,p);
}
static FORCEINLINE HRESULT IHTMLTable_put_border(IHTMLTable* This,VARIANT v) {
    return This->lpVtbl->put_border(This,v);
}
static FORCEINLINE HRESULT IHTMLTable_get_border(IHTMLTable* This,VARIANT *p) {
    return This->lpVtbl->get_border(This,p);
}
static FORCEINLINE HRESULT IHTMLTable_put_frame(IHTMLTable* This,BSTR v) {
    return This->lpVtbl->put_frame(This,v);
}
static FORCEINLINE HRESULT IHTMLTable_get_frame(IHTMLTable* This,BSTR *p) {
    return This->lpVtbl->get_frame(This,p);
}
static FORCEINLINE HRESULT IHTMLTable_put_rules(IHTMLTable* This,BSTR v) {
    return This->lpVtbl->put_rules(This,v);
}
static FORCEINLINE HRESULT IHTMLTable_get_rules(IHTMLTable* This,BSTR *p) {
    return This->lpVtbl->get_rules(This,p);
}
static FORCEINLINE HRESULT IHTMLTable_put_cellSpacing(IHTMLTable* This,VARIANT v) {
    return This->lpVtbl->put_cellSpacing(This,v);
}
static FORCEINLINE HRESULT IHTMLTable_get_cellSpacing(IHTMLTable* This,VARIANT *p) {
    return This->lpVtbl->get_cellSpacing(This,p);
}
static FORCEINLINE HRESULT IHTMLTable_put_cellPadding(IHTMLTable* This,VARIANT v) {
    return This->lpVtbl->put_cellPadding(This,v);
}
static FORCEINLINE HRESULT IHTMLTable_get_cellPadding(IHTMLTable* This,VARIANT *p) {
    return This->lpVtbl->get_cellPadding(This,p);
}
static FORCEINLINE HRESULT IHTMLTable_put_background(IHTMLTable* This,BSTR v) {
    return This->lpVtbl->put_background(This,v);
}
static FORCEINLINE HRESULT IHTMLTable_get_background(IHTMLTable* This,BSTR *p) {
    return This->lpVtbl->get_background(This,p);
}
static FORCEINLINE HRESULT IHTMLTable_put_bgColor(IHTMLTable* This,VARIANT v) {
    return This->lpVtbl->put_bgColor(This,v);
}
static FORCEINLINE HRESULT IHTMLTable_get_bgColor(IHTMLTable* This,VARIANT *p) {
    return This->lpVtbl->get_bgColor(This,p);
}
static FORCEINLINE HRESULT IHTMLTable_put_borderColor(IHTMLTable* This,VARIANT v) {
    return This->lpVtbl->put_borderColor(This,v);
}
static FORCEINLINE HRESULT IHTMLTable_get_borderColor(IHTMLTable* This,VARIANT *p) {
    return This->lpVtbl->get_borderColor(This,p);
}
static FORCEINLINE HRESULT IHTMLTable_put_borderColorLight(IHTMLTable* This,VARIANT v) {
    return This->lpVtbl->put_borderColorLight(This,v);
}
static FORCEINLINE HRESULT IHTMLTable_get_borderColorLight(IHTMLTable* This,VARIANT *p) {
    return This->lpVtbl->get_borderColorLight(This,p);
}
static FORCEINLINE HRESULT IHTMLTable_put_borderColorDark(IHTMLTable* This,VARIANT v) {
    return This->lpVtbl->put_borderColorDark(This,v);
}
static FORCEINLINE HRESULT IHTMLTable_get_borderColorDark(IHTMLTable* This,VARIANT *p) {
    return This->lpVtbl->get_borderColorDark(This,p);
}
static FORCEINLINE HRESULT IHTMLTable_put_align(IHTMLTable* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static FORCEINLINE HRESULT IHTMLTable_get_align(IHTMLTable* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
static FORCEINLINE HRESULT IHTMLTable_refresh(IHTMLTable* This) {
    return This->lpVtbl->refresh(This);
}
static FORCEINLINE HRESULT IHTMLTable_get_rows(IHTMLTable* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_rows(This,p);
}
static FORCEINLINE HRESULT IHTMLTable_put_width(IHTMLTable* This,VARIANT v) {
    return This->lpVtbl->put_width(This,v);
}
static FORCEINLINE HRESULT IHTMLTable_get_width(IHTMLTable* This,VARIANT *p) {
    return This->lpVtbl->get_width(This,p);
}
static FORCEINLINE HRESULT IHTMLTable_put_height(IHTMLTable* This,VARIANT v) {
    return This->lpVtbl->put_height(This,v);
}
static FORCEINLINE HRESULT IHTMLTable_get_height(IHTMLTable* This,VARIANT *p) {
    return This->lpVtbl->get_height(This,p);
}
static FORCEINLINE HRESULT IHTMLTable_put_dataPageSize(IHTMLTable* This,LONG v) {
    return This->lpVtbl->put_dataPageSize(This,v);
}
static FORCEINLINE HRESULT IHTMLTable_get_dataPageSize(IHTMLTable* This,LONG *p) {
    return This->lpVtbl->get_dataPageSize(This,p);
}
static FORCEINLINE HRESULT IHTMLTable_nextPage(IHTMLTable* This) {
    return This->lpVtbl->nextPage(This);
}
static FORCEINLINE HRESULT IHTMLTable_previousPage(IHTMLTable* This) {
    return This->lpVtbl->previousPage(This);
}
static FORCEINLINE HRESULT IHTMLTable_get_tHead(IHTMLTable* This,IHTMLTableSection **p) {
    return This->lpVtbl->get_tHead(This,p);
}
static FORCEINLINE HRESULT IHTMLTable_get_tFoot(IHTMLTable* This,IHTMLTableSection **p) {
    return This->lpVtbl->get_tFoot(This,p);
}
static FORCEINLINE HRESULT IHTMLTable_get_tBodies(IHTMLTable* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_tBodies(This,p);
}
static FORCEINLINE HRESULT IHTMLTable_get_caption(IHTMLTable* This,IHTMLTableCaption **p) {
    return This->lpVtbl->get_caption(This,p);
}
static FORCEINLINE HRESULT IHTMLTable_createTHead(IHTMLTable* This,IDispatch **head) {
    return This->lpVtbl->createTHead(This,head);
}
static FORCEINLINE HRESULT IHTMLTable_deleteTHead(IHTMLTable* This) {
    return This->lpVtbl->deleteTHead(This);
}
static FORCEINLINE HRESULT IHTMLTable_createTFoot(IHTMLTable* This,IDispatch **foot) {
    return This->lpVtbl->createTFoot(This,foot);
}
static FORCEINLINE HRESULT IHTMLTable_deleteTFoot(IHTMLTable* This) {
    return This->lpVtbl->deleteTFoot(This);
}
static FORCEINLINE HRESULT IHTMLTable_createCaption(IHTMLTable* This,IHTMLTableCaption **caption) {
    return This->lpVtbl->createCaption(This,caption);
}
static FORCEINLINE HRESULT IHTMLTable_deleteCaption(IHTMLTable* This) {
    return This->lpVtbl->deleteCaption(This);
}
static FORCEINLINE HRESULT IHTMLTable_insertRow(IHTMLTable* This,LONG index,IDispatch **row) {
    return This->lpVtbl->insertRow(This,index,row);
}
static FORCEINLINE HRESULT IHTMLTable_deleteRow(IHTMLTable* This,LONG index) {
    return This->lpVtbl->deleteRow(This,index);
}
static FORCEINLINE HRESULT IHTMLTable_get_readyState(IHTMLTable* This,BSTR *p) {
    return This->lpVtbl->get_readyState(This,p);
}
static FORCEINLINE HRESULT IHTMLTable_put_onreadystatechange(IHTMLTable* This,VARIANT v) {
    return This->lpVtbl->put_onreadystatechange(This,v);
}
static FORCEINLINE 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,
        LONG indexTo,
        IDispatch **row) = 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 FORCEINLINE HRESULT IHTMLTable2_QueryInterface(IHTMLTable2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLTable2_AddRef(IHTMLTable2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLTable2_Release(IHTMLTable2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLTable2_GetTypeInfoCount(IHTMLTable2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLTable2_GetTypeInfo(IHTMLTable2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLTable2_firstPage(IHTMLTable2* This) {
    return This->lpVtbl->firstPage(This);
}
static FORCEINLINE HRESULT IHTMLTable2_lastPage(IHTMLTable2* This) {
    return This->lpVtbl->lastPage(This);
}
static FORCEINLINE HRESULT IHTMLTable2_get_cells(IHTMLTable2* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_cells(This,p);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLTable3_QueryInterface(IHTMLTable3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLTable3_AddRef(IHTMLTable3* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLTable3_Release(IHTMLTable3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLTable3_GetTypeInfoCount(IHTMLTable3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLTable3_GetTypeInfo(IHTMLTable3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLTable3_put_summary(IHTMLTable3* This,BSTR v) {
    return This->lpVtbl->put_summary(This,v);
}
static FORCEINLINE HRESULT IHTMLTable3_get_summary(IHTMLTable3* This,BSTR *p) {
    return This->lpVtbl->get_summary(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLTable3_INTERFACE_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

/*****************************************************************************
 * 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,
        IDispatch **row) = 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 FORCEINLINE HRESULT IHTMLTableSection_QueryInterface(IHTMLTableSection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLTableSection_AddRef(IHTMLTableSection* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLTableSection_Release(IHTMLTableSection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLTableSection_GetTypeInfoCount(IHTMLTableSection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLTableSection_GetTypeInfo(IHTMLTableSection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLTableSection_put_align(IHTMLTableSection* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static FORCEINLINE HRESULT IHTMLTableSection_get_align(IHTMLTableSection* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
static FORCEINLINE HRESULT IHTMLTableSection_put_vAlign(IHTMLTableSection* This,BSTR v) {
    return This->lpVtbl->put_vAlign(This,v);
}
static FORCEINLINE HRESULT IHTMLTableSection_get_vAlign(IHTMLTableSection* This,BSTR *p) {
    return This->lpVtbl->get_vAlign(This,p);
}
static FORCEINLINE HRESULT IHTMLTableSection_put_bgColor(IHTMLTableSection* This,VARIANT v) {
    return This->lpVtbl->put_bgColor(This,v);
}
static FORCEINLINE HRESULT IHTMLTableSection_get_bgColor(IHTMLTableSection* This,VARIANT *p) {
    return This->lpVtbl->get_bgColor(This,p);
}
static FORCEINLINE HRESULT IHTMLTableSection_get_rows(IHTMLTableSection* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_rows(This,p);
}
static FORCEINLINE HRESULT IHTMLTableSection_insertRow(IHTMLTableSection* This,LONG index,IDispatch **row) {
    return This->lpVtbl->insertRow(This,index,row);
}
static FORCEINLINE HRESULT IHTMLTableSection_deleteRow(IHTMLTableSection* This,LONG index) {
    return This->lpVtbl->deleteRow(This,index);
}
#endif
#endif

#endif


#endif  /* __IHTMLTableSection_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,
        IDispatch **row) = 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 FORCEINLINE HRESULT IHTMLTableRow_QueryInterface(IHTMLTableRow* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLTableRow_AddRef(IHTMLTableRow* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLTableRow_Release(IHTMLTableRow* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLTableRow_GetTypeInfoCount(IHTMLTableRow* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLTableRow_GetTypeInfo(IHTMLTableRow* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLTableRow_put_align(IHTMLTableRow* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static FORCEINLINE HRESULT IHTMLTableRow_get_align(IHTMLTableRow* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
static FORCEINLINE HRESULT IHTMLTableRow_put_vAlign(IHTMLTableRow* This,BSTR v) {
    return This->lpVtbl->put_vAlign(This,v);
}
static FORCEINLINE HRESULT IHTMLTableRow_get_vAlign(IHTMLTableRow* This,BSTR *p) {
    return This->lpVtbl->get_vAlign(This,p);
}
static FORCEINLINE HRESULT IHTMLTableRow_put_bgColor(IHTMLTableRow* This,VARIANT v) {
    return This->lpVtbl->put_bgColor(This,v);
}
static FORCEINLINE HRESULT IHTMLTableRow_get_bgColor(IHTMLTableRow* This,VARIANT *p) {
    return This->lpVtbl->get_bgColor(This,p);
}
static FORCEINLINE HRESULT IHTMLTableRow_put_borderColor(IHTMLTableRow* This,VARIANT v) {
    return This->lpVtbl->put_borderColor(This,v);
}
static FORCEINLINE HRESULT IHTMLTableRow_get_borderColor(IHTMLTableRow* This,VARIANT *p) {
    return This->lpVtbl->get_borderColor(This,p);
}
static FORCEINLINE HRESULT IHTMLTableRow_put_borderColorLight(IHTMLTableRow* This,VARIANT v) {
    return This->lpVtbl->put_borderColorLight(This,v);
}
static FORCEINLINE HRESULT IHTMLTableRow_get_borderColorLight(IHTMLTableRow* This,VARIANT *p) {
    return This->lpVtbl->get_borderColorLight(This,p);
}
static FORCEINLINE HRESULT IHTMLTableRow_put_borderColorDark(IHTMLTableRow* This,VARIANT v) {
    return This->lpVtbl->put_borderColorDark(This,v);
}
static FORCEINLINE HRESULT IHTMLTableRow_get_borderColorDark(IHTMLTableRow* This,VARIANT *p) {
    return This->lpVtbl->get_borderColorDark(This,p);
}
static FORCEINLINE HRESULT IHTMLTableRow_get_rowIndex(IHTMLTableRow* This,LONG *p) {
    return This->lpVtbl->get_rowIndex(This,p);
}
static FORCEINLINE HRESULT IHTMLTableRow_get_sectionRowIndex(IHTMLTableRow* This,LONG *p) {
    return This->lpVtbl->get_sectionRowIndex(This,p);
}
static FORCEINLINE HRESULT IHTMLTableRow_get_cells(IHTMLTableRow* This,IHTMLElementCollection **p) {
    return This->lpVtbl->get_cells(This,p);
}
static FORCEINLINE HRESULT IHTMLTableRow_insertCell(IHTMLTableRow* This,LONG index,IDispatch **row) {
    return This->lpVtbl->insertCell(This,index,row);
}
static FORCEINLINE HRESULT IHTMLTableRow_deleteCell(IHTMLTableRow* This,LONG index) {
    return This->lpVtbl->deleteCell(This,index);
}
#endif
#endif

#endif


#endif  /* __IHTMLTableRow_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 FORCEINLINE HRESULT IHTMLTableCell_QueryInterface(IHTMLTableCell* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLTableCell_AddRef(IHTMLTableCell* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLTableCell_Release(IHTMLTableCell* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLTableCell_GetTypeInfoCount(IHTMLTableCell* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLTableCell_GetTypeInfo(IHTMLTableCell* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLTableCell_put_rowSpan(IHTMLTableCell* This,LONG v) {
    return This->lpVtbl->put_rowSpan(This,v);
}
static FORCEINLINE HRESULT IHTMLTableCell_get_rowSpan(IHTMLTableCell* This,LONG *p) {
    return This->lpVtbl->get_rowSpan(This,p);
}
static FORCEINLINE HRESULT IHTMLTableCell_put_colSpan(IHTMLTableCell* This,LONG v) {
    return This->lpVtbl->put_colSpan(This,v);
}
static FORCEINLINE HRESULT IHTMLTableCell_get_colSpan(IHTMLTableCell* This,LONG *p) {
    return This->lpVtbl->get_colSpan(This,p);
}
static FORCEINLINE HRESULT IHTMLTableCell_put_align(IHTMLTableCell* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static FORCEINLINE HRESULT IHTMLTableCell_get_align(IHTMLTableCell* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
static FORCEINLINE HRESULT IHTMLTableCell_put_vAlign(IHTMLTableCell* This,BSTR v) {
    return This->lpVtbl->put_vAlign(This,v);
}
static FORCEINLINE HRESULT IHTMLTableCell_get_vAlign(IHTMLTableCell* This,BSTR *p) {
    return This->lpVtbl->get_vAlign(This,p);
}
static FORCEINLINE HRESULT IHTMLTableCell_put_bgColor(IHTMLTableCell* This,VARIANT v) {
    return This->lpVtbl->put_bgColor(This,v);
}
static FORCEINLINE HRESULT IHTMLTableCell_get_bgColor(IHTMLTableCell* This,VARIANT *p) {
    return This->lpVtbl->get_bgColor(This,p);
}
static FORCEINLINE HRESULT IHTMLTableCell_put_noWrap(IHTMLTableCell* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_noWrap(This,v);
}
static FORCEINLINE HRESULT IHTMLTableCell_get_noWrap(IHTMLTableCell* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_noWrap(This,p);
}
static FORCEINLINE HRESULT IHTMLTableCell_put_background(IHTMLTableCell* This,BSTR v) {
    return This->lpVtbl->put_background(This,v);
}
static FORCEINLINE HRESULT IHTMLTableCell_get_background(IHTMLTableCell* This,BSTR *p) {
    return This->lpVtbl->get_background(This,p);
}
static FORCEINLINE HRESULT IHTMLTableCell_put_borderColor(IHTMLTableCell* This,VARIANT v) {
    return This->lpVtbl->put_borderColor(This,v);
}
static FORCEINLINE HRESULT IHTMLTableCell_get_borderColor(IHTMLTableCell* This,VARIANT *p) {
    return This->lpVtbl->get_borderColor(This,p);
}
static FORCEINLINE HRESULT IHTMLTableCell_put_borderColorLight(IHTMLTableCell* This,VARIANT v) {
    return This->lpVtbl->put_borderColorLight(This,v);
}
static FORCEINLINE HRESULT IHTMLTableCell_get_borderColorLight(IHTMLTableCell* This,VARIANT *p) {
    return This->lpVtbl->get_borderColorLight(This,p);
}
static FORCEINLINE HRESULT IHTMLTableCell_put_borderColorDark(IHTMLTableCell* This,VARIANT v) {
    return This->lpVtbl->put_borderColorDark(This,v);
}
static FORCEINLINE HRESULT IHTMLTableCell_get_borderColorDark(IHTMLTableCell* This,VARIANT *p) {
    return This->lpVtbl->get_borderColorDark(This,p);
}
static FORCEINLINE HRESULT IHTMLTableCell_put_width(IHTMLTableCell* This,VARIANT v) {
    return This->lpVtbl->put_width(This,v);
}
static FORCEINLINE HRESULT IHTMLTableCell_get_width(IHTMLTableCell* This,VARIANT *p) {
    return This->lpVtbl->get_width(This,p);
}
static FORCEINLINE HRESULT IHTMLTableCell_put_height(IHTMLTableCell* This,VARIANT v) {
    return This->lpVtbl->put_height(This,v);
}
static FORCEINLINE HRESULT IHTMLTableCell_get_height(IHTMLTableCell* This,VARIANT *p) {
    return This->lpVtbl->get_height(This,p);
}
static FORCEINLINE HRESULT IHTMLTableCell_get_cellIndex(IHTMLTableCell* This,LONG *p) {
    return This->lpVtbl->get_cellIndex(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLTableCell_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 FORCEINLINE HRESULT DispHTMLTable_QueryInterface(DispHTMLTable* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLTable_AddRef(DispHTMLTable* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLTable_Release(DispHTMLTable* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLTable_GetTypeInfoCount(DispHTMLTable* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLTable_GetTypeInfo(DispHTMLTable* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT DispHTMLTableRow_QueryInterface(DispHTMLTableRow* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLTableRow_AddRef(DispHTMLTableRow* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLTableRow_Release(DispHTMLTableRow* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLTableRow_GetTypeInfoCount(DispHTMLTableRow* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLTableRow_GetTypeInfo(DispHTMLTableRow* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT DispHTMLTableCell_QueryInterface(DispHTMLTableCell* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLTableCell_AddRef(DispHTMLTableCell* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLTableCell_Release(DispHTMLTableCell* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLTableCell_GetTypeInfoCount(DispHTMLTableCell* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLTableCell_GetTypeInfo(DispHTMLTableCell* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLScriptElement_QueryInterface(IHTMLScriptElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLScriptElement_AddRef(IHTMLScriptElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLScriptElement_Release(IHTMLScriptElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLScriptElement_GetTypeInfoCount(IHTMLScriptElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLScriptElement_GetTypeInfo(IHTMLScriptElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLScriptElement_put_src(IHTMLScriptElement* This,BSTR v) {
    return This->lpVtbl->put_src(This,v);
}
static FORCEINLINE HRESULT IHTMLScriptElement_get_src(IHTMLScriptElement* This,BSTR *p) {
    return This->lpVtbl->get_src(This,p);
}
static FORCEINLINE HRESULT IHTMLScriptElement_put_htmlFor(IHTMLScriptElement* This,BSTR v) {
    return This->lpVtbl->put_htmlFor(This,v);
}
static FORCEINLINE HRESULT IHTMLScriptElement_get_htmlFor(IHTMLScriptElement* This,BSTR *p) {
    return This->lpVtbl->get_htmlFor(This,p);
}
static FORCEINLINE HRESULT IHTMLScriptElement_put_event(IHTMLScriptElement* This,BSTR v) {
    return This->lpVtbl->put_event(This,v);
}
static FORCEINLINE HRESULT IHTMLScriptElement_get_event(IHTMLScriptElement* This,BSTR *p) {
    return This->lpVtbl->get_event(This,p);
}
static FORCEINLINE HRESULT IHTMLScriptElement_put_text(IHTMLScriptElement* This,BSTR v) {
    return This->lpVtbl->put_text(This,v);
}
static FORCEINLINE HRESULT IHTMLScriptElement_get_text(IHTMLScriptElement* This,BSTR *p) {
    return This->lpVtbl->get_text(This,p);
}
static FORCEINLINE HRESULT IHTMLScriptElement_put_defer(IHTMLScriptElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_defer(This,v);
}
static FORCEINLINE HRESULT IHTMLScriptElement_get_defer(IHTMLScriptElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_defer(This,p);
}
static FORCEINLINE HRESULT IHTMLScriptElement_get_readyState(IHTMLScriptElement* This,BSTR *p) {
    return This->lpVtbl->get_readyState(This,p);
}
static FORCEINLINE HRESULT IHTMLScriptElement_put_onerror(IHTMLScriptElement* This,VARIANT v) {
    return This->lpVtbl->put_onerror(This,v);
}
static FORCEINLINE HRESULT IHTMLScriptElement_get_onerror(IHTMLScriptElement* This,VARIANT *p) {
    return This->lpVtbl->get_onerror(This,p);
}
static FORCEINLINE HRESULT IHTMLScriptElement_put_type(IHTMLScriptElement* This,BSTR v) {
    return This->lpVtbl->put_type(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLScriptElement2_QueryInterface(IHTMLScriptElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLScriptElement2_AddRef(IHTMLScriptElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLScriptElement2_Release(IHTMLScriptElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLScriptElement2_GetTypeInfoCount(IHTMLScriptElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLScriptElement2_GetTypeInfo(IHTMLScriptElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLScriptElement2_put_charset(IHTMLScriptElement2* This,BSTR v) {
    return This->lpVtbl->put_charset(This,v);
}
static FORCEINLINE HRESULT IHTMLScriptElement2_get_charset(IHTMLScriptElement2* This,BSTR *p) {
    return This->lpVtbl->get_charset(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLScriptElement2_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 FORCEINLINE HRESULT DispHTMLScriptElement_QueryInterface(DispHTMLScriptElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLScriptElement_AddRef(DispHTMLScriptElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLScriptElement_Release(DispHTMLScriptElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLScriptElement_GetTypeInfoCount(DispHTMLScriptElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLScriptElement_GetTypeInfo(DispHTMLScriptElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLObjectElement_QueryInterface(IHTMLObjectElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLObjectElement_AddRef(IHTMLObjectElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLObjectElement_Release(IHTMLObjectElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLObjectElement_GetTypeInfoCount(IHTMLObjectElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLObjectElement_GetTypeInfo(IHTMLObjectElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLObjectElement_get_object(IHTMLObjectElement* This,IDispatch **p) {
    return This->lpVtbl->get_object(This,p);
}
static FORCEINLINE HRESULT IHTMLObjectElement_get_classid(IHTMLObjectElement* This,BSTR *p) {
    return This->lpVtbl->get_classid(This,p);
}
static FORCEINLINE HRESULT IHTMLObjectElement_get_data(IHTMLObjectElement* This,BSTR *p) {
    return This->lpVtbl->get_data(This,p);
}
static FORCEINLINE HRESULT IHTMLObjectElement_putref_recordset(IHTMLObjectElement* This,IDispatch *v) {
    return This->lpVtbl->putref_recordset(This,v);
}
static FORCEINLINE HRESULT IHTMLObjectElement_get_recordset(IHTMLObjectElement* This,IDispatch **p) {
    return This->lpVtbl->get_recordset(This,p);
}
static FORCEINLINE HRESULT IHTMLObjectElement_put_align(IHTMLObjectElement* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static FORCEINLINE HRESULT IHTMLObjectElement_get_align(IHTMLObjectElement* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
static FORCEINLINE HRESULT IHTMLObjectElement_put_name(IHTMLObjectElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static FORCEINLINE HRESULT IHTMLObjectElement_get_name(IHTMLObjectElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static FORCEINLINE HRESULT IHTMLObjectElement_put_codeBase(IHTMLObjectElement* This,BSTR v) {
    return This->lpVtbl->put_codeBase(This,v);
}
static FORCEINLINE HRESULT IHTMLObjectElement_get_codeBase(IHTMLObjectElement* This,BSTR *p) {
    return This->lpVtbl->get_codeBase(This,p);
}
static FORCEINLINE HRESULT IHTMLObjectElement_put_codeType(IHTMLObjectElement* This,BSTR v) {
    return This->lpVtbl->put_codeType(This,v);
}
static FORCEINLINE HRESULT IHTMLObjectElement_get_codeType(IHTMLObjectElement* This,BSTR *p) {
    return This->lpVtbl->get_codeType(This,p);
}
static FORCEINLINE HRESULT IHTMLObjectElement_put_code(IHTMLObjectElement* This,BSTR v) {
    return This->lpVtbl->put_code(This,v);
}
static FORCEINLINE HRESULT IHTMLObjectElement_get_code(IHTMLObjectElement* This,BSTR *p) {
    return This->lpVtbl->get_code(This,p);
}
static FORCEINLINE HRESULT IHTMLObjectElement_get_BaseHref(IHTMLObjectElement* This,BSTR *p) {
    return This->lpVtbl->get_BaseHref(This,p);
}
static FORCEINLINE HRESULT IHTMLObjectElement_put_type(IHTMLObjectElement* This,BSTR v) {
    return This->lpVtbl->put_type(This,v);
}
static FORCEINLINE HRESULT IHTMLObjectElement_get_type(IHTMLObjectElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static FORCEINLINE HRESULT IHTMLObjectElement_get_form(IHTMLObjectElement* This,IHTMLFormElement **p) {
    return This->lpVtbl->get_form(This,p);
}
static FORCEINLINE HRESULT IHTMLObjectElement_put_width(IHTMLObjectElement* This,VARIANT v) {
    return This->lpVtbl->put_width(This,v);
}
static FORCEINLINE HRESULT IHTMLObjectElement_get_width(IHTMLObjectElement* This,VARIANT *p) {
    return This->lpVtbl->get_width(This,p);
}
static FORCEINLINE HRESULT IHTMLObjectElement_put_height(IHTMLObjectElement* This,VARIANT v) {
    return This->lpVtbl->put_height(This,v);
}
static FORCEINLINE HRESULT IHTMLObjectElement_get_height(IHTMLObjectElement* This,VARIANT *p) {
    return This->lpVtbl->get_height(This,p);
}
static FORCEINLINE HRESULT IHTMLObjectElement_get_readyState(IHTMLObjectElement* This,LONG *p) {
    return This->lpVtbl->get_readyState(This,p);
}
static FORCEINLINE HRESULT IHTMLObjectElement_put_onreadystatechange(IHTMLObjectElement* This,VARIANT v) {
    return This->lpVtbl->put_onreadystatechange(This,v);
}
static FORCEINLINE HRESULT IHTMLObjectElement_get_onreadystatechange(IHTMLObjectElement* This,VARIANT *p) {
    return This->lpVtbl->get_onreadystatechange(This,p);
}
static FORCEINLINE HRESULT IHTMLObjectElement_put_onerror(IHTMLObjectElement* This,VARIANT v) {
    return This->lpVtbl->put_onerror(This,v);
}
static FORCEINLINE HRESULT IHTMLObjectElement_get_onerror(IHTMLObjectElement* This,VARIANT *p) {
    return This->lpVtbl->get_onerror(This,p);
}
static FORCEINLINE HRESULT IHTMLObjectElement_put_altHtml(IHTMLObjectElement* This,BSTR v) {
    return This->lpVtbl->put_altHtml(This,v);
}
static FORCEINLINE HRESULT IHTMLObjectElement_get_altHtml(IHTMLObjectElement* This,BSTR *p) {
    return This->lpVtbl->get_altHtml(This,p);
}
static FORCEINLINE HRESULT IHTMLObjectElement_put_vspace(IHTMLObjectElement* This,LONG v) {
    return This->lpVtbl->put_vspace(This,v);
}
static FORCEINLINE HRESULT IHTMLObjectElement_get_vspace(IHTMLObjectElement* This,LONG *p) {
    return This->lpVtbl->get_vspace(This,p);
}
static FORCEINLINE HRESULT IHTMLObjectElement_put_hspace(IHTMLObjectElement* This,LONG v) {
    return This->lpVtbl->put_hspace(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLObjectElement2_QueryInterface(IHTMLObjectElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLObjectElement2_AddRef(IHTMLObjectElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLObjectElement2_Release(IHTMLObjectElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLObjectElement2_GetTypeInfoCount(IHTMLObjectElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLObjectElement2_GetTypeInfo(IHTMLObjectElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLObjectElement2_namedRecordset(IHTMLObjectElement2* This,BSTR dataMember,VARIANT *hierarchy,IDispatch **ppRecordset) {
    return This->lpVtbl->namedRecordset(This,dataMember,hierarchy,ppRecordset);
}
static FORCEINLINE HRESULT IHTMLObjectElement2_put_classid(IHTMLObjectElement2* This,BSTR v) {
    return This->lpVtbl->put_classid(This,v);
}
static FORCEINLINE HRESULT IHTMLObjectElement2_get_classid(IHTMLObjectElement2* This,BSTR *p) {
    return This->lpVtbl->get_classid(This,p);
}
static FORCEINLINE HRESULT IHTMLObjectElement2_put_data(IHTMLObjectElement2* This,BSTR v) {
    return This->lpVtbl->put_data(This,v);
}
static FORCEINLINE HRESULT IHTMLObjectElement2_get_data(IHTMLObjectElement2* This,BSTR *p) {
    return This->lpVtbl->get_data(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLObjectElement2_INTERFACE_DEFINED__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLDivElement_QueryInterface(IHTMLDivElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLDivElement_AddRef(IHTMLDivElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLDivElement_Release(IHTMLDivElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLDivElement_GetTypeInfoCount(IHTMLDivElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLDivElement_GetTypeInfo(IHTMLDivElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDivElement_put_align(IHTMLDivElement* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static FORCEINLINE HRESULT IHTMLDivElement_get_align(IHTMLDivElement* This,BSTR *p) {
    return This->lpVtbl->get_align(This,p);
}
static FORCEINLINE HRESULT IHTMLDivElement_put_noWrap(IHTMLDivElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_noWrap(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT DispHTMLDivElement_QueryInterface(DispHTMLDivElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLDivElement_AddRef(DispHTMLDivElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLDivElement_Release(DispHTMLDivElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLDivElement_GetTypeInfoCount(DispHTMLDivElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLDivElement_GetTypeInfo(DispHTMLDivElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLParamElement_QueryInterface(IHTMLParamElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLParamElement_AddRef(IHTMLParamElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLParamElement_Release(IHTMLParamElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLParamElement_GetTypeInfoCount(IHTMLParamElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLParamElement_GetTypeInfo(IHTMLParamElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLParamElement_put_name(IHTMLParamElement* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static FORCEINLINE HRESULT IHTMLParamElement_get_name(IHTMLParamElement* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static FORCEINLINE HRESULT IHTMLParamElement_put_value(IHTMLParamElement* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static FORCEINLINE HRESULT IHTMLParamElement_get_value(IHTMLParamElement* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
static FORCEINLINE HRESULT IHTMLParamElement_put_type(IHTMLParamElement* This,BSTR v) {
    return This->lpVtbl->put_type(This,v);
}
static FORCEINLINE HRESULT IHTMLParamElement_get_type(IHTMLParamElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static FORCEINLINE HRESULT IHTMLParamElement_put_valueType(IHTMLParamElement* This,BSTR v) {
    return This->lpVtbl->put_valueType(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLParamElement2_QueryInterface(IHTMLParamElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLParamElement2_AddRef(IHTMLParamElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLParamElement2_Release(IHTMLParamElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLParamElement2_GetTypeInfoCount(IHTMLParamElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLParamElement2_GetTypeInfo(IHTMLParamElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLParamElement2_put_name(IHTMLParamElement2* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static FORCEINLINE HRESULT IHTMLParamElement2_get_name(IHTMLParamElement2* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static FORCEINLINE HRESULT IHTMLParamElement2_put_type(IHTMLParamElement2* This,BSTR v) {
    return This->lpVtbl->put_type(This,v);
}
static FORCEINLINE HRESULT IHTMLParamElement2_get_type(IHTMLParamElement2* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static FORCEINLINE HRESULT IHTMLParamElement2_put_value(IHTMLParamElement2* This,BSTR v) {
    return This->lpVtbl->put_value(This,v);
}
static FORCEINLINE HRESULT IHTMLParamElement2_get_value(IHTMLParamElement2* This,BSTR *p) {
    return This->lpVtbl->get_value(This,p);
}
static FORCEINLINE HRESULT IHTMLParamElement2_put_valueType(IHTMLParamElement2* This,BSTR v) {
    return This->lpVtbl->put_valueType(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT DispHTMLObjectElement_QueryInterface(DispHTMLObjectElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLObjectElement_AddRef(DispHTMLObjectElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLObjectElement_Release(DispHTMLObjectElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLObjectElement_GetTypeInfoCount(DispHTMLObjectElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLObjectElement_GetTypeInfo(DispHTMLObjectElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT DispHTMLParamElement_QueryInterface(DispHTMLParamElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLParamElement_AddRef(DispHTMLParamElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLParamElement_Release(DispHTMLParamElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLParamElement_GetTypeInfoCount(DispHTMLParamElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLParamElement_GetTypeInfo(DispHTMLParamElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLFrameBase_QueryInterface(IHTMLFrameBase* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLFrameBase_AddRef(IHTMLFrameBase* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLFrameBase_Release(IHTMLFrameBase* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLFrameBase_GetTypeInfoCount(IHTMLFrameBase* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLFrameBase_GetTypeInfo(IHTMLFrameBase* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLFrameBase_put_src(IHTMLFrameBase* This,BSTR v) {
    return This->lpVtbl->put_src(This,v);
}
static FORCEINLINE HRESULT IHTMLFrameBase_get_src(IHTMLFrameBase* This,BSTR *p) {
    return This->lpVtbl->get_src(This,p);
}
static FORCEINLINE HRESULT IHTMLFrameBase_put_name(IHTMLFrameBase* This,BSTR v) {
    return This->lpVtbl->put_name(This,v);
}
static FORCEINLINE HRESULT IHTMLFrameBase_get_name(IHTMLFrameBase* This,BSTR *p) {
    return This->lpVtbl->get_name(This,p);
}
static FORCEINLINE HRESULT IHTMLFrameBase_put_border(IHTMLFrameBase* This,VARIANT v) {
    return This->lpVtbl->put_border(This,v);
}
static FORCEINLINE HRESULT IHTMLFrameBase_get_border(IHTMLFrameBase* This,VARIANT *p) {
    return This->lpVtbl->get_border(This,p);
}
static FORCEINLINE HRESULT IHTMLFrameBase_put_frameBorder(IHTMLFrameBase* This,BSTR v) {
    return This->lpVtbl->put_frameBorder(This,v);
}
static FORCEINLINE HRESULT IHTMLFrameBase_get_frameBorder(IHTMLFrameBase* This,BSTR *p) {
    return This->lpVtbl->get_frameBorder(This,p);
}
static FORCEINLINE HRESULT IHTMLFrameBase_put_frameSpacing(IHTMLFrameBase* This,VARIANT v) {
    return This->lpVtbl->put_frameSpacing(This,v);
}
static FORCEINLINE HRESULT IHTMLFrameBase_get_frameSpacing(IHTMLFrameBase* This,VARIANT *p) {
    return This->lpVtbl->get_frameSpacing(This,p);
}
static FORCEINLINE HRESULT IHTMLFrameBase_put_marginWidth(IHTMLFrameBase* This,VARIANT v) {
    return This->lpVtbl->put_marginWidth(This,v);
}
static FORCEINLINE HRESULT IHTMLFrameBase_get_marginWidth(IHTMLFrameBase* This,VARIANT *p) {
    return This->lpVtbl->get_marginWidth(This,p);
}
static FORCEINLINE HRESULT IHTMLFrameBase_put_marginHeight(IHTMLFrameBase* This,VARIANT v) {
    return This->lpVtbl->put_marginHeight(This,v);
}
static FORCEINLINE HRESULT IHTMLFrameBase_get_marginHeight(IHTMLFrameBase* This,VARIANT *p) {
    return This->lpVtbl->get_marginHeight(This,p);
}
static FORCEINLINE HRESULT IHTMLFrameBase_put_noResize(IHTMLFrameBase* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_noResize(This,v);
}
static FORCEINLINE HRESULT IHTMLFrameBase_get_noResize(IHTMLFrameBase* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_noResize(This,p);
}
static FORCEINLINE HRESULT IHTMLFrameBase_put_scrolling(IHTMLFrameBase* This,BSTR v) {
    return This->lpVtbl->put_scrolling(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLFrameBase2_QueryInterface(IHTMLFrameBase2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLFrameBase2_AddRef(IHTMLFrameBase2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLFrameBase2_Release(IHTMLFrameBase2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLFrameBase2_GetTypeInfoCount(IHTMLFrameBase2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLFrameBase2_GetTypeInfo(IHTMLFrameBase2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLFrameBase2_get_contentWindow(IHTMLFrameBase2* This,IHTMLWindow2 **p) {
    return This->lpVtbl->get_contentWindow(This,p);
}
static FORCEINLINE HRESULT IHTMLFrameBase2_put_onload(IHTMLFrameBase2* This,VARIANT v) {
    return This->lpVtbl->put_onload(This,v);
}
static FORCEINLINE HRESULT IHTMLFrameBase2_get_onload(IHTMLFrameBase2* This,VARIANT *p) {
    return This->lpVtbl->get_onload(This,p);
}
static FORCEINLINE HRESULT IHTMLFrameBase2_put_onreadystatechange(IHTMLFrameBase2* This,VARIANT v) {
    return This->lpVtbl->put_onreadystatechange(This,v);
}
static FORCEINLINE HRESULT IHTMLFrameBase2_get_onreadystatechange(IHTMLFrameBase2* This,VARIANT *p) {
    return This->lpVtbl->get_onreadystatechange(This,p);
}
static FORCEINLINE HRESULT IHTMLFrameBase2_get_readyState(IHTMLFrameBase2* This,BSTR *p) {
    return This->lpVtbl->get_readyState(This,p);
}
static FORCEINLINE HRESULT IHTMLFrameBase2_put_allowTransparency(IHTMLFrameBase2* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_allowTransparency(This,v);
}
static FORCEINLINE HRESULT IHTMLFrameBase2_get_allowTransparency(IHTMLFrameBase2* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_allowTransparency(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLFrameBase2_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 FORCEINLINE HRESULT IHTMLFrameElement3_QueryInterface(IHTMLFrameElement3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLFrameElement3_AddRef(IHTMLFrameElement3* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLFrameElement3_Release(IHTMLFrameElement3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLFrameElement3_GetTypeInfoCount(IHTMLFrameElement3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLFrameElement3_GetTypeInfo(IHTMLFrameElement3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLFrameElement3_get_contentDocument(IHTMLFrameElement3* This,IDispatch **p) {
    return This->lpVtbl->get_contentDocument(This,p);
}
static FORCEINLINE HRESULT IHTMLFrameElement3_put_src(IHTMLFrameElement3* This,BSTR v) {
    return This->lpVtbl->put_src(This,v);
}
static FORCEINLINE HRESULT IHTMLFrameElement3_get_src(IHTMLFrameElement3* This,BSTR *p) {
    return This->lpVtbl->get_src(This,p);
}
static FORCEINLINE HRESULT IHTMLFrameElement3_put_longDesc(IHTMLFrameElement3* This,BSTR v) {
    return This->lpVtbl->put_longDesc(This,v);
}
static FORCEINLINE HRESULT IHTMLFrameElement3_get_longDesc(IHTMLFrameElement3* This,BSTR *p) {
    return This->lpVtbl->get_longDesc(This,p);
}
static FORCEINLINE HRESULT IHTMLFrameElement3_put_frameBorder(IHTMLFrameElement3* This,BSTR v) {
    return This->lpVtbl->put_frameBorder(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT DispHTMLFrameElement_QueryInterface(DispHTMLFrameElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLFrameElement_AddRef(DispHTMLFrameElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLFrameElement_Release(DispHTMLFrameElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLFrameElement_GetTypeInfoCount(DispHTMLFrameElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLFrameElement_GetTypeInfo(DispHTMLFrameElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLIFrameElement_QueryInterface(IHTMLIFrameElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLIFrameElement_AddRef(IHTMLIFrameElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLIFrameElement_Release(IHTMLIFrameElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLIFrameElement_GetTypeInfoCount(IHTMLIFrameElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLIFrameElement_GetTypeInfo(IHTMLIFrameElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLIFrameElement_put_vspace(IHTMLIFrameElement* This,LONG v) {
    return This->lpVtbl->put_vspace(This,v);
}
static FORCEINLINE HRESULT IHTMLIFrameElement_get_vspace(IHTMLIFrameElement* This,LONG *p) {
    return This->lpVtbl->get_vspace(This,p);
}
static FORCEINLINE HRESULT IHTMLIFrameElement_put_hspace(IHTMLIFrameElement* This,LONG v) {
    return This->lpVtbl->put_hspace(This,v);
}
static FORCEINLINE HRESULT IHTMLIFrameElement_get_hspace(IHTMLIFrameElement* This,LONG *p) {
    return This->lpVtbl->get_hspace(This,p);
}
static FORCEINLINE HRESULT IHTMLIFrameElement_put_align(IHTMLIFrameElement* This,BSTR v) {
    return This->lpVtbl->put_align(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLIFrameElement2_QueryInterface(IHTMLIFrameElement2* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLIFrameElement2_AddRef(IHTMLIFrameElement2* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLIFrameElement2_Release(IHTMLIFrameElement2* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLIFrameElement2_GetTypeInfoCount(IHTMLIFrameElement2* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLIFrameElement2_GetTypeInfo(IHTMLIFrameElement2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLIFrameElement2_put_height(IHTMLIFrameElement2* This,VARIANT v) {
    return This->lpVtbl->put_height(This,v);
}
static FORCEINLINE HRESULT IHTMLIFrameElement2_get_height(IHTMLIFrameElement2* This,VARIANT *p) {
    return This->lpVtbl->get_height(This,p);
}
static FORCEINLINE HRESULT IHTMLIFrameElement2_put_width(IHTMLIFrameElement2* This,VARIANT v) {
    return This->lpVtbl->put_width(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLIFrameElement3_QueryInterface(IHTMLIFrameElement3* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLIFrameElement3_AddRef(IHTMLIFrameElement3* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLIFrameElement3_Release(IHTMLIFrameElement3* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLIFrameElement3_GetTypeInfoCount(IHTMLIFrameElement3* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLIFrameElement3_GetTypeInfo(IHTMLIFrameElement3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLIFrameElement3_get_contentDocument(IHTMLIFrameElement3* This,IDispatch **p) {
    return This->lpVtbl->get_contentDocument(This,p);
}
static FORCEINLINE HRESULT IHTMLIFrameElement3_put_src(IHTMLIFrameElement3* This,BSTR v) {
    return This->lpVtbl->put_src(This,v);
}
static FORCEINLINE HRESULT IHTMLIFrameElement3_get_src(IHTMLIFrameElement3* This,BSTR *p) {
    return This->lpVtbl->get_src(This,p);
}
static FORCEINLINE HRESULT IHTMLIFrameElement3_put_longDesc(IHTMLIFrameElement3* This,BSTR v) {
    return This->lpVtbl->put_longDesc(This,v);
}
static FORCEINLINE HRESULT IHTMLIFrameElement3_get_longDesc(IHTMLIFrameElement3* This,BSTR *p) {
    return This->lpVtbl->get_longDesc(This,p);
}
static FORCEINLINE HRESULT IHTMLIFrameElement3_put_frameBorder(IHTMLIFrameElement3* This,BSTR v) {
    return This->lpVtbl->put_frameBorder(This,v);
}
static FORCEINLINE 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 FORCEINLINE HRESULT DispHTMLIFrame_QueryInterface(DispHTMLIFrame* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLIFrame_AddRef(DispHTMLIFrame* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLIFrame_Release(DispHTMLIFrame* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLIFrame_GetTypeInfoCount(DispHTMLIFrame* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLIFrame_GetTypeInfo(DispHTMLIFrame* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLStyleElement_QueryInterface(IHTMLStyleElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLStyleElement_AddRef(IHTMLStyleElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLStyleElement_Release(IHTMLStyleElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLStyleElement_GetTypeInfoCount(IHTMLStyleElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLStyleElement_GetTypeInfo(IHTMLStyleElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLStyleElement_put_type(IHTMLStyleElement* This,BSTR v) {
    return This->lpVtbl->put_type(This,v);
}
static FORCEINLINE HRESULT IHTMLStyleElement_get_type(IHTMLStyleElement* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static FORCEINLINE HRESULT IHTMLStyleElement_get_readyState(IHTMLStyleElement* This,BSTR *p) {
    return This->lpVtbl->get_readyState(This,p);
}
static FORCEINLINE HRESULT IHTMLStyleElement_put_onreadystatechange(IHTMLStyleElement* This,VARIANT v) {
    return This->lpVtbl->put_onreadystatechange(This,v);
}
static FORCEINLINE HRESULT IHTMLStyleElement_get_onreadystatechange(IHTMLStyleElement* This,VARIANT *p) {
    return This->lpVtbl->get_onreadystatechange(This,p);
}
static FORCEINLINE HRESULT IHTMLStyleElement_put_onload(IHTMLStyleElement* This,VARIANT v) {
    return This->lpVtbl->put_onload(This,v);
}
static FORCEINLINE HRESULT IHTMLStyleElement_get_onload(IHTMLStyleElement* This,VARIANT *p) {
    return This->lpVtbl->get_onload(This,p);
}
static FORCEINLINE HRESULT IHTMLStyleElement_put_onerror(IHTMLStyleElement* This,VARIANT v) {
    return This->lpVtbl->put_onerror(This,v);
}
static FORCEINLINE HRESULT IHTMLStyleElement_get_onerror(IHTMLStyleElement* This,VARIANT *p) {
    return This->lpVtbl->get_onerror(This,p);
}
static FORCEINLINE HRESULT IHTMLStyleElement_get_styleSheet(IHTMLStyleElement* This,IHTMLStyleSheet **p) {
    return This->lpVtbl->get_styleSheet(This,p);
}
static FORCEINLINE HRESULT IHTMLStyleElement_put_disabled(IHTMLStyleElement* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_disabled(This,v);
}
static FORCEINLINE HRESULT IHTMLStyleElement_get_disabled(IHTMLStyleElement* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_disabled(This,p);
}
static FORCEINLINE HRESULT IHTMLStyleElement_put_media(IHTMLStyleElement* This,BSTR v) {
    return This->lpVtbl->put_media(This,v);
}
static FORCEINLINE HRESULT IHTMLStyleElement_get_media(IHTMLStyleElement* This,BSTR *p) {
    return This->lpVtbl->get_media(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLStyleElement_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 FORCEINLINE HRESULT DispHTMLStyleElement_QueryInterface(DispHTMLStyleElement* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG DispHTMLStyleElement_AddRef(DispHTMLStyleElement* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG DispHTMLStyleElement_Release(DispHTMLStyleElement* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT DispHTMLStyleElement_GetTypeInfoCount(DispHTMLStyleElement* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT DispHTMLStyleElement_GetTypeInfo(DispHTMLStyleElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLStorage_QueryInterface(IHTMLStorage* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLStorage_AddRef(IHTMLStorage* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLStorage_Release(IHTMLStorage* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLStorage_GetTypeInfoCount(IHTMLStorage* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLStorage_GetTypeInfo(IHTMLStorage* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLStorage_get_length(IHTMLStorage* This,LONG *p) {
    return This->lpVtbl->get_length(This,p);
}
static FORCEINLINE HRESULT IHTMLStorage_get_remainingSpace(IHTMLStorage* This,LONG *p) {
    return This->lpVtbl->get_remainingSpace(This,p);
}
static FORCEINLINE HRESULT IHTMLStorage_key(IHTMLStorage* This,LONG lIndex,BSTR *a) {
    return This->lpVtbl->key(This,lIndex,a);
}
static FORCEINLINE HRESULT IHTMLStorage_getItem(IHTMLStorage* This,BSTR bstrKey,VARIANT *a) {
    return This->lpVtbl->getItem(This,bstrKey,a);
}
static FORCEINLINE HRESULT IHTMLStorage_setItem(IHTMLStorage* This,BSTR bstrKey,BSTR bstrValue) {
    return This->lpVtbl->setItem(This,bstrKey,bstrValue);
}
static FORCEINLINE HRESULT IHTMLStorage_removeItem(IHTMLStorage* This,BSTR bstrKey) {
    return This->lpVtbl->removeItem(This,bstrKey);
}
static FORCEINLINE HRESULT IHTMLStorage_clear(IHTMLStorage* This) {
    return This->lpVtbl->clear(This);
}
#endif
#endif

#endif


#endif  /* __IHTMLStorage_INTERFACE_DEFINED__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IEventTarget_QueryInterface(IEventTarget* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IEventTarget_AddRef(IEventTarget* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IEventTarget_Release(IEventTarget* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IEventTarget_GetTypeInfoCount(IEventTarget* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IEventTarget_GetTypeInfo(IEventTarget* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IEventTarget_addEventListener(IEventTarget* This,BSTR type,IDispatch *listener,VARIANT_BOOL useCapture) {
    return This->lpVtbl->addEventListener(This,type,listener,useCapture);
}
static FORCEINLINE HRESULT IEventTarget_removeEventListener(IEventTarget* This,BSTR type,IDispatch *listener,VARIANT_BOOL useCapture) {
    return This->lpVtbl->removeEventListener(This,type,listener,useCapture);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IDOMEvent_QueryInterface(IDOMEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDOMEvent_AddRef(IDOMEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDOMEvent_Release(IDOMEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IDOMEvent_GetTypeInfoCount(IDOMEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IDOMEvent_GetTypeInfo(IDOMEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IDOMEvent_get_bubbles(IDOMEvent* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_bubbles(This,p);
}
static FORCEINLINE HRESULT IDOMEvent_get_cancelable(IDOMEvent* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_cancelable(This,p);
}
static FORCEINLINE HRESULT IDOMEvent_get_currentTarget(IDOMEvent* This,IEventTarget **p) {
    return This->lpVtbl->get_currentTarget(This,p);
}
static FORCEINLINE HRESULT IDOMEvent_get_defaultPrevented(IDOMEvent* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_defaultPrevented(This,p);
}
static FORCEINLINE HRESULT IDOMEvent_get_eventPhase(IDOMEvent* This,USHORT *p) {
    return This->lpVtbl->get_eventPhase(This,p);
}
static FORCEINLINE HRESULT IDOMEvent_get_target(IDOMEvent* This,IEventTarget **p) {
    return This->lpVtbl->get_target(This,p);
}
static FORCEINLINE HRESULT IDOMEvent_get_timeStamp(IDOMEvent* This,ULONGLONG *p) {
    return This->lpVtbl->get_timeStamp(This,p);
}
static FORCEINLINE HRESULT IDOMEvent_get_type(IDOMEvent* This,BSTR *p) {
    return This->lpVtbl->get_type(This,p);
}
static FORCEINLINE HRESULT IDOMEvent_initEvent(IDOMEvent* This,BSTR eventType,VARIANT_BOOL canBubble,VARIANT_BOOL cancelable) {
    return This->lpVtbl->initEvent(This,eventType,canBubble,cancelable);
}
static FORCEINLINE HRESULT IDOMEvent_preventDefault(IDOMEvent* This) {
    return This->lpVtbl->preventDefault(This);
}
static FORCEINLINE HRESULT IDOMEvent_stopPropagation(IDOMEvent* This) {
    return This->lpVtbl->stopPropagation(This);
}
static FORCEINLINE HRESULT IDOMEvent_stopImmediatePropagation(IDOMEvent* This) {
    return This->lpVtbl->stopImmediatePropagation(This);
}
static FORCEINLINE HRESULT IDOMEvent_get_isTrusted(IDOMEvent* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_isTrusted(This,p);
}
static FORCEINLINE HRESULT IDOMEvent_put_cancelBubble(IDOMEvent* This,VARIANT_BOOL v) {
    return This->lpVtbl->put_cancelBubble(This,v);
}
static FORCEINLINE HRESULT IDOMEvent_get_cancelBubble(IDOMEvent* This,VARIANT_BOOL *p) {
    return This->lpVtbl->get_cancelBubble(This,p);
}
static FORCEINLINE HRESULT IDOMEvent_get_srcElement(IDOMEvent* This,IHTMLElement **p) {
    return This->lpVtbl->get_srcElement(This,p);
}
#endif
#endif

#endif


#endif  /* __IDOMEvent_INTERFACE_DEFINED__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IDOMMessageEvent_QueryInterface(IDOMMessageEvent* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDOMMessageEvent_AddRef(IDOMMessageEvent* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDOMMessageEvent_Release(IDOMMessageEvent* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IDOMMessageEvent_GetTypeInfoCount(IDOMMessageEvent* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IDOMMessageEvent_GetTypeInfo(IDOMMessageEvent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IDOMMessageEvent_get_data(IDOMMessageEvent* This,BSTR *p) {
    return This->lpVtbl->get_data(This,p);
}
static FORCEINLINE HRESULT IDOMMessageEvent_get_origin(IDOMMessageEvent* This,BSTR *p) {
    return This->lpVtbl->get_origin(This,p);
}
static FORCEINLINE HRESULT IDOMMessageEvent_get_source(IDOMMessageEvent* This,IHTMLWindow2 **p) {
    return This->lpVtbl->get_source(This,p);
}
static FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IMarkupContainer_QueryInterface(IMarkupContainer* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IMarkupContainer_AddRef(IMarkupContainer* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IMarkupContainer_Release(IMarkupContainer* This) {
    return This->lpVtbl->Release(This);
}
/*** IMarkupContainer methods ***/
static FORCEINLINE HRESULT IMarkupContainer_OwningDoc(IMarkupContainer* This,IHTMLDocument2 **ppDoc) {
    return This->lpVtbl->OwningDoc(This,ppDoc);
}
#endif
#endif

#endif


#endif  /* __IMarkupContainer_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(
        BOOL *pfCling) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetCling(
        BOOL fCLing) = 0;

    virtual HRESULT STDMETHODCALLTYPE UnPosition(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsPositioned(
        BOOL *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,
        BOOL fAtStart) = 0;

    virtual HRESULT STDMETHODCALLTYPE Left(
        BOOL fMove,
        MARKUP_CONTEXT_TYPE *pContext,
        IHTMLElement **ppElement,
        LONG *pcch,
        OLECHAR *pchText) = 0;

    virtual HRESULT STDMETHODCALLTYPE Right(
        BOOL 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,
        BOOL *pfResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsLeftOfOrEqualTo(
        IMarkupPointer *pPointerThat,
        BOOL *pfResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsRightOf(
        IMarkupPointer *pPointerThat,
        BOOL *pfResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsRightOfOrEqualTo(
        IMarkupPointer *pPointerThat,
        BOOL *pfResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsEqualTo(
        IMarkupPointer *pPointerThat,
        BOOL *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,
        BOOL *pfCling);

    HRESULT (STDMETHODCALLTYPE *SetCling)(
        IMarkupPointer *This,
        BOOL fCLing);

    HRESULT (STDMETHODCALLTYPE *UnPosition)(
        IMarkupPointer *This);

    HRESULT (STDMETHODCALLTYPE *IsPositioned)(
        IMarkupPointer *This,
        BOOL *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,
        BOOL fAtStart);

    HRESULT (STDMETHODCALLTYPE *Left)(
        IMarkupPointer *This,
        BOOL fMove,
        MARKUP_CONTEXT_TYPE *pContext,
        IHTMLElement **ppElement,
        LONG *pcch,
        OLECHAR *pchText);

    HRESULT (STDMETHODCALLTYPE *Right)(
        IMarkupPointer *This,
        BOOL 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,
        BOOL *pfResult);

    HRESULT (STDMETHODCALLTYPE *IsLeftOfOrEqualTo)(
        IMarkupPointer *This,
        IMarkupPointer *pPointerThat,
        BOOL *pfResult);

    HRESULT (STDMETHODCALLTYPE *IsRightOf)(
        IMarkupPointer *This,
        IMarkupPointer *pPointerThat,
        BOOL *pfResult);

    HRESULT (STDMETHODCALLTYPE *IsRightOfOrEqualTo)(
        IMarkupPointer *This,
        IMarkupPointer *pPointerThat,
        BOOL *pfResult);

    HRESULT (STDMETHODCALLTYPE *IsEqualTo)(
        IMarkupPointer *This,
        IMarkupPointer *pPointerThat,
        BOOL *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 FORCEINLINE HRESULT IMarkupPointer_QueryInterface(IMarkupPointer* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IMarkupPointer_AddRef(IMarkupPointer* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IMarkupPointer_Release(IMarkupPointer* This) {
    return This->lpVtbl->Release(This);
}
/*** IMarkupPointer methods ***/
static FORCEINLINE HRESULT IMarkupPointer_OwningDoc(IMarkupPointer* This,IHTMLDocument2 **ppDoc) {
    return This->lpVtbl->OwningDoc(This,ppDoc);
}
static FORCEINLINE HRESULT IMarkupPointer_Gravity(IMarkupPointer* This,POINTER_GRAVITY *pGravity) {
    return This->lpVtbl->Gravity(This,pGravity);
}
static FORCEINLINE HRESULT IMarkupPointer_SetGravity(IMarkupPointer* This,POINTER_GRAVITY Gravity) {
    return This->lpVtbl->SetGravity(This,Gravity);
}
static FORCEINLINE HRESULT IMarkupPointer_Cling(IMarkupPointer* This,BOOL *pfCling) {
    return This->lpVtbl->Cling(This,pfCling);
}
static FORCEINLINE HRESULT IMarkupPointer_SetCling(IMarkupPointer* This,BOOL fCLing) {
    return This->lpVtbl->SetCling(This,fCLing);
}
static FORCEINLINE HRESULT IMarkupPointer_UnPosition(IMarkupPointer* This) {
    return This->lpVtbl->UnPosition(This);
}
static FORCEINLINE HRESULT IMarkupPointer_IsPositioned(IMarkupPointer* This,BOOL *pfPositioned) {
    return This->lpVtbl->IsPositioned(This,pfPositioned);
}
static FORCEINLINE HRESULT IMarkupPointer_GetContainer(IMarkupPointer* This,IMarkupContainer **ppContainer) {
    return This->lpVtbl->GetContainer(This,ppContainer);
}
static FORCEINLINE HRESULT IMarkupPointer_MoveAdjacentToElement(IMarkupPointer* This,IHTMLElement *pElement,ELEMENT_ADJACENCY eAdj) {
    return This->lpVtbl->MoveAdjacentToElement(This,pElement,eAdj);
}
static FORCEINLINE HRESULT IMarkupPointer_MoveToPointer(IMarkupPointer* This,IMarkupPointer *pPointer) {
    return This->lpVtbl->MoveToPointer(This,pPointer);
}
static FORCEINLINE HRESULT IMarkupPointer_MoveToContainer(IMarkupPointer* This,IMarkupContainer *pContainer,BOOL fAtStart) {
    return This->lpVtbl->MoveToContainer(This,pContainer,fAtStart);
}
static FORCEINLINE HRESULT IMarkupPointer_Left(IMarkupPointer* This,BOOL fMove,MARKUP_CONTEXT_TYPE *pContext,IHTMLElement **ppElement,LONG *pcch,OLECHAR *pchText) {
    return This->lpVtbl->Left(This,fMove,pContext,ppElement,pcch,pchText);
}
static FORCEINLINE HRESULT IMarkupPointer_Right(IMarkupPointer* This,BOOL fMove,MARKUP_CONTEXT_TYPE *pContext,IHTMLElement **ppElement,LONG *pcch,OLECHAR *pchText) {
    return This->lpVtbl->Right(This,fMove,pContext,ppElement,pcch,pchText);
}
static FORCEINLINE HRESULT IMarkupPointer_CurrentScope(IMarkupPointer* This,IHTMLElement **ppElemCurrent) {
    return This->lpVtbl->CurrentScope(This,ppElemCurrent);
}
static FORCEINLINE HRESULT IMarkupPointer_IsLeftOf(IMarkupPointer* This,IMarkupPointer *pPointerThat,BOOL *pfResult) {
    return This->lpVtbl->IsLeftOf(This,pPointerThat,pfResult);
}
static FORCEINLINE HRESULT IMarkupPointer_IsLeftOfOrEqualTo(IMarkupPointer* This,IMarkupPointer *pPointerThat,BOOL *pfResult) {
    return This->lpVtbl->IsLeftOfOrEqualTo(This,pPointerThat,pfResult);
}
static FORCEINLINE HRESULT IMarkupPointer_IsRightOf(IMarkupPointer* This,IMarkupPointer *pPointerThat,BOOL *pfResult) {
    return This->lpVtbl->IsRightOf(This,pPointerThat,pfResult);
}
static FORCEINLINE HRESULT IMarkupPointer_IsRightOfOrEqualTo(IMarkupPointer* This,IMarkupPointer *pPointerThat,BOOL *pfResult) {
    return This->lpVtbl->IsRightOfOrEqualTo(This,pPointerThat,pfResult);
}
static FORCEINLINE HRESULT IMarkupPointer_IsEqualTo(IMarkupPointer* This,IMarkupPointer *pPointerThat,BOOL *pfAreEqual) {
    return This->lpVtbl->IsEqualTo(This,pPointerThat,pfAreEqual);
}
static FORCEINLINE HRESULT IMarkupPointer_MoveUnit(IMarkupPointer* This,MOVEUNIT_ACTION muAction) {
    return This->lpVtbl->MoveUnit(This,muAction);
}
static FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IHTMLDOMConstructorCollection_QueryInterface(IHTMLDOMConstructorCollection* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLDOMConstructorCollection_AddRef(IHTMLDOMConstructorCollection* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLDOMConstructorCollection_Release(IHTMLDOMConstructorCollection* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_GetTypeInfoCount(IHTMLDOMConstructorCollection* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_GetTypeInfo(IHTMLDOMConstructorCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE 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 FORCEINLINE 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 FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_Attr(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_Attr(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_BehaviorUrnsCollection(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_BehaviorUrnsCollection(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_BookmarkCollection(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_BookmarkCollection(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_CompatibleInfo(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_CompatibleInfo(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_CompatibleInfoCollection(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_CompatibleInfoCollection(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_ControlRangeCollection(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_ControlRangeCollection(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_CSSCurrentStyleDeclaration(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_CSSCurrentStyleDeclaration(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_CSSRuleList(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_CSSRuleList(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_CSSRuleStyleDeclaration(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_CSSRuleStyleDeclaration(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_CSSStyleDeclaration(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_CSSStyleDeclaration(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_CSSStyleRule(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_CSSStyleRule(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_CSSStyleSheet(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_CSSStyleSheet(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_DataTransfer(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_DataTransfer(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_DOMImplementation(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_DOMImplementation(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_Element(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_Element(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_Event(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_Event(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_History(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_History(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTCElementBehaviorDefaults(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTCElementBehaviorDefaults(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLAnchorElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLAnchorElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLAreaElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLAreaElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLAreasCollection(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLAreasCollection(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLBaseElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLBaseElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLBaseFontElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLBaseFontElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLBGSoundElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLBGSoundElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLBlockElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLBlockElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLBodyElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLBodyElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLBRElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLBRElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLButtonElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLButtonElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLCollection(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLCollection(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLCommentElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLCommentElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLDDElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLDDElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLDivElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLDivElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLDocument(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLDocument(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLDListElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLDListElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLDTElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLDTElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLEmbedElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLEmbedElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLFieldSetElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLFieldSetElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLFontElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLFontElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLFormElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLFormElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLFrameElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLFrameElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLFrameSetElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLFrameSetElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLGenericElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLGenericElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLHeadElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLHeadElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLHeadingElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLHeadingElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLHRElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLHRElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLHtmlElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLHtmlElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLIFrameElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLIFrameElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLImageElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLImageElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLInputElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLInputElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLIsIndexElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLIsIndexElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLLabelElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLLabelElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLLegendElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLLegendElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLLIElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLLIElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLLinkElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLLinkElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLMapElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLMapElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLMarqueeElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLMarqueeElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLMetaElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLMetaElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLModelessDialog(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLModelessDialog(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLNamespaceInfo(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLNamespaceInfo(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLNamespaceInfoCollection(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLNamespaceInfoCollection(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLNextIdElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLNextIdElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLNoShowElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLNoShowElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLObjectElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLObjectElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLOListElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLOListElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLOptionElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLOptionElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLParagraphElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLParagraphElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLParamElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLParamElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLPhraseElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLPhraseElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLPluginsCollection(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLPluginsCollection(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLPopup(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLPopup(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLScriptElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLScriptElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLSelectElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLSelectElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLSpanElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLSpanElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLStyleElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLStyleElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLTableCaptionElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLTableCaptionElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLTableCellElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLTableCellElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLTableColElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLTableColElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLTableElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLTableElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLTableRowElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLTableRowElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLTableSectionElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLTableSectionElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLTextAreaElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLTextAreaElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLTextElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLTextElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLTitleElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLTitleElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLUListElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLUListElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_HTMLUnknownElement(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_HTMLUnknownElement(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_Image(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_Image(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_Location(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_Location(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_NamedNodeMap(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_NamedNodeMap(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_Navigator(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_Navigator(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_NodeList(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_NodeList(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_Option(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_Option(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_Screen(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_Screen(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_Selection(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_Selection(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_StaticNodeList(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_StaticNodeList(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_Storage(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_Storage(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_StyleSheetList(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_StyleSheetList(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_StyleSheetPage(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_StyleSheetPage(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_StyleSheetPageList(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_StyleSheetPageList(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_Text(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_Text(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_TextRange(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_TextRange(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_TextRangeCollection(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_TextRangeCollection(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_TextRectangle(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_TextRectangle(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_TextRectangleList(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_TextRectangleList(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_Window(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_Window(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_XDomainRequest(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_XDomainRequest(This,p);
}
static FORCEINLINE HRESULT IHTMLDOMConstructorCollection_get_XMLHttpRequest(IHTMLDOMConstructorCollection* This,IDispatch **p) {
    return This->lpVtbl->get_XMLHttpRequest(This,p);
}
#endif
#endif

#endif


#endif  /* __IHTMLDOMConstructorCollection_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 FORCEINLINE HRESULT IXMLGenericParse_QueryInterface(IXMLGenericParse* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IXMLGenericParse_AddRef(IXMLGenericParse* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IXMLGenericParse_Release(IXMLGenericParse* This) {
    return This->lpVtbl->Release(This);
}
/*** IXMLGenericParse methods ***/
static FORCEINLINE HRESULT IXMLGenericParse_SetGenericParse(IXMLGenericParse* This,VARIANT_BOOL fDoGeneric) {
    return This->lpVtbl->SetGenericParse(This,fDoGeneric);
}
#endif
#endif

#endif


#endif  /* __IXMLGenericParse_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 FORCEINLINE HRESULT ISegment_QueryInterface(ISegment* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISegment_AddRef(ISegment* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISegment_Release(ISegment* This) {
    return This->lpVtbl->Release(This);
}
/*** ISegment methods ***/
static FORCEINLINE HRESULT ISegment_GetPointers(ISegment* This,IMarkupPointer *pIStart,IMarkupPointer *pIEnd) {
    return This->lpVtbl->GetPointers(This,pIStart,pIEnd);
}
#endif
#endif

#endif


#endif  /* __ISegment_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(
        BOOL fPrimary) = 0;

    virtual HRESULT STDMETHODCALLTYPE IsPrimary(
        BOOL *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,
        BOOL fPrimary);

    HRESULT (STDMETHODCALLTYPE *IsPrimary)(
        IElementSegment *This,
        BOOL *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 FORCEINLINE HRESULT IElementSegment_QueryInterface(IElementSegment* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IElementSegment_AddRef(IElementSegment* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IElementSegment_Release(IElementSegment* This) {
    return This->lpVtbl->Release(This);
}
/*** ISegment methods ***/
static FORCEINLINE HRESULT IElementSegment_GetPointers(IElementSegment* This,IMarkupPointer *pIStart,IMarkupPointer *pIEnd) {
    return This->lpVtbl->GetPointers(This,pIStart,pIEnd);
}
/*** IElementSegment methods ***/
static FORCEINLINE HRESULT IElementSegment_GetElement(IElementSegment* This,IHTMLElement **ppIElement) {
    return This->lpVtbl->GetElement(This,ppIElement);
}
static FORCEINLINE HRESULT IElementSegment_SetPrimary(IElementSegment* This,BOOL fPrimary) {
    return This->lpVtbl->SetPrimary(This,fPrimary);
}
static FORCEINLINE HRESULT IElementSegment_IsPrimary(IElementSegment* This,BOOL *pfPrimary) {
    return This->lpVtbl->IsPrimary(This,pfPrimary);
}
#endif
#endif

#endif


#endif  /* __IElementSegment_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 FORCEINLINE HRESULT ISelectionServicesListener_QueryInterface(ISelectionServicesListener* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISelectionServicesListener_AddRef(ISelectionServicesListener* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISelectionServicesListener_Release(ISelectionServicesListener* This) {
    return This->lpVtbl->Release(This);
}
/*** ISelectionServicesListener methods ***/
static FORCEINLINE HRESULT ISelectionServicesListener_BeginSelectionUndo(ISelectionServicesListener* This) {
    return This->lpVtbl->BeginSelectionUndo(This);
}
static FORCEINLINE HRESULT ISelectionServicesListener_EndSelectionUndo(ISelectionServicesListener* This) {
    return This->lpVtbl->EndSelectionUndo(This);
}
static FORCEINLINE HRESULT ISelectionServicesListener_OnSelectedElementExit(ISelectionServicesListener* This,IMarkupPointer *pIElementStart,IMarkupPointer *pIElementEnd,IMarkupPointer *pIElementContentStart,IMarkupPointer *pIElementContentEnd) {
    return This->lpVtbl->OnSelectedElementExit(This,pIElementStart,pIElementEnd,pIElementContentStart,pIElementContentEnd);
}
static FORCEINLINE HRESULT ISelectionServicesListener_OnChangeType(ISelectionServicesListener* This,SELECTION_TYPE eType,ISelectionServicesListener *pIListener) {
    return This->lpVtbl->OnChangeType(This,eType,pIListener);
}
static FORCEINLINE 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 FORCEINLINE HRESULT ISelectionServices_QueryInterface(ISelectionServices* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISelectionServices_AddRef(ISelectionServices* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISelectionServices_Release(ISelectionServices* This) {
    return This->lpVtbl->Release(This);
}
/*** ISelectionServices methods ***/
static FORCEINLINE HRESULT ISelectionServices_SetSelectionType(ISelectionServices* This,SELECTION_TYPE eType,ISelectionServicesListener *pIListener) {
    return This->lpVtbl->SetSelectionType(This,eType,pIListener);
}
static FORCEINLINE HRESULT ISelectionServices_GetMarkupContainer(ISelectionServices* This,IMarkupContainer **ppIContainer) {
    return This->lpVtbl->GetMarkupContainer(This,ppIContainer);
}
static FORCEINLINE HRESULT ISelectionServices_AddSegment(ISelectionServices* This,IMarkupPointer *pIStart,IMarkupPointer *pIEnd,ISegment **ppISegmentAdded) {
    return This->lpVtbl->AddSegment(This,pIStart,pIEnd,ppISegmentAdded);
}
static FORCEINLINE HRESULT ISelectionServices_AddElementSegment(ISelectionServices* This,IHTMLElement *pIElement,IElementSegment **ppISegmentAdded) {
    return This->lpVtbl->AddElementSegment(This,pIElement,ppISegmentAdded);
}
static FORCEINLINE HRESULT ISelectionServices_RemoveSegment(ISelectionServices* This,ISegment *pISegment) {
    return This->lpVtbl->RemoveSegment(This,pISegment);
}
static FORCEINLINE HRESULT ISelectionServices_GetSelectionServicesListener(ISelectionServices* This,ISelectionServicesListener **ppISelectionServicesListener) {
    return This->lpVtbl->GetSelectionServicesListener(This,ppISelectionServicesListener);
}
#endif
#endif

#endif


#endif  /* __ISelectionServices_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 FORCEINLINE HRESULT IHTMLEditDesigner_QueryInterface(IHTMLEditDesigner* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLEditDesigner_AddRef(IHTMLEditDesigner* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLEditDesigner_Release(IHTMLEditDesigner* This) {
    return This->lpVtbl->Release(This);
}
/*** IHTMLEditDesigner methods ***/
static FORCEINLINE HRESULT IHTMLEditDesigner_PreHandleEvent(IHTMLEditDesigner* This,DISPID inEvtDispId,IHTMLEventObj *pIEventObj) {
    return This->lpVtbl->PreHandleEvent(This,inEvtDispId,pIEventObj);
}
static FORCEINLINE HRESULT IHTMLEditDesigner_PostHandleEvent(IHTMLEditDesigner* This,DISPID inEvtDispId,IHTMLEventObj *pIEventObj) {
    return This->lpVtbl->PostHandleEvent(This,inEvtDispId,pIEventObj);
}
static FORCEINLINE HRESULT IHTMLEditDesigner_TranslateAccelerator(IHTMLEditDesigner* This,DISPID inEvtDispId,IHTMLEventObj *pIEventObj) {
    return This->lpVtbl->TranslateAccelerator(This,inEvtDispId,pIEventObj);
}
static FORCEINLINE 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 FORCEINLINE HRESULT IHTMLEditServices_QueryInterface(IHTMLEditServices* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLEditServices_AddRef(IHTMLEditServices* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLEditServices_Release(IHTMLEditServices* This) {
    return This->lpVtbl->Release(This);
}
/*** IHTMLEditServices methods ***/
static FORCEINLINE HRESULT IHTMLEditServices_AddDesigner(IHTMLEditServices* This,IHTMLEditDesigner *pIDesigner) {
    return This->lpVtbl->AddDesigner(This,pIDesigner);
}
static FORCEINLINE HRESULT IHTMLEditServices_RemoveDesigner(IHTMLEditServices* This,IHTMLEditDesigner *pIDesigner) {
    return This->lpVtbl->RemoveDesigner(This,pIDesigner);
}
static FORCEINLINE HRESULT IHTMLEditServices_GetSelectionServices(IHTMLEditServices* This,IMarkupContainer *pIContainer,ISelectionServices **ppSelSvc) {
    return This->lpVtbl->GetSelectionServices(This,pIContainer,ppSelSvc);
}
static FORCEINLINE HRESULT IHTMLEditServices_MoveToSelectionAnchor(IHTMLEditServices* This,IMarkupPointer *pIStartAnchor) {
    return This->lpVtbl->MoveToSelectionAnchor(This,pIStartAnchor);
}
static FORCEINLINE HRESULT IHTMLEditServices_MoveToSelectionEnd(IHTMLEditServices* This,IMarkupPointer *pIEndAnchor) {
    return This->lpVtbl->MoveToSelectionEnd(This,pIEndAnchor);
}
static FORCEINLINE 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__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IElementBehaviorSite_QueryInterface(IElementBehaviorSite* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IElementBehaviorSite_AddRef(IElementBehaviorSite* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IElementBehaviorSite_Release(IElementBehaviorSite* This) {
    return This->lpVtbl->Release(This);
}
/*** IElementBehaviorSite methods ***/
static FORCEINLINE HRESULT IElementBehaviorSite_GetElement(IElementBehaviorSite* This,IHTMLElement **ppElement) {
    return This->lpVtbl->GetElement(This,ppElement);
}
static FORCEINLINE HRESULT IElementBehaviorSite_RegisterNotification(IElementBehaviorSite* This,LONG lEvent) {
    return This->lpVtbl->RegisterNotification(This,lEvent);
}
#endif
#endif

#endif


#endif  /* __IElementBehaviorSite_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 FORCEINLINE HRESULT IElementBehavior_QueryInterface(IElementBehavior* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IElementBehavior_AddRef(IElementBehavior* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IElementBehavior_Release(IElementBehavior* This) {
    return This->lpVtbl->Release(This);
}
/*** IElementBehavior methods ***/
static FORCEINLINE HRESULT IElementBehavior_Init(IElementBehavior* This,IElementBehaviorSite *pBehaviorSite) {
    return This->lpVtbl->Init(This,pBehaviorSite);
}
static FORCEINLINE HRESULT IElementBehavior_Notify(IElementBehavior* This,LONG lEvent,VARIANT *pVar) {
    return This->lpVtbl->Notify(This,lEvent,pVar);
}
static FORCEINLINE HRESULT IElementBehavior_Detach(IElementBehavior* This) {
    return This->lpVtbl->Detach(This);
}
#endif
#endif

#endif


#endif  /* __IElementBehavior_INTERFACE_DEFINED__ */

/*****************************************************************************
 * 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 FORCEINLINE HRESULT IElementBehaviorFactory_QueryInterface(IElementBehaviorFactory* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IElementBehaviorFactory_AddRef(IElementBehaviorFactory* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IElementBehaviorFactory_Release(IElementBehaviorFactory* This) {
    return This->lpVtbl->Release(This);
}
/*** IElementBehaviorFactory methods ***/
static FORCEINLINE 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__ */

#ifndef __IOleCommandTarget_FWD_DEFINED__
#define __IOleCommandTarget_FWD_DEFINED__
typedef interface IOleCommandTarget IOleCommandTarget;
#ifdef __cplusplus
interface IOleCommandTarget;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * IHTMLPrivateWindow interface
 */
#ifndef __IHTMLPrivateWindow_INTERFACE_DEFINED__
#define __IHTMLPrivateWindow_INTERFACE_DEFINED__

DEFINE_GUID(IID_IHTMLPrivateWindow, 0x3050f6dc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f6dc-98b5-11cf-bb82-00aa00bdce0b")
IHTMLPrivateWindow : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE SuperNavigate(
        BSTR url,
        BSTR arg2,
        BSTR arg3,
        BSTR arg4,
        VARIANT *post_data,
        VARIANT *headers,
        ULONG flags) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetPendingUrl(
        BSTR *url) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetPICSTarget(
        IOleCommandTarget *cmdtrg) = 0;

    virtual HRESULT STDMETHODCALLTYPE PICSComplete(
        int arg) = 0;

    virtual HRESULT STDMETHODCALLTYPE FindWindowByName(
        LPCWSTR name,
        IHTMLWindow2 **ret) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetAddressBarUrl(
        BSTR *url) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHTMLPrivateWindow, 0x3050f6dc, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IHTMLPrivateWindowVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IHTMLPrivateWindow methods ***/
    HRESULT (STDMETHODCALLTYPE *SuperNavigate)(
        IHTMLPrivateWindow *This,
        BSTR url,
        BSTR arg2,
        BSTR arg3,
        BSTR arg4,
        VARIANT *post_data,
        VARIANT *headers,
        ULONG flags);

    HRESULT (STDMETHODCALLTYPE *GetPendingUrl)(
        IHTMLPrivateWindow *This,
        BSTR *url);

    HRESULT (STDMETHODCALLTYPE *SetPICSTarget)(
        IHTMLPrivateWindow *This,
        IOleCommandTarget *cmdtrg);

    HRESULT (STDMETHODCALLTYPE *PICSComplete)(
        IHTMLPrivateWindow *This,
        int arg);

    HRESULT (STDMETHODCALLTYPE *FindWindowByName)(
        IHTMLPrivateWindow *This,
        LPCWSTR name,
        IHTMLWindow2 **ret);

    HRESULT (STDMETHODCALLTYPE *GetAddressBarUrl)(
        IHTMLPrivateWindow *This,
        BSTR *url);

    END_INTERFACE
} IHTMLPrivateWindowVtbl;

interface IHTMLPrivateWindow {
    CONST_VTBL IHTMLPrivateWindowVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHTMLPrivateWindow_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHTMLPrivateWindow_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHTMLPrivateWindow_Release(This) (This)->lpVtbl->Release(This)
/*** IHTMLPrivateWindow methods ***/
#define IHTMLPrivateWindow_SuperNavigate(This,url,arg2,arg3,arg4,post_data,headers,flags) (This)->lpVtbl->SuperNavigate(This,url,arg2,arg3,arg4,post_data,headers,flags)
#define IHTMLPrivateWindow_GetPendingUrl(This,url) (This)->lpVtbl->GetPendingUrl(This,url)
#define IHTMLPrivateWindow_SetPICSTarget(This,cmdtrg) (This)->lpVtbl->SetPICSTarget(This,cmdtrg)
#define IHTMLPrivateWindow_PICSComplete(This,arg) (This)->lpVtbl->PICSComplete(This,arg)
#define IHTMLPrivateWindow_FindWindowByName(This,name,ret) (This)->lpVtbl->FindWindowByName(This,name,ret)
#define IHTMLPrivateWindow_GetAddressBarUrl(This,url) (This)->lpVtbl->GetAddressBarUrl(This,url)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IHTMLPrivateWindow_QueryInterface(IHTMLPrivateWindow* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHTMLPrivateWindow_AddRef(IHTMLPrivateWindow* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHTMLPrivateWindow_Release(IHTMLPrivateWindow* This) {
    return This->lpVtbl->Release(This);
}
/*** IHTMLPrivateWindow methods ***/
static FORCEINLINE HRESULT IHTMLPrivateWindow_SuperNavigate(IHTMLPrivateWindow* This,BSTR url,BSTR arg2,BSTR arg3,BSTR arg4,VARIANT *post_data,VARIANT *headers,ULONG flags) {
    return This->lpVtbl->SuperNavigate(This,url,arg2,arg3,arg4,post_data,headers,flags);
}
static FORCEINLINE HRESULT IHTMLPrivateWindow_GetPendingUrl(IHTMLPrivateWindow* This,BSTR *url) {
    return This->lpVtbl->GetPendingUrl(This,url);
}
static FORCEINLINE HRESULT IHTMLPrivateWindow_SetPICSTarget(IHTMLPrivateWindow* This,IOleCommandTarget *cmdtrg) {
    return This->lpVtbl->SetPICSTarget(This,cmdtrg);
}
static FORCEINLINE HRESULT IHTMLPrivateWindow_PICSComplete(IHTMLPrivateWindow* This,int arg) {
    return This->lpVtbl->PICSComplete(This,arg);
}
static FORCEINLINE HRESULT IHTMLPrivateWindow_FindWindowByName(IHTMLPrivateWindow* This,LPCWSTR name,IHTMLWindow2 **ret) {
    return This->lpVtbl->FindWindowByName(This,name,ret);
}
static FORCEINLINE HRESULT IHTMLPrivateWindow_GetAddressBarUrl(IHTMLPrivateWindow* This,BSTR *url) {
    return This->lpVtbl->GetAddressBarUrl(This,url);
}
#endif
#endif

#endif


#endif  /* __IHTMLPrivateWindow_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IWebBrowserPriv interface
 */
#ifndef __IWebBrowserPriv_INTERFACE_DEFINED__
#define __IWebBrowserPriv_INTERFACE_DEFINED__

DEFINE_GUID(IID_IWebBrowserPriv, 0x3050f804, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3050f804-98b5-11cf-bb82-00aa00bdce0b")
IWebBrowserPriv : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE NavigateWithBindCtx(
        VARIANT *uri,
        VARIANT *flags,
        VARIANT *target_frame,
        VARIANT *post_data,
        VARIANT *headers,
        IBindCtx *bind_ctx,
        LPOLESTR url_fragment) = 0;

    virtual HRESULT STDMETHODCALLTYPE OnClose(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IWebBrowserPriv, 0x3050f804, 0x98b5, 0x11cf, 0xbb,0x82, 0x00,0xaa,0x00,0xbd,0xce,0x0b)
#endif
#else
typedef struct IWebBrowserPrivVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IWebBrowserPriv methods ***/
    HRESULT (STDMETHODCALLTYPE *NavigateWithBindCtx)(
        IWebBrowserPriv *This,
        VARIANT *uri,
        VARIANT *flags,
        VARIANT *target_frame,
        VARIANT *post_data,
        VARIANT *headers,
        IBindCtx *bind_ctx,
        LPOLESTR url_fragment);

    HRESULT (STDMETHODCALLTYPE *OnClose)(
        IWebBrowserPriv *This);

    END_INTERFACE
} IWebBrowserPrivVtbl;

interface IWebBrowserPriv {
    CONST_VTBL IWebBrowserPrivVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IWebBrowserPriv_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWebBrowserPriv_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWebBrowserPriv_Release(This) (This)->lpVtbl->Release(This)
/*** IWebBrowserPriv methods ***/
#define IWebBrowserPriv_NavigateWithBindCtx(This,uri,flags,target_frame,post_data,headers,bind_ctx,url_fragment) (This)->lpVtbl->NavigateWithBindCtx(This,uri,flags,target_frame,post_data,headers,bind_ctx,url_fragment)
#define IWebBrowserPriv_OnClose(This) (This)->lpVtbl->OnClose(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IWebBrowserPriv_QueryInterface(IWebBrowserPriv* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IWebBrowserPriv_AddRef(IWebBrowserPriv* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IWebBrowserPriv_Release(IWebBrowserPriv* This) {
    return This->lpVtbl->Release(This);
}
/*** IWebBrowserPriv methods ***/
static FORCEINLINE HRESULT IWebBrowserPriv_NavigateWithBindCtx(IWebBrowserPriv* This,VARIANT *uri,VARIANT *flags,VARIANT *target_frame,VARIANT *post_data,VARIANT *headers,IBindCtx *bind_ctx,LPOLESTR url_fragment) {
    return This->lpVtbl->NavigateWithBindCtx(This,uri,flags,target_frame,post_data,headers,bind_ctx,url_fragment);
}
static FORCEINLINE HRESULT IWebBrowserPriv_OnClose(IWebBrowserPriv* This) {
    return This->lpVtbl->OnClose(This);
}
#endif
#endif

#endif


#endif  /* __IWebBrowserPriv_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IWebBrowserPriv2IE8 interface
 */
#ifndef __IWebBrowserPriv2IE8_INTERFACE_DEFINED__
#define __IWebBrowserPriv2IE8_INTERFACE_DEFINED__

DEFINE_GUID(IID_IWebBrowserPriv2IE8, 0x3ed72303, 0x6ffc, 0x4214, 0xba,0x90, 0xfa,0xf1,0x86,0x2d,0xec,0x8a);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3ed72303-6ffc-4214-ba90-faf1862dec8a")
IWebBrowserPriv2IE8 : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE NavigateWithBindCtx2(
        IUri *uri,
        VARIANT *flags,
        VARIANT *target_frame,
        VARIANT *post_data,
        VARIANT *headers,
        IBindCtx *bind_ctx,
        LPOLESTR url_fragment) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetBrowserFrameOptions(
        DWORD opt1,
        DWORD opt2) = 0;

    virtual HRESULT STDMETHODCALLTYPE DetachConnectionPoints(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetProcessId(
        DWORD *pid) = 0;

    virtual HRESULT STDMETHODCALLTYPE CompatAttachEditEvents(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE HandleOpenOptions(
        IUnknown *obj,
        BSTR bstr,
        int options) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetSearchTerm(
        BSTR term) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetSearchTerm(
        BSTR *term) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetCurrentDocument(
        IDispatch **doc) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IWebBrowserPriv2IE8, 0x3ed72303, 0x6ffc, 0x4214, 0xba,0x90, 0xfa,0xf1,0x86,0x2d,0xec,0x8a)
#endif
#else
typedef struct IWebBrowserPriv2IE8Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IWebBrowserPriv2IE8 methods ***/
    HRESULT (STDMETHODCALLTYPE *NavigateWithBindCtx2)(
        IWebBrowserPriv2IE8 *This,
        IUri *uri,
        VARIANT *flags,
        VARIANT *target_frame,
        VARIANT *post_data,
        VARIANT *headers,
        IBindCtx *bind_ctx,
        LPOLESTR url_fragment);

    HRESULT (STDMETHODCALLTYPE *SetBrowserFrameOptions)(
        IWebBrowserPriv2IE8 *This,
        DWORD opt1,
        DWORD opt2);

    HRESULT (STDMETHODCALLTYPE *DetachConnectionPoints)(
        IWebBrowserPriv2IE8 *This);

    HRESULT (STDMETHODCALLTYPE *GetProcessId)(
        IWebBrowserPriv2IE8 *This,
        DWORD *pid);

    HRESULT (STDMETHODCALLTYPE *CompatAttachEditEvents)(
        IWebBrowserPriv2IE8 *This);

    HRESULT (STDMETHODCALLTYPE *HandleOpenOptions)(
        IWebBrowserPriv2IE8 *This,
        IUnknown *obj,
        BSTR bstr,
        int options);

    HRESULT (STDMETHODCALLTYPE *SetSearchTerm)(
        IWebBrowserPriv2IE8 *This,
        BSTR term);

    HRESULT (STDMETHODCALLTYPE *GetSearchTerm)(
        IWebBrowserPriv2IE8 *This,
        BSTR *term);

    HRESULT (STDMETHODCALLTYPE *GetCurrentDocument)(
        IWebBrowserPriv2IE8 *This,
        IDispatch **doc);

    END_INTERFACE
} IWebBrowserPriv2IE8Vtbl;

interface IWebBrowserPriv2IE8 {
    CONST_VTBL IWebBrowserPriv2IE8Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IWebBrowserPriv2IE8_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWebBrowserPriv2IE8_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWebBrowserPriv2IE8_Release(This) (This)->lpVtbl->Release(This)
/*** IWebBrowserPriv2IE8 methods ***/
#define IWebBrowserPriv2IE8_NavigateWithBindCtx2(This,uri,flags,target_frame,post_data,headers,bind_ctx,url_fragment) (This)->lpVtbl->NavigateWithBindCtx2(This,uri,flags,target_frame,post_data,headers,bind_ctx,url_fragment)
#define IWebBrowserPriv2IE8_SetBrowserFrameOptions(This,opt1,opt2) (This)->lpVtbl->SetBrowserFrameOptions(This,opt1,opt2)
#define IWebBrowserPriv2IE8_DetachConnectionPoints(This) (This)->lpVtbl->DetachConnectionPoints(This)
#define IWebBrowserPriv2IE8_GetProcessId(This,pid) (This)->lpVtbl->GetProcessId(This,pid)
#define IWebBrowserPriv2IE8_CompatAttachEditEvents(This) (This)->lpVtbl->CompatAttachEditEvents(This)
#define IWebBrowserPriv2IE8_HandleOpenOptions(This,obj,bstr,options) (This)->lpVtbl->HandleOpenOptions(This,obj,bstr,options)
#define IWebBrowserPriv2IE8_SetSearchTerm(This,term) (This)->lpVtbl->SetSearchTerm(This,term)
#define IWebBrowserPriv2IE8_GetSearchTerm(This,term) (This)->lpVtbl->GetSearchTerm(This,term)
#define IWebBrowserPriv2IE8_GetCurrentDocument(This,doc) (This)->lpVtbl->GetCurrentDocument(This,doc)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IWebBrowserPriv2IE8_QueryInterface(IWebBrowserPriv2IE8* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IWebBrowserPriv2IE8_AddRef(IWebBrowserPriv2IE8* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IWebBrowserPriv2IE8_Release(IWebBrowserPriv2IE8* This) {
    return This->lpVtbl->Release(This);
}
/*** IWebBrowserPriv2IE8 methods ***/
static FORCEINLINE HRESULT IWebBrowserPriv2IE8_NavigateWithBindCtx2(IWebBrowserPriv2IE8* This,IUri *uri,VARIANT *flags,VARIANT *target_frame,VARIANT *post_data,VARIANT *headers,IBindCtx *bind_ctx,LPOLESTR url_fragment) {
    return This->lpVtbl->NavigateWithBindCtx2(This,uri,flags,target_frame,post_data,headers,bind_ctx,url_fragment);
}
static FORCEINLINE HRESULT IWebBrowserPriv2IE8_SetBrowserFrameOptions(IWebBrowserPriv2IE8* This,DWORD opt1,DWORD opt2) {
    return This->lpVtbl->SetBrowserFrameOptions(This,opt1,opt2);
}
static FORCEINLINE HRESULT IWebBrowserPriv2IE8_DetachConnectionPoints(IWebBrowserPriv2IE8* This) {
    return This->lpVtbl->DetachConnectionPoints(This);
}
static FORCEINLINE HRESULT IWebBrowserPriv2IE8_GetProcessId(IWebBrowserPriv2IE8* This,DWORD *pid) {
    return This->lpVtbl->GetProcessId(This,pid);
}
static FORCEINLINE HRESULT IWebBrowserPriv2IE8_CompatAttachEditEvents(IWebBrowserPriv2IE8* This) {
    return This->lpVtbl->CompatAttachEditEvents(This);
}
static FORCEINLINE HRESULT IWebBrowserPriv2IE8_HandleOpenOptions(IWebBrowserPriv2IE8* This,IUnknown *obj,BSTR bstr,int options) {
    return This->lpVtbl->HandleOpenOptions(This,obj,bstr,options);
}
static FORCEINLINE HRESULT IWebBrowserPriv2IE8_SetSearchTerm(IWebBrowserPriv2IE8* This,BSTR term) {
    return This->lpVtbl->SetSearchTerm(This,term);
}
static FORCEINLINE HRESULT IWebBrowserPriv2IE8_GetSearchTerm(IWebBrowserPriv2IE8* This,BSTR *term) {
    return This->lpVtbl->GetSearchTerm(This,term);
}
static FORCEINLINE HRESULT IWebBrowserPriv2IE8_GetCurrentDocument(IWebBrowserPriv2IE8* This,IDispatch **doc) {
    return This->lpVtbl->GetCurrentDocument(This,doc);
}
#endif
#endif

#endif


#endif  /* __IWebBrowserPriv2IE8_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IWebBrowserPriv2IE9 interface
 */
#ifndef __IWebBrowserPriv2IE9_INTERFACE_DEFINED__
#define __IWebBrowserPriv2IE9_INTERFACE_DEFINED__

DEFINE_GUID(IID_IWebBrowserPriv2IE9, 0x3ed72303, 0x6ffc, 0x4214, 0xba,0x90, 0xfa,0xf1,0x86,0x2d,0xec,0x8a);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3ed72303-6ffc-4214-ba90-faf1862dec8a")
IWebBrowserPriv2IE9 : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE NavigateWithBindCtx2(
        IUri *uri,
        VARIANT *flags,
        VARIANT *target_frame,
        VARIANT *post_data,
        VARIANT *headers,
        IBindCtx *bind_ctx,
        LPOLESTR url_fragment,
        DWORD unused) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IWebBrowserPriv2IE9, 0x3ed72303, 0x6ffc, 0x4214, 0xba,0x90, 0xfa,0xf1,0x86,0x2d,0xec,0x8a)
#endif
#else
typedef struct IWebBrowserPriv2IE9Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IWebBrowserPriv2IE9 methods ***/
    HRESULT (STDMETHODCALLTYPE *NavigateWithBindCtx2)(
        IWebBrowserPriv2IE9 *This,
        IUri *uri,
        VARIANT *flags,
        VARIANT *target_frame,
        VARIANT *post_data,
        VARIANT *headers,
        IBindCtx *bind_ctx,
        LPOLESTR url_fragment,
        DWORD unused);

    END_INTERFACE
} IWebBrowserPriv2IE9Vtbl;

interface IWebBrowserPriv2IE9 {
    CONST_VTBL IWebBrowserPriv2IE9Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IWebBrowserPriv2IE9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWebBrowserPriv2IE9_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWebBrowserPriv2IE9_Release(This) (This)->lpVtbl->Release(This)
/*** IWebBrowserPriv2IE9 methods ***/
#define IWebBrowserPriv2IE9_NavigateWithBindCtx2(This,uri,flags,target_frame,post_data,headers,bind_ctx,url_fragment,unused) (This)->lpVtbl->NavigateWithBindCtx2(This,uri,flags,target_frame,post_data,headers,bind_ctx,url_fragment,unused)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IWebBrowserPriv2IE9_QueryInterface(IWebBrowserPriv2IE9* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IWebBrowserPriv2IE9_AddRef(IWebBrowserPriv2IE9* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IWebBrowserPriv2IE9_Release(IWebBrowserPriv2IE9* This) {
    return This->lpVtbl->Release(This);
}
/*** IWebBrowserPriv2IE9 methods ***/
static FORCEINLINE HRESULT IWebBrowserPriv2IE9_NavigateWithBindCtx2(IWebBrowserPriv2IE9* This,IUri *uri,VARIANT *flags,VARIANT *target_frame,VARIANT *post_data,VARIANT *headers,IBindCtx *bind_ctx,LPOLESTR url_fragment,DWORD unused) {
    return This->lpVtbl->NavigateWithBindCtx2(This,uri,flags,target_frame,post_data,headers,bind_ctx,url_fragment,unused);
}
#endif
#endif

#endif


#endif  /* __IWebBrowserPriv2IE9_INTERFACE_DEFINED__ */

/* Begin additional prototypes for all interfaces */

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 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 *);

/* End additional prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __mshtml_h__ */
