403Webshell
Server IP : 209.209.40.120  /  Your IP : 216.73.217.112
Web Server : Microsoft-IIS/10.0
System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586
User : NEWWWW$ ( 0)
PHP Version : 8.3.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/um/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/um/MsHTML.h

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 8.01.0622 */
/* @@MIDL_FILE_HEADING(  ) */



/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif

/* verify that the <rpcsal.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCSAL_H_VERSION__
#define __REQUIRED_RPCSAL_H_VERSION__ 100
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif /* __RPCNDR_H_VERSION__ */

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __mshtml_h__
#define __mshtml_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __IHTMLFiltersCollection_FWD_DEFINED__
#define __IHTMLFiltersCollection_FWD_DEFINED__
typedef interface IHTMLFiltersCollection IHTMLFiltersCollection;

#endif 	/* __IHTMLFiltersCollection_FWD_DEFINED__ */


#ifndef __IIE70DispatchEx_FWD_DEFINED__
#define __IIE70DispatchEx_FWD_DEFINED__
typedef interface IIE70DispatchEx IIE70DispatchEx;

#endif 	/* __IIE70DispatchEx_FWD_DEFINED__ */


#ifndef __IIE80DispatchEx_FWD_DEFINED__
#define __IIE80DispatchEx_FWD_DEFINED__
typedef interface IIE80DispatchEx IIE80DispatchEx;

#endif 	/* __IIE80DispatchEx_FWD_DEFINED__ */


#ifndef __IHTMLEventObj_FWD_DEFINED__
#define __IHTMLEventObj_FWD_DEFINED__
typedef interface IHTMLEventObj IHTMLEventObj;

#endif 	/* __IHTMLEventObj_FWD_DEFINED__ */


#ifndef __IElementBehaviorSite_FWD_DEFINED__
#define __IElementBehaviorSite_FWD_DEFINED__
typedef interface IElementBehaviorSite IElementBehaviorSite;

#endif 	/* __IElementBehaviorSite_FWD_DEFINED__ */


#ifndef __IElementBehavior_FWD_DEFINED__
#define __IElementBehavior_FWD_DEFINED__
typedef interface IElementBehavior IElementBehavior;

#endif 	/* __IElementBehavior_FWD_DEFINED__ */


#ifndef __IElementBehaviorFactory_FWD_DEFINED__
#define __IElementBehaviorFactory_FWD_DEFINED__
typedef interface IElementBehaviorFactory IElementBehaviorFactory;

#endif 	/* __IElementBehaviorFactory_FWD_DEFINED__ */


#ifndef __IElementBehaviorSiteOM_FWD_DEFINED__
#define __IElementBehaviorSiteOM_FWD_DEFINED__
typedef interface IElementBehaviorSiteOM IElementBehaviorSiteOM;

#endif 	/* __IElementBehaviorSiteOM_FWD_DEFINED__ */


#ifndef __IElementBehaviorRender_FWD_DEFINED__
#define __IElementBehaviorRender_FWD_DEFINED__
typedef interface IElementBehaviorRender IElementBehaviorRender;

#endif 	/* __IElementBehaviorRender_FWD_DEFINED__ */


#ifndef __IElementBehaviorSiteRender_FWD_DEFINED__
#define __IElementBehaviorSiteRender_FWD_DEFINED__
typedef interface IElementBehaviorSiteRender IElementBehaviorSiteRender;

#endif 	/* __IElementBehaviorSiteRender_FWD_DEFINED__ */


#ifndef __IDOMEvent_FWD_DEFINED__
#define __IDOMEvent_FWD_DEFINED__
typedef interface IDOMEvent IDOMEvent;

#endif 	/* __IDOMEvent_FWD_DEFINED__ */


#ifndef __IHTMLDOMConstructor_FWD_DEFINED__
#define __IHTMLDOMConstructor_FWD_DEFINED__
typedef interface IHTMLDOMConstructor IHTMLDOMConstructor;

#endif 	/* __IHTMLDOMConstructor_FWD_DEFINED__ */


#ifndef __IHTMLStyleSheetRule_FWD_DEFINED__
#define __IHTMLStyleSheetRule_FWD_DEFINED__
typedef interface IHTMLStyleSheetRule IHTMLStyleSheetRule;

#endif 	/* __IHTMLStyleSheetRule_FWD_DEFINED__ */


#ifndef __IHTMLCSSStyleDeclaration_FWD_DEFINED__
#define __IHTMLCSSStyleDeclaration_FWD_DEFINED__
typedef interface IHTMLCSSStyleDeclaration IHTMLCSSStyleDeclaration;

#endif 	/* __IHTMLCSSStyleDeclaration_FWD_DEFINED__ */


#ifndef __IHTMLCSSStyleDeclaration2_FWD_DEFINED__
#define __IHTMLCSSStyleDeclaration2_FWD_DEFINED__
typedef interface IHTMLCSSStyleDeclaration2 IHTMLCSSStyleDeclaration2;

#endif 	/* __IHTMLCSSStyleDeclaration2_FWD_DEFINED__ */


#ifndef __IHTMLCSSStyleDeclaration3_FWD_DEFINED__
#define __IHTMLCSSStyleDeclaration3_FWD_DEFINED__
typedef interface IHTMLCSSStyleDeclaration3 IHTMLCSSStyleDeclaration3;

#endif 	/* __IHTMLCSSStyleDeclaration3_FWD_DEFINED__ */


#ifndef __IHTMLCSSStyleDeclaration4_FWD_DEFINED__
#define __IHTMLCSSStyleDeclaration4_FWD_DEFINED__
typedef interface IHTMLCSSStyleDeclaration4 IHTMLCSSStyleDeclaration4;

#endif 	/* __IHTMLCSSStyleDeclaration4_FWD_DEFINED__ */


#ifndef __IHTMLStyleEnabled_FWD_DEFINED__
#define __IHTMLStyleEnabled_FWD_DEFINED__
typedef interface IHTMLStyleEnabled IHTMLStyleEnabled;

#endif 	/* __IHTMLStyleEnabled_FWD_DEFINED__ */


#ifndef __DispHTMLCSSStyleDeclaration_FWD_DEFINED__
#define __DispHTMLCSSStyleDeclaration_FWD_DEFINED__
typedef interface DispHTMLCSSStyleDeclaration DispHTMLCSSStyleDeclaration;

#endif 	/* __DispHTMLCSSStyleDeclaration_FWD_DEFINED__ */


#ifndef __HTMLCSSStyleDeclaration_FWD_DEFINED__
#define __HTMLCSSStyleDeclaration_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLCSSStyleDeclaration HTMLCSSStyleDeclaration;
#else
typedef struct HTMLCSSStyleDeclaration HTMLCSSStyleDeclaration;
#endif /* __cplusplus */

#endif 	/* __HTMLCSSStyleDeclaration_FWD_DEFINED__ */


#ifndef __IHTMLStyle_FWD_DEFINED__
#define __IHTMLStyle_FWD_DEFINED__
typedef interface IHTMLStyle IHTMLStyle;

#endif 	/* __IHTMLStyle_FWD_DEFINED__ */


#ifndef __IHTMLStyle2_FWD_DEFINED__
#define __IHTMLStyle2_FWD_DEFINED__
typedef interface IHTMLStyle2 IHTMLStyle2;

#endif 	/* __IHTMLStyle2_FWD_DEFINED__ */


#ifndef __IHTMLStyle3_FWD_DEFINED__
#define __IHTMLStyle3_FWD_DEFINED__
typedef interface IHTMLStyle3 IHTMLStyle3;

#endif 	/* __IHTMLStyle3_FWD_DEFINED__ */


#ifndef __IHTMLStyle4_FWD_DEFINED__
#define __IHTMLStyle4_FWD_DEFINED__
typedef interface IHTMLStyle4 IHTMLStyle4;

#endif 	/* __IHTMLStyle4_FWD_DEFINED__ */


#ifndef __IHTMLStyle5_FWD_DEFINED__
#define __IHTMLStyle5_FWD_DEFINED__
typedef interface IHTMLStyle5 IHTMLStyle5;

#endif 	/* __IHTMLStyle5_FWD_DEFINED__ */


#ifndef __IHTMLStyle6_FWD_DEFINED__
#define __IHTMLStyle6_FWD_DEFINED__
typedef interface IHTMLStyle6 IHTMLStyle6;

#endif 	/* __IHTMLStyle6_FWD_DEFINED__ */


#ifndef __IHTMLRuleStyle_FWD_DEFINED__
#define __IHTMLRuleStyle_FWD_DEFINED__
typedef interface IHTMLRuleStyle IHTMLRuleStyle;

#endif 	/* __IHTMLRuleStyle_FWD_DEFINED__ */


#ifndef __IHTMLRuleStyle2_FWD_DEFINED__
#define __IHTMLRuleStyle2_FWD_DEFINED__
typedef interface IHTMLRuleStyle2 IHTMLRuleStyle2;

#endif 	/* __IHTMLRuleStyle2_FWD_DEFINED__ */


#ifndef __IHTMLRuleStyle3_FWD_DEFINED__
#define __IHTMLRuleStyle3_FWD_DEFINED__
typedef interface IHTMLRuleStyle3 IHTMLRuleStyle3;

#endif 	/* __IHTMLRuleStyle3_FWD_DEFINED__ */


#ifndef __IHTMLRuleStyle4_FWD_DEFINED__
#define __IHTMLRuleStyle4_FWD_DEFINED__
typedef interface IHTMLRuleStyle4 IHTMLRuleStyle4;

#endif 	/* __IHTMLRuleStyle4_FWD_DEFINED__ */


#ifndef __IHTMLRuleStyle5_FWD_DEFINED__
#define __IHTMLRuleStyle5_FWD_DEFINED__
typedef interface IHTMLRuleStyle5 IHTMLRuleStyle5;

#endif 	/* __IHTMLRuleStyle5_FWD_DEFINED__ */


#ifndef __IHTMLRuleStyle6_FWD_DEFINED__
#define __IHTMLRuleStyle6_FWD_DEFINED__
typedef interface IHTMLRuleStyle6 IHTMLRuleStyle6;

#endif 	/* __IHTMLRuleStyle6_FWD_DEFINED__ */


#ifndef __DispHTMLStyle_FWD_DEFINED__
#define __DispHTMLStyle_FWD_DEFINED__
typedef interface DispHTMLStyle DispHTMLStyle;

#endif 	/* __DispHTMLStyle_FWD_DEFINED__ */


#ifndef __HTMLStyle_FWD_DEFINED__
#define __HTMLStyle_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLStyle HTMLStyle;
#else
typedef struct HTMLStyle HTMLStyle;
#endif /* __cplusplus */

#endif 	/* __HTMLStyle_FWD_DEFINED__ */


#ifndef __DispHTMLRuleStyle_FWD_DEFINED__
#define __DispHTMLRuleStyle_FWD_DEFINED__
typedef interface DispHTMLRuleStyle DispHTMLRuleStyle;

#endif 	/* __DispHTMLRuleStyle_FWD_DEFINED__ */


#ifndef __HTMLRuleStyle_FWD_DEFINED__
#define __HTMLRuleStyle_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLRuleStyle HTMLRuleStyle;
#else
typedef struct HTMLRuleStyle HTMLRuleStyle;
#endif /* __cplusplus */

#endif 	/* __HTMLRuleStyle_FWD_DEFINED__ */


#ifndef __IHTMLStyleSheetRulesCollection_FWD_DEFINED__
#define __IHTMLStyleSheetRulesCollection_FWD_DEFINED__
typedef interface IHTMLStyleSheetRulesCollection IHTMLStyleSheetRulesCollection;

#endif 	/* __IHTMLStyleSheetRulesCollection_FWD_DEFINED__ */


#ifndef __IHTMLStyleSheet_FWD_DEFINED__
#define __IHTMLStyleSheet_FWD_DEFINED__
typedef interface IHTMLStyleSheet IHTMLStyleSheet;

#endif 	/* __IHTMLStyleSheet_FWD_DEFINED__ */


#ifndef __IHTMLCSSRule_FWD_DEFINED__
#define __IHTMLCSSRule_FWD_DEFINED__
typedef interface IHTMLCSSRule IHTMLCSSRule;

#endif 	/* __IHTMLCSSRule_FWD_DEFINED__ */


#ifndef __IHTMLCSSImportRule_FWD_DEFINED__
#define __IHTMLCSSImportRule_FWD_DEFINED__
typedef interface IHTMLCSSImportRule IHTMLCSSImportRule;

#endif 	/* __IHTMLCSSImportRule_FWD_DEFINED__ */


#ifndef __IHTMLCSSMediaRule_FWD_DEFINED__
#define __IHTMLCSSMediaRule_FWD_DEFINED__
typedef interface IHTMLCSSMediaRule IHTMLCSSMediaRule;

#endif 	/* __IHTMLCSSMediaRule_FWD_DEFINED__ */


#ifndef __IHTMLCSSMediaList_FWD_DEFINED__
#define __IHTMLCSSMediaList_FWD_DEFINED__
typedef interface IHTMLCSSMediaList IHTMLCSSMediaList;

#endif 	/* __IHTMLCSSMediaList_FWD_DEFINED__ */


#ifndef __IHTMLCSSNamespaceRule_FWD_DEFINED__
#define __IHTMLCSSNamespaceRule_FWD_DEFINED__
typedef interface IHTMLCSSNamespaceRule IHTMLCSSNamespaceRule;

#endif 	/* __IHTMLCSSNamespaceRule_FWD_DEFINED__ */


#ifndef __IHTMLMSCSSKeyframeRule_FWD_DEFINED__
#define __IHTMLMSCSSKeyframeRule_FWD_DEFINED__
typedef interface IHTMLMSCSSKeyframeRule IHTMLMSCSSKeyframeRule;

#endif 	/* __IHTMLMSCSSKeyframeRule_FWD_DEFINED__ */


#ifndef __IHTMLMSCSSKeyframesRule_FWD_DEFINED__
#define __IHTMLMSCSSKeyframesRule_FWD_DEFINED__
typedef interface IHTMLMSCSSKeyframesRule IHTMLMSCSSKeyframesRule;

#endif 	/* __IHTMLMSCSSKeyframesRule_FWD_DEFINED__ */


#ifndef __DispHTMLCSSRule_FWD_DEFINED__
#define __DispHTMLCSSRule_FWD_DEFINED__
typedef interface DispHTMLCSSRule DispHTMLCSSRule;

#endif 	/* __DispHTMLCSSRule_FWD_DEFINED__ */


#ifndef __HTMLCSSRule_FWD_DEFINED__
#define __HTMLCSSRule_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLCSSRule HTMLCSSRule;
#else
typedef struct HTMLCSSRule HTMLCSSRule;
#endif /* __cplusplus */

#endif 	/* __HTMLCSSRule_FWD_DEFINED__ */


#ifndef __DispHTMLCSSImportRule_FWD_DEFINED__
#define __DispHTMLCSSImportRule_FWD_DEFINED__
typedef interface DispHTMLCSSImportRule DispHTMLCSSImportRule;

#endif 	/* __DispHTMLCSSImportRule_FWD_DEFINED__ */


#ifndef __HTMLCSSImportRule_FWD_DEFINED__
#define __HTMLCSSImportRule_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLCSSImportRule HTMLCSSImportRule;
#else
typedef struct HTMLCSSImportRule HTMLCSSImportRule;
#endif /* __cplusplus */

#endif 	/* __HTMLCSSImportRule_FWD_DEFINED__ */


#ifndef __DispHTMLCSSMediaRule_FWD_DEFINED__
#define __DispHTMLCSSMediaRule_FWD_DEFINED__
typedef interface DispHTMLCSSMediaRule DispHTMLCSSMediaRule;

#endif 	/* __DispHTMLCSSMediaRule_FWD_DEFINED__ */


#ifndef __HTMLCSSMediaRule_FWD_DEFINED__
#define __HTMLCSSMediaRule_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLCSSMediaRule HTMLCSSMediaRule;
#else
typedef struct HTMLCSSMediaRule HTMLCSSMediaRule;
#endif /* __cplusplus */

#endif 	/* __HTMLCSSMediaRule_FWD_DEFINED__ */


#ifndef __DispHTMLCSSMediaList_FWD_DEFINED__
#define __DispHTMLCSSMediaList_FWD_DEFINED__
typedef interface DispHTMLCSSMediaList DispHTMLCSSMediaList;

#endif 	/* __DispHTMLCSSMediaList_FWD_DEFINED__ */


#ifndef __HTMLCSSMediaList_FWD_DEFINED__
#define __HTMLCSSMediaList_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLCSSMediaList HTMLCSSMediaList;
#else
typedef struct HTMLCSSMediaList HTMLCSSMediaList;
#endif /* __cplusplus */

#endif 	/* __HTMLCSSMediaList_FWD_DEFINED__ */


#ifndef __DispHTMLCSSNamespaceRule_FWD_DEFINED__
#define __DispHTMLCSSNamespaceRule_FWD_DEFINED__
typedef interface DispHTMLCSSNamespaceRule DispHTMLCSSNamespaceRule;

#endif 	/* __DispHTMLCSSNamespaceRule_FWD_DEFINED__ */


#ifndef __HTMLCSSNamespaceRule_FWD_DEFINED__
#define __HTMLCSSNamespaceRule_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLCSSNamespaceRule HTMLCSSNamespaceRule;
#else
typedef struct HTMLCSSNamespaceRule HTMLCSSNamespaceRule;
#endif /* __cplusplus */

#endif 	/* __HTMLCSSNamespaceRule_FWD_DEFINED__ */


#ifndef __DispHTMLMSCSSKeyframeRule_FWD_DEFINED__
#define __DispHTMLMSCSSKeyframeRule_FWD_DEFINED__
typedef interface DispHTMLMSCSSKeyframeRule DispHTMLMSCSSKeyframeRule;

#endif 	/* __DispHTMLMSCSSKeyframeRule_FWD_DEFINED__ */


#ifndef __HTMLMSCSSKeyframeRule_FWD_DEFINED__
#define __HTMLMSCSSKeyframeRule_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLMSCSSKeyframeRule HTMLMSCSSKeyframeRule;
#else
typedef struct HTMLMSCSSKeyframeRule HTMLMSCSSKeyframeRule;
#endif /* __cplusplus */

#endif 	/* __HTMLMSCSSKeyframeRule_FWD_DEFINED__ */


#ifndef __DispHTMLMSCSSKeyframesRule_FWD_DEFINED__
#define __DispHTMLMSCSSKeyframesRule_FWD_DEFINED__
typedef interface DispHTMLMSCSSKeyframesRule DispHTMLMSCSSKeyframesRule;

#endif 	/* __DispHTMLMSCSSKeyframesRule_FWD_DEFINED__ */


#ifndef __HTMLMSCSSKeyframesRule_FWD_DEFINED__
#define __HTMLMSCSSKeyframesRule_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLMSCSSKeyframesRule HTMLMSCSSKeyframesRule;
#else
typedef struct HTMLMSCSSKeyframesRule HTMLMSCSSKeyframesRule;
#endif /* __cplusplus */

#endif 	/* __HTMLMSCSSKeyframesRule_FWD_DEFINED__ */


#ifndef __IHTMLRenderStyle_FWD_DEFINED__
#define __IHTMLRenderStyle_FWD_DEFINED__
typedef interface IHTMLRenderStyle IHTMLRenderStyle;

#endif 	/* __IHTMLRenderStyle_FWD_DEFINED__ */


#ifndef __DispHTMLRenderStyle_FWD_DEFINED__
#define __DispHTMLRenderStyle_FWD_DEFINED__
typedef interface DispHTMLRenderStyle DispHTMLRenderStyle;

#endif 	/* __DispHTMLRenderStyle_FWD_DEFINED__ */


#ifndef __HTMLRenderStyle_FWD_DEFINED__
#define __HTMLRenderStyle_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLRenderStyle HTMLRenderStyle;
#else
typedef struct HTMLRenderStyle HTMLRenderStyle;
#endif /* __cplusplus */

#endif 	/* __HTMLRenderStyle_FWD_DEFINED__ */


#ifndef __IHTMLCurrentStyle_FWD_DEFINED__
#define __IHTMLCurrentStyle_FWD_DEFINED__
typedef interface IHTMLCurrentStyle IHTMLCurrentStyle;

#endif 	/* __IHTMLCurrentStyle_FWD_DEFINED__ */


#ifndef __IHTMLCurrentStyle2_FWD_DEFINED__
#define __IHTMLCurrentStyle2_FWD_DEFINED__
typedef interface IHTMLCurrentStyle2 IHTMLCurrentStyle2;

#endif 	/* __IHTMLCurrentStyle2_FWD_DEFINED__ */


#ifndef __IHTMLCurrentStyle3_FWD_DEFINED__
#define __IHTMLCurrentStyle3_FWD_DEFINED__
typedef interface IHTMLCurrentStyle3 IHTMLCurrentStyle3;

#endif 	/* __IHTMLCurrentStyle3_FWD_DEFINED__ */


#ifndef __IHTMLCurrentStyle4_FWD_DEFINED__
#define __IHTMLCurrentStyle4_FWD_DEFINED__
typedef interface IHTMLCurrentStyle4 IHTMLCurrentStyle4;

#endif 	/* __IHTMLCurrentStyle4_FWD_DEFINED__ */


#ifndef __IHTMLCurrentStyle5_FWD_DEFINED__
#define __IHTMLCurrentStyle5_FWD_DEFINED__
typedef interface IHTMLCurrentStyle5 IHTMLCurrentStyle5;

#endif 	/* __IHTMLCurrentStyle5_FWD_DEFINED__ */


#ifndef __DispHTMLCurrentStyle_FWD_DEFINED__
#define __DispHTMLCurrentStyle_FWD_DEFINED__
typedef interface DispHTMLCurrentStyle DispHTMLCurrentStyle;

#endif 	/* __DispHTMLCurrentStyle_FWD_DEFINED__ */


#ifndef __HTMLCurrentStyle_FWD_DEFINED__
#define __HTMLCurrentStyle_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLCurrentStyle HTMLCurrentStyle;
#else
typedef struct HTMLCurrentStyle HTMLCurrentStyle;
#endif /* __cplusplus */

#endif 	/* __HTMLCurrentStyle_FWD_DEFINED__ */


#ifndef __IHTMLElement_FWD_DEFINED__
#define __IHTMLElement_FWD_DEFINED__
typedef interface IHTMLElement IHTMLElement;

#endif 	/* __IHTMLElement_FWD_DEFINED__ */


#ifndef __IHTMLRect_FWD_DEFINED__
#define __IHTMLRect_FWD_DEFINED__
typedef interface IHTMLRect IHTMLRect;

#endif 	/* __IHTMLRect_FWD_DEFINED__ */


#ifndef __IHTMLRect2_FWD_DEFINED__
#define __IHTMLRect2_FWD_DEFINED__
typedef interface IHTMLRect2 IHTMLRect2;

#endif 	/* __IHTMLRect2_FWD_DEFINED__ */


#ifndef __IHTMLRectCollection_FWD_DEFINED__
#define __IHTMLRectCollection_FWD_DEFINED__
typedef interface IHTMLRectCollection IHTMLRectCollection;

#endif 	/* __IHTMLRectCollection_FWD_DEFINED__ */


#ifndef __IHTMLElementCollection_FWD_DEFINED__
#define __IHTMLElementCollection_FWD_DEFINED__
typedef interface IHTMLElementCollection IHTMLElementCollection;

#endif 	/* __IHTMLElementCollection_FWD_DEFINED__ */


#ifndef __IHTMLElement2_FWD_DEFINED__
#define __IHTMLElement2_FWD_DEFINED__
typedef interface IHTMLElement2 IHTMLElement2;

#endif 	/* __IHTMLElement2_FWD_DEFINED__ */


#ifndef __IHTMLAttributeCollection3_FWD_DEFINED__
#define __IHTMLAttributeCollection3_FWD_DEFINED__
typedef interface IHTMLAttributeCollection3 IHTMLAttributeCollection3;

#endif 	/* __IHTMLAttributeCollection3_FWD_DEFINED__ */


#ifndef __IDOMDocumentType_FWD_DEFINED__
#define __IDOMDocumentType_FWD_DEFINED__
typedef interface IDOMDocumentType IDOMDocumentType;

#endif 	/* __IDOMDocumentType_FWD_DEFINED__ */


#ifndef __IHTMLDocument7_FWD_DEFINED__
#define __IHTMLDocument7_FWD_DEFINED__
typedef interface IHTMLDocument7 IHTMLDocument7;

#endif 	/* __IHTMLDocument7_FWD_DEFINED__ */


#ifndef __IHTMLDOMNode_FWD_DEFINED__
#define __IHTMLDOMNode_FWD_DEFINED__
typedef interface IHTMLDOMNode IHTMLDOMNode;

#endif 	/* __IHTMLDOMNode_FWD_DEFINED__ */


#ifndef __IHTMLDOMNode2_FWD_DEFINED__
#define __IHTMLDOMNode2_FWD_DEFINED__
typedef interface IHTMLDOMNode2 IHTMLDOMNode2;

#endif 	/* __IHTMLDOMNode2_FWD_DEFINED__ */


#ifndef __IHTMLDOMNode3_FWD_DEFINED__
#define __IHTMLDOMNode3_FWD_DEFINED__
typedef interface IHTMLDOMNode3 IHTMLDOMNode3;

#endif 	/* __IHTMLDOMNode3_FWD_DEFINED__ */


#ifndef __IHTMLDOMAttribute_FWD_DEFINED__
#define __IHTMLDOMAttribute_FWD_DEFINED__
typedef interface IHTMLDOMAttribute IHTMLDOMAttribute;

#endif 	/* __IHTMLDOMAttribute_FWD_DEFINED__ */


#ifndef __IHTMLDOMAttribute2_FWD_DEFINED__
#define __IHTMLDOMAttribute2_FWD_DEFINED__
typedef interface IHTMLDOMAttribute2 IHTMLDOMAttribute2;

#endif 	/* __IHTMLDOMAttribute2_FWD_DEFINED__ */


#ifndef __IHTMLDOMAttribute3_FWD_DEFINED__
#define __IHTMLDOMAttribute3_FWD_DEFINED__
typedef interface IHTMLDOMAttribute3 IHTMLDOMAttribute3;

#endif 	/* __IHTMLDOMAttribute3_FWD_DEFINED__ */


#ifndef __IHTMLDOMAttribute4_FWD_DEFINED__
#define __IHTMLDOMAttribute4_FWD_DEFINED__
typedef interface IHTMLDOMAttribute4 IHTMLDOMAttribute4;

#endif 	/* __IHTMLDOMAttribute4_FWD_DEFINED__ */


#ifndef __IHTMLDOMTextNode_FWD_DEFINED__
#define __IHTMLDOMTextNode_FWD_DEFINED__
typedef interface IHTMLDOMTextNode IHTMLDOMTextNode;

#endif 	/* __IHTMLDOMTextNode_FWD_DEFINED__ */


#ifndef __IHTMLDOMTextNode2_FWD_DEFINED__
#define __IHTMLDOMTextNode2_FWD_DEFINED__
typedef interface IHTMLDOMTextNode2 IHTMLDOMTextNode2;

#endif 	/* __IHTMLDOMTextNode2_FWD_DEFINED__ */


#ifndef __IHTMLDOMTextNode3_FWD_DEFINED__
#define __IHTMLDOMTextNode3_FWD_DEFINED__
typedef interface IHTMLDOMTextNode3 IHTMLDOMTextNode3;

#endif 	/* __IHTMLDOMTextNode3_FWD_DEFINED__ */


#ifndef __IHTMLDOMImplementation_FWD_DEFINED__
#define __IHTMLDOMImplementation_FWD_DEFINED__
typedef interface IHTMLDOMImplementation IHTMLDOMImplementation;

#endif 	/* __IHTMLDOMImplementation_FWD_DEFINED__ */


#ifndef __IHTMLDOMImplementation2_FWD_DEFINED__
#define __IHTMLDOMImplementation2_FWD_DEFINED__
typedef interface IHTMLDOMImplementation2 IHTMLDOMImplementation2;

#endif 	/* __IHTMLDOMImplementation2_FWD_DEFINED__ */


#ifndef __DispHTMLDOMAttribute_FWD_DEFINED__
#define __DispHTMLDOMAttribute_FWD_DEFINED__
typedef interface DispHTMLDOMAttribute DispHTMLDOMAttribute;

#endif 	/* __DispHTMLDOMAttribute_FWD_DEFINED__ */


#ifndef __HTMLDOMAttribute_FWD_DEFINED__
#define __HTMLDOMAttribute_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLDOMAttribute HTMLDOMAttribute;
#else
typedef struct HTMLDOMAttribute HTMLDOMAttribute;
#endif /* __cplusplus */

#endif 	/* __HTMLDOMAttribute_FWD_DEFINED__ */


#ifndef __DispHTMLDOMTextNode_FWD_DEFINED__
#define __DispHTMLDOMTextNode_FWD_DEFINED__
typedef interface DispHTMLDOMTextNode DispHTMLDOMTextNode;

#endif 	/* __DispHTMLDOMTextNode_FWD_DEFINED__ */


#ifndef __HTMLDOMTextNode_FWD_DEFINED__
#define __HTMLDOMTextNode_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLDOMTextNode HTMLDOMTextNode;
#else
typedef struct HTMLDOMTextNode HTMLDOMTextNode;
#endif /* __cplusplus */

#endif 	/* __HTMLDOMTextNode_FWD_DEFINED__ */


#ifndef __DispHTMLDOMImplementation_FWD_DEFINED__
#define __DispHTMLDOMImplementation_FWD_DEFINED__
typedef interface DispHTMLDOMImplementation DispHTMLDOMImplementation;

#endif 	/* __DispHTMLDOMImplementation_FWD_DEFINED__ */


#ifndef __HTMLDOMImplementation_FWD_DEFINED__
#define __HTMLDOMImplementation_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLDOMImplementation HTMLDOMImplementation;
#else
typedef struct HTMLDOMImplementation HTMLDOMImplementation;
#endif /* __cplusplus */

#endif 	/* __HTMLDOMImplementation_FWD_DEFINED__ */


#ifndef __IHTMLAttributeCollection_FWD_DEFINED__
#define __IHTMLAttributeCollection_FWD_DEFINED__
typedef interface IHTMLAttributeCollection IHTMLAttributeCollection;

#endif 	/* __IHTMLAttributeCollection_FWD_DEFINED__ */


#ifndef __IHTMLAttributeCollection2_FWD_DEFINED__
#define __IHTMLAttributeCollection2_FWD_DEFINED__
typedef interface IHTMLAttributeCollection2 IHTMLAttributeCollection2;

#endif 	/* __IHTMLAttributeCollection2_FWD_DEFINED__ */


#ifndef __IHTMLAttributeCollection4_FWD_DEFINED__
#define __IHTMLAttributeCollection4_FWD_DEFINED__
typedef interface IHTMLAttributeCollection4 IHTMLAttributeCollection4;

#endif 	/* __IHTMLAttributeCollection4_FWD_DEFINED__ */


#ifndef __IHTMLDOMChildrenCollection_FWD_DEFINED__
#define __IHTMLDOMChildrenCollection_FWD_DEFINED__
typedef interface IHTMLDOMChildrenCollection IHTMLDOMChildrenCollection;

#endif 	/* __IHTMLDOMChildrenCollection_FWD_DEFINED__ */


#ifndef __IHTMLDOMChildrenCollection2_FWD_DEFINED__
#define __IHTMLDOMChildrenCollection2_FWD_DEFINED__
typedef interface IHTMLDOMChildrenCollection2 IHTMLDOMChildrenCollection2;

#endif 	/* __IHTMLDOMChildrenCollection2_FWD_DEFINED__ */


#ifndef __DispHTMLAttributeCollection_FWD_DEFINED__
#define __DispHTMLAttributeCollection_FWD_DEFINED__
typedef interface DispHTMLAttributeCollection DispHTMLAttributeCollection;

#endif 	/* __DispHTMLAttributeCollection_FWD_DEFINED__ */


#ifndef __HTMLAttributeCollection_FWD_DEFINED__
#define __HTMLAttributeCollection_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLAttributeCollection HTMLAttributeCollection;
#else
typedef struct HTMLAttributeCollection HTMLAttributeCollection;
#endif /* __cplusplus */

#endif 	/* __HTMLAttributeCollection_FWD_DEFINED__ */


#ifndef __DispStaticNodeList_FWD_DEFINED__
#define __DispStaticNodeList_FWD_DEFINED__
typedef interface DispStaticNodeList DispStaticNodeList;

#endif 	/* __DispStaticNodeList_FWD_DEFINED__ */


#ifndef __StaticNodeList_FWD_DEFINED__
#define __StaticNodeList_FWD_DEFINED__

#ifdef __cplusplus
typedef class StaticNodeList StaticNodeList;
#else
typedef struct StaticNodeList StaticNodeList;
#endif /* __cplusplus */

#endif 	/* __StaticNodeList_FWD_DEFINED__ */


#ifndef __DispDOMChildrenCollection_FWD_DEFINED__
#define __DispDOMChildrenCollection_FWD_DEFINED__
typedef interface DispDOMChildrenCollection DispDOMChildrenCollection;

#endif 	/* __DispDOMChildrenCollection_FWD_DEFINED__ */


#ifndef __DOMChildrenCollection_FWD_DEFINED__
#define __DOMChildrenCollection_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMChildrenCollection DOMChildrenCollection;
#else
typedef struct DOMChildrenCollection DOMChildrenCollection;
#endif /* __cplusplus */

#endif 	/* __DOMChildrenCollection_FWD_DEFINED__ */


#ifndef __HTMLElementEvents4_FWD_DEFINED__
#define __HTMLElementEvents4_FWD_DEFINED__
typedef interface HTMLElementEvents4 HTMLElementEvents4;

#endif 	/* __HTMLElementEvents4_FWD_DEFINED__ */


#ifndef __HTMLElementEvents3_FWD_DEFINED__
#define __HTMLElementEvents3_FWD_DEFINED__
typedef interface HTMLElementEvents3 HTMLElementEvents3;

#endif 	/* __HTMLElementEvents3_FWD_DEFINED__ */


#ifndef __HTMLElementEvents2_FWD_DEFINED__
#define __HTMLElementEvents2_FWD_DEFINED__
typedef interface HTMLElementEvents2 HTMLElementEvents2;

#endif 	/* __HTMLElementEvents2_FWD_DEFINED__ */


#ifndef __HTMLElementEvents_FWD_DEFINED__
#define __HTMLElementEvents_FWD_DEFINED__
typedef interface HTMLElementEvents HTMLElementEvents;

#endif 	/* __HTMLElementEvents_FWD_DEFINED__ */


#ifndef __IHTMLFiltersCollection_FWD_DEFINED__
#define __IHTMLFiltersCollection_FWD_DEFINED__
typedef interface IHTMLFiltersCollection IHTMLFiltersCollection;

#endif 	/* __IHTMLFiltersCollection_FWD_DEFINED__ */


#ifndef __IRulesAppliedCollection_FWD_DEFINED__
#define __IRulesAppliedCollection_FWD_DEFINED__
typedef interface IRulesAppliedCollection IRulesAppliedCollection;

#endif 	/* __IRulesAppliedCollection_FWD_DEFINED__ */


#ifndef __IHTMLElement3_FWD_DEFINED__
#define __IHTMLElement3_FWD_DEFINED__
typedef interface IHTMLElement3 IHTMLElement3;

#endif 	/* __IHTMLElement3_FWD_DEFINED__ */


#ifndef __IHTMLElement4_FWD_DEFINED__
#define __IHTMLElement4_FWD_DEFINED__
typedef interface IHTMLElement4 IHTMLElement4;

#endif 	/* __IHTMLElement4_FWD_DEFINED__ */


#ifndef __IElementSelector_FWD_DEFINED__
#define __IElementSelector_FWD_DEFINED__
typedef interface IElementSelector IElementSelector;

#endif 	/* __IElementSelector_FWD_DEFINED__ */


#ifndef __IHTMLElementRender_FWD_DEFINED__
#define __IHTMLElementRender_FWD_DEFINED__
typedef interface IHTMLElementRender IHTMLElementRender;

#endif 	/* __IHTMLElementRender_FWD_DEFINED__ */


#ifndef __IHTMLUniqueName_FWD_DEFINED__
#define __IHTMLUniqueName_FWD_DEFINED__
typedef interface IHTMLUniqueName IHTMLUniqueName;

#endif 	/* __IHTMLUniqueName_FWD_DEFINED__ */


#ifndef __IHTMLElement5_FWD_DEFINED__
#define __IHTMLElement5_FWD_DEFINED__
typedef interface IHTMLElement5 IHTMLElement5;

#endif 	/* __IHTMLElement5_FWD_DEFINED__ */


#ifndef __IHTMLElement6_FWD_DEFINED__
#define __IHTMLElement6_FWD_DEFINED__
typedef interface IHTMLElement6 IHTMLElement6;

#endif 	/* __IHTMLElement6_FWD_DEFINED__ */


#ifndef __IHTMLElement7_FWD_DEFINED__
#define __IHTMLElement7_FWD_DEFINED__
typedef interface IHTMLElement7 IHTMLElement7;

#endif 	/* __IHTMLElement7_FWD_DEFINED__ */


#ifndef __IHTMLElementAppliedStyles_FWD_DEFINED__
#define __IHTMLElementAppliedStyles_FWD_DEFINED__
typedef interface IHTMLElementAppliedStyles IHTMLElementAppliedStyles;

#endif 	/* __IHTMLElementAppliedStyles_FWD_DEFINED__ */


#ifndef __IElementTraversal_FWD_DEFINED__
#define __IElementTraversal_FWD_DEFINED__
typedef interface IElementTraversal IElementTraversal;

#endif 	/* __IElementTraversal_FWD_DEFINED__ */


#ifndef __IHTMLDatabinding_FWD_DEFINED__
#define __IHTMLDatabinding_FWD_DEFINED__
typedef interface IHTMLDatabinding IHTMLDatabinding;

#endif 	/* __IHTMLDatabinding_FWD_DEFINED__ */


#ifndef __IHTMLDocument_FWD_DEFINED__
#define __IHTMLDocument_FWD_DEFINED__
typedef interface IHTMLDocument IHTMLDocument;

#endif 	/* __IHTMLDocument_FWD_DEFINED__ */


#ifndef __IHTMLElementDefaults_FWD_DEFINED__
#define __IHTMLElementDefaults_FWD_DEFINED__
typedef interface IHTMLElementDefaults IHTMLElementDefaults;

#endif 	/* __IHTMLElementDefaults_FWD_DEFINED__ */


#ifndef __DispHTMLDefaults_FWD_DEFINED__
#define __DispHTMLDefaults_FWD_DEFINED__
typedef interface DispHTMLDefaults DispHTMLDefaults;

#endif 	/* __DispHTMLDefaults_FWD_DEFINED__ */


#ifndef __HTMLDefaults_FWD_DEFINED__
#define __HTMLDefaults_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLDefaults HTMLDefaults;
#else
typedef struct HTMLDefaults HTMLDefaults;
#endif /* __cplusplus */

#endif 	/* __HTMLDefaults_FWD_DEFINED__ */


#ifndef __IHTCDefaultDispatch_FWD_DEFINED__
#define __IHTCDefaultDispatch_FWD_DEFINED__
typedef interface IHTCDefaultDispatch IHTCDefaultDispatch;

#endif 	/* __IHTCDefaultDispatch_FWD_DEFINED__ */


#ifndef __IHTCPropertyBehavior_FWD_DEFINED__
#define __IHTCPropertyBehavior_FWD_DEFINED__
typedef interface IHTCPropertyBehavior IHTCPropertyBehavior;

#endif 	/* __IHTCPropertyBehavior_FWD_DEFINED__ */


#ifndef __IHTCMethodBehavior_FWD_DEFINED__
#define __IHTCMethodBehavior_FWD_DEFINED__
typedef interface IHTCMethodBehavior IHTCMethodBehavior;

#endif 	/* __IHTCMethodBehavior_FWD_DEFINED__ */


#ifndef __IHTCEventBehavior_FWD_DEFINED__
#define __IHTCEventBehavior_FWD_DEFINED__
typedef interface IHTCEventBehavior IHTCEventBehavior;

#endif 	/* __IHTCEventBehavior_FWD_DEFINED__ */


#ifndef __IHTCAttachBehavior_FWD_DEFINED__
#define __IHTCAttachBehavior_FWD_DEFINED__
typedef interface IHTCAttachBehavior IHTCAttachBehavior;

#endif 	/* __IHTCAttachBehavior_FWD_DEFINED__ */


#ifndef __IHTCAttachBehavior2_FWD_DEFINED__
#define __IHTCAttachBehavior2_FWD_DEFINED__
typedef interface IHTCAttachBehavior2 IHTCAttachBehavior2;

#endif 	/* __IHTCAttachBehavior2_FWD_DEFINED__ */


#ifndef __IHTCDescBehavior_FWD_DEFINED__
#define __IHTCDescBehavior_FWD_DEFINED__
typedef interface IHTCDescBehavior IHTCDescBehavior;

#endif 	/* __IHTCDescBehavior_FWD_DEFINED__ */


#ifndef __DispHTCDefaultDispatch_FWD_DEFINED__
#define __DispHTCDefaultDispatch_FWD_DEFINED__
typedef interface DispHTCDefaultDispatch DispHTCDefaultDispatch;

#endif 	/* __DispHTCDefaultDispatch_FWD_DEFINED__ */


#ifndef __HTCDefaultDispatch_FWD_DEFINED__
#define __HTCDefaultDispatch_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTCDefaultDispatch HTCDefaultDispatch;
#else
typedef struct HTCDefaultDispatch HTCDefaultDispatch;
#endif /* __cplusplus */

#endif 	/* __HTCDefaultDispatch_FWD_DEFINED__ */


#ifndef __DispHTCPropertyBehavior_FWD_DEFINED__
#define __DispHTCPropertyBehavior_FWD_DEFINED__
typedef interface DispHTCPropertyBehavior DispHTCPropertyBehavior;

#endif 	/* __DispHTCPropertyBehavior_FWD_DEFINED__ */


#ifndef __HTCPropertyBehavior_FWD_DEFINED__
#define __HTCPropertyBehavior_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTCPropertyBehavior HTCPropertyBehavior;
#else
typedef struct HTCPropertyBehavior HTCPropertyBehavior;
#endif /* __cplusplus */

#endif 	/* __HTCPropertyBehavior_FWD_DEFINED__ */


#ifndef __DispHTCMethodBehavior_FWD_DEFINED__
#define __DispHTCMethodBehavior_FWD_DEFINED__
typedef interface DispHTCMethodBehavior DispHTCMethodBehavior;

#endif 	/* __DispHTCMethodBehavior_FWD_DEFINED__ */


#ifndef __HTCMethodBehavior_FWD_DEFINED__
#define __HTCMethodBehavior_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTCMethodBehavior HTCMethodBehavior;
#else
typedef struct HTCMethodBehavior HTCMethodBehavior;
#endif /* __cplusplus */

#endif 	/* __HTCMethodBehavior_FWD_DEFINED__ */


#ifndef __DispHTCEventBehavior_FWD_DEFINED__
#define __DispHTCEventBehavior_FWD_DEFINED__
typedef interface DispHTCEventBehavior DispHTCEventBehavior;

#endif 	/* __DispHTCEventBehavior_FWD_DEFINED__ */


#ifndef __HTCEventBehavior_FWD_DEFINED__
#define __HTCEventBehavior_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTCEventBehavior HTCEventBehavior;
#else
typedef struct HTCEventBehavior HTCEventBehavior;
#endif /* __cplusplus */

#endif 	/* __HTCEventBehavior_FWD_DEFINED__ */


#ifndef __DispHTCAttachBehavior_FWD_DEFINED__
#define __DispHTCAttachBehavior_FWD_DEFINED__
typedef interface DispHTCAttachBehavior DispHTCAttachBehavior;

#endif 	/* __DispHTCAttachBehavior_FWD_DEFINED__ */


#ifndef __HTCAttachBehavior_FWD_DEFINED__
#define __HTCAttachBehavior_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTCAttachBehavior HTCAttachBehavior;
#else
typedef struct HTCAttachBehavior HTCAttachBehavior;
#endif /* __cplusplus */

#endif 	/* __HTCAttachBehavior_FWD_DEFINED__ */


#ifndef __DispHTCDescBehavior_FWD_DEFINED__
#define __DispHTCDescBehavior_FWD_DEFINED__
typedef interface DispHTCDescBehavior DispHTCDescBehavior;

#endif 	/* __DispHTCDescBehavior_FWD_DEFINED__ */


#ifndef __HTCDescBehavior_FWD_DEFINED__
#define __HTCDescBehavior_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTCDescBehavior HTCDescBehavior;
#else
typedef struct HTCDescBehavior HTCDescBehavior;
#endif /* __cplusplus */

#endif 	/* __HTCDescBehavior_FWD_DEFINED__ */


#ifndef __IHTMLUrnCollection_FWD_DEFINED__
#define __IHTMLUrnCollection_FWD_DEFINED__
typedef interface IHTMLUrnCollection IHTMLUrnCollection;

#endif 	/* __IHTMLUrnCollection_FWD_DEFINED__ */


#ifndef __DispHTMLUrnCollection_FWD_DEFINED__
#define __DispHTMLUrnCollection_FWD_DEFINED__
typedef interface DispHTMLUrnCollection DispHTMLUrnCollection;

#endif 	/* __DispHTMLUrnCollection_FWD_DEFINED__ */


#ifndef __HTMLUrnCollection_FWD_DEFINED__
#define __HTMLUrnCollection_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLUrnCollection HTMLUrnCollection;
#else
typedef struct HTMLUrnCollection HTMLUrnCollection;
#endif /* __cplusplus */

#endif 	/* __HTMLUrnCollection_FWD_DEFINED__ */


#ifndef __IHTMLGenericElement_FWD_DEFINED__
#define __IHTMLGenericElement_FWD_DEFINED__
typedef interface IHTMLGenericElement IHTMLGenericElement;

#endif 	/* __IHTMLGenericElement_FWD_DEFINED__ */


#ifndef __DispHTMLGenericElement_FWD_DEFINED__
#define __DispHTMLGenericElement_FWD_DEFINED__
typedef interface DispHTMLGenericElement DispHTMLGenericElement;

#endif 	/* __DispHTMLGenericElement_FWD_DEFINED__ */


#ifndef __HTMLGenericElement_FWD_DEFINED__
#define __HTMLGenericElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLGenericElement HTMLGenericElement;
#else
typedef struct HTMLGenericElement HTMLGenericElement;
#endif /* __cplusplus */

#endif 	/* __HTMLGenericElement_FWD_DEFINED__ */


#ifndef __IHTMLStyleSheetRuleApplied_FWD_DEFINED__
#define __IHTMLStyleSheetRuleApplied_FWD_DEFINED__
typedef interface IHTMLStyleSheetRuleApplied IHTMLStyleSheetRuleApplied;

#endif 	/* __IHTMLStyleSheetRuleApplied_FWD_DEFINED__ */


#ifndef __IHTMLStyleSheetRule2_FWD_DEFINED__
#define __IHTMLStyleSheetRule2_FWD_DEFINED__
typedef interface IHTMLStyleSheetRule2 IHTMLStyleSheetRule2;

#endif 	/* __IHTMLStyleSheetRule2_FWD_DEFINED__ */


#ifndef __IHTMLStyleSheetRulesCollection2_FWD_DEFINED__
#define __IHTMLStyleSheetRulesCollection2_FWD_DEFINED__
typedef interface IHTMLStyleSheetRulesCollection2 IHTMLStyleSheetRulesCollection2;

#endif 	/* __IHTMLStyleSheetRulesCollection2_FWD_DEFINED__ */


#ifndef __DispHTMLStyleSheetRule_FWD_DEFINED__
#define __DispHTMLStyleSheetRule_FWD_DEFINED__
typedef interface DispHTMLStyleSheetRule DispHTMLStyleSheetRule;

#endif 	/* __DispHTMLStyleSheetRule_FWD_DEFINED__ */


#ifndef __HTMLStyleSheetRule_FWD_DEFINED__
#define __HTMLStyleSheetRule_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLStyleSheetRule HTMLStyleSheetRule;
#else
typedef struct HTMLStyleSheetRule HTMLStyleSheetRule;
#endif /* __cplusplus */

#endif 	/* __HTMLStyleSheetRule_FWD_DEFINED__ */


#ifndef __DispHTMLStyleSheetRulesCollection_FWD_DEFINED__
#define __DispHTMLStyleSheetRulesCollection_FWD_DEFINED__
typedef interface DispHTMLStyleSheetRulesCollection DispHTMLStyleSheetRulesCollection;

#endif 	/* __DispHTMLStyleSheetRulesCollection_FWD_DEFINED__ */


#ifndef __HTMLStyleSheetRulesCollection_FWD_DEFINED__
#define __HTMLStyleSheetRulesCollection_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLStyleSheetRulesCollection HTMLStyleSheetRulesCollection;
#else
typedef struct HTMLStyleSheetRulesCollection HTMLStyleSheetRulesCollection;
#endif /* __cplusplus */

#endif 	/* __HTMLStyleSheetRulesCollection_FWD_DEFINED__ */


#ifndef __IHTMLStyleSheetPage_FWD_DEFINED__
#define __IHTMLStyleSheetPage_FWD_DEFINED__
typedef interface IHTMLStyleSheetPage IHTMLStyleSheetPage;

#endif 	/* __IHTMLStyleSheetPage_FWD_DEFINED__ */


#ifndef __IHTMLStyleSheetPage2_FWD_DEFINED__
#define __IHTMLStyleSheetPage2_FWD_DEFINED__
typedef interface IHTMLStyleSheetPage2 IHTMLStyleSheetPage2;

#endif 	/* __IHTMLStyleSheetPage2_FWD_DEFINED__ */


#ifndef __IHTMLStyleSheetPagesCollection_FWD_DEFINED__
#define __IHTMLStyleSheetPagesCollection_FWD_DEFINED__
typedef interface IHTMLStyleSheetPagesCollection IHTMLStyleSheetPagesCollection;

#endif 	/* __IHTMLStyleSheetPagesCollection_FWD_DEFINED__ */


#ifndef __DispHTMLStyleSheetPage_FWD_DEFINED__
#define __DispHTMLStyleSheetPage_FWD_DEFINED__
typedef interface DispHTMLStyleSheetPage DispHTMLStyleSheetPage;

#endif 	/* __DispHTMLStyleSheetPage_FWD_DEFINED__ */


#ifndef __HTMLStyleSheetPage_FWD_DEFINED__
#define __HTMLStyleSheetPage_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLStyleSheetPage HTMLStyleSheetPage;
#else
typedef struct HTMLStyleSheetPage HTMLStyleSheetPage;
#endif /* __cplusplus */

#endif 	/* __HTMLStyleSheetPage_FWD_DEFINED__ */


#ifndef __DispHTMLStyleSheetPagesCollection_FWD_DEFINED__
#define __DispHTMLStyleSheetPagesCollection_FWD_DEFINED__
typedef interface DispHTMLStyleSheetPagesCollection DispHTMLStyleSheetPagesCollection;

#endif 	/* __DispHTMLStyleSheetPagesCollection_FWD_DEFINED__ */


#ifndef __HTMLStyleSheetPagesCollection_FWD_DEFINED__
#define __HTMLStyleSheetPagesCollection_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLStyleSheetPagesCollection HTMLStyleSheetPagesCollection;
#else
typedef struct HTMLStyleSheetPagesCollection HTMLStyleSheetPagesCollection;
#endif /* __cplusplus */

#endif 	/* __HTMLStyleSheetPagesCollection_FWD_DEFINED__ */


#ifndef __IHTMLStyleSheetsCollection_FWD_DEFINED__
#define __IHTMLStyleSheetsCollection_FWD_DEFINED__
typedef interface IHTMLStyleSheetsCollection IHTMLStyleSheetsCollection;

#endif 	/* __IHTMLStyleSheetsCollection_FWD_DEFINED__ */


#ifndef __IHTMLStyleSheet2_FWD_DEFINED__
#define __IHTMLStyleSheet2_FWD_DEFINED__
typedef interface IHTMLStyleSheet2 IHTMLStyleSheet2;

#endif 	/* __IHTMLStyleSheet2_FWD_DEFINED__ */


#ifndef __IHTMLStyleSheet3_FWD_DEFINED__
#define __IHTMLStyleSheet3_FWD_DEFINED__
typedef interface IHTMLStyleSheet3 IHTMLStyleSheet3;

#endif 	/* __IHTMLStyleSheet3_FWD_DEFINED__ */


#ifndef __IHTMLStyleSheet4_FWD_DEFINED__
#define __IHTMLStyleSheet4_FWD_DEFINED__
typedef interface IHTMLStyleSheet4 IHTMLStyleSheet4;

#endif 	/* __IHTMLStyleSheet4_FWD_DEFINED__ */


#ifndef __DispHTMLStyleSheet_FWD_DEFINED__
#define __DispHTMLStyleSheet_FWD_DEFINED__
typedef interface DispHTMLStyleSheet DispHTMLStyleSheet;

#endif 	/* __DispHTMLStyleSheet_FWD_DEFINED__ */


#ifndef __HTMLStyleSheet_FWD_DEFINED__
#define __HTMLStyleSheet_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLStyleSheet HTMLStyleSheet;
#else
typedef struct HTMLStyleSheet HTMLStyleSheet;
#endif /* __cplusplus */

#endif 	/* __HTMLStyleSheet_FWD_DEFINED__ */


#ifndef __IHTMLStyleSheetsCollection2_FWD_DEFINED__
#define __IHTMLStyleSheetsCollection2_FWD_DEFINED__
typedef interface IHTMLStyleSheetsCollection2 IHTMLStyleSheetsCollection2;

#endif 	/* __IHTMLStyleSheetsCollection2_FWD_DEFINED__ */


#ifndef __DispHTMLStyleSheetsCollection_FWD_DEFINED__
#define __DispHTMLStyleSheetsCollection_FWD_DEFINED__
typedef interface DispHTMLStyleSheetsCollection DispHTMLStyleSheetsCollection;

#endif 	/* __DispHTMLStyleSheetsCollection_FWD_DEFINED__ */


#ifndef __HTMLStyleSheetsCollection_FWD_DEFINED__
#define __HTMLStyleSheetsCollection_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLStyleSheetsCollection HTMLStyleSheetsCollection;
#else
typedef struct HTMLStyleSheetsCollection HTMLStyleSheetsCollection;
#endif /* __cplusplus */

#endif 	/* __HTMLStyleSheetsCollection_FWD_DEFINED__ */


#ifndef __HTMLLinkElementEvents2_FWD_DEFINED__
#define __HTMLLinkElementEvents2_FWD_DEFINED__
typedef interface HTMLLinkElementEvents2 HTMLLinkElementEvents2;

#endif 	/* __HTMLLinkElementEvents2_FWD_DEFINED__ */


#ifndef __HTMLLinkElementEvents_FWD_DEFINED__
#define __HTMLLinkElementEvents_FWD_DEFINED__
typedef interface HTMLLinkElementEvents HTMLLinkElementEvents;

#endif 	/* __HTMLLinkElementEvents_FWD_DEFINED__ */


#ifndef __IHTMLLinkElement_FWD_DEFINED__
#define __IHTMLLinkElement_FWD_DEFINED__
typedef interface IHTMLLinkElement IHTMLLinkElement;

#endif 	/* __IHTMLLinkElement_FWD_DEFINED__ */


#ifndef __IHTMLLinkElement2_FWD_DEFINED__
#define __IHTMLLinkElement2_FWD_DEFINED__
typedef interface IHTMLLinkElement2 IHTMLLinkElement2;

#endif 	/* __IHTMLLinkElement2_FWD_DEFINED__ */


#ifndef __IHTMLLinkElement3_FWD_DEFINED__
#define __IHTMLLinkElement3_FWD_DEFINED__
typedef interface IHTMLLinkElement3 IHTMLLinkElement3;

#endif 	/* __IHTMLLinkElement3_FWD_DEFINED__ */


#ifndef __IHTMLLinkElement4_FWD_DEFINED__
#define __IHTMLLinkElement4_FWD_DEFINED__
typedef interface IHTMLLinkElement4 IHTMLLinkElement4;

#endif 	/* __IHTMLLinkElement4_FWD_DEFINED__ */


#ifndef __IHTMLLinkElement5_FWD_DEFINED__
#define __IHTMLLinkElement5_FWD_DEFINED__
typedef interface IHTMLLinkElement5 IHTMLLinkElement5;

#endif 	/* __IHTMLLinkElement5_FWD_DEFINED__ */


#ifndef __DispHTMLLinkElement_FWD_DEFINED__
#define __DispHTMLLinkElement_FWD_DEFINED__
typedef interface DispHTMLLinkElement DispHTMLLinkElement;

#endif 	/* __DispHTMLLinkElement_FWD_DEFINED__ */


#ifndef __HTMLLinkElement_FWD_DEFINED__
#define __HTMLLinkElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLLinkElement HTMLLinkElement;
#else
typedef struct HTMLLinkElement HTMLLinkElement;
#endif /* __cplusplus */

#endif 	/* __HTMLLinkElement_FWD_DEFINED__ */


#ifndef __IHTMLTxtRange_FWD_DEFINED__
#define __IHTMLTxtRange_FWD_DEFINED__
typedef interface IHTMLTxtRange IHTMLTxtRange;

#endif 	/* __IHTMLTxtRange_FWD_DEFINED__ */


#ifndef __IHTMLTextRangeMetrics_FWD_DEFINED__
#define __IHTMLTextRangeMetrics_FWD_DEFINED__
typedef interface IHTMLTextRangeMetrics IHTMLTextRangeMetrics;

#endif 	/* __IHTMLTextRangeMetrics_FWD_DEFINED__ */


#ifndef __IHTMLTextRangeMetrics2_FWD_DEFINED__
#define __IHTMLTextRangeMetrics2_FWD_DEFINED__
typedef interface IHTMLTextRangeMetrics2 IHTMLTextRangeMetrics2;

#endif 	/* __IHTMLTextRangeMetrics2_FWD_DEFINED__ */


#ifndef __IHTMLTxtRangeCollection_FWD_DEFINED__
#define __IHTMLTxtRangeCollection_FWD_DEFINED__
typedef interface IHTMLTxtRangeCollection IHTMLTxtRangeCollection;

#endif 	/* __IHTMLTxtRangeCollection_FWD_DEFINED__ */


#ifndef __IHTMLDOMRange_FWD_DEFINED__
#define __IHTMLDOMRange_FWD_DEFINED__
typedef interface IHTMLDOMRange IHTMLDOMRange;

#endif 	/* __IHTMLDOMRange_FWD_DEFINED__ */


#ifndef __DispHTMLDOMRange_FWD_DEFINED__
#define __DispHTMLDOMRange_FWD_DEFINED__
typedef interface DispHTMLDOMRange DispHTMLDOMRange;

#endif 	/* __DispHTMLDOMRange_FWD_DEFINED__ */


#ifndef __HTMLDOMRange_FWD_DEFINED__
#define __HTMLDOMRange_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLDOMRange HTMLDOMRange;
#else
typedef struct HTMLDOMRange HTMLDOMRange;
#endif /* __cplusplus */

#endif 	/* __HTMLDOMRange_FWD_DEFINED__ */


#ifndef __HTMLFormElementEvents2_FWD_DEFINED__
#define __HTMLFormElementEvents2_FWD_DEFINED__
typedef interface HTMLFormElementEvents2 HTMLFormElementEvents2;

#endif 	/* __HTMLFormElementEvents2_FWD_DEFINED__ */


#ifndef __HTMLFormElementEvents_FWD_DEFINED__
#define __HTMLFormElementEvents_FWD_DEFINED__
typedef interface HTMLFormElementEvents HTMLFormElementEvents;

#endif 	/* __HTMLFormElementEvents_FWD_DEFINED__ */


#ifndef __IHTMLFormElement_FWD_DEFINED__
#define __IHTMLFormElement_FWD_DEFINED__
typedef interface IHTMLFormElement IHTMLFormElement;

#endif 	/* __IHTMLFormElement_FWD_DEFINED__ */


#ifndef __IHTMLFormElement2_FWD_DEFINED__
#define __IHTMLFormElement2_FWD_DEFINED__
typedef interface IHTMLFormElement2 IHTMLFormElement2;

#endif 	/* __IHTMLFormElement2_FWD_DEFINED__ */


#ifndef __IHTMLFormElement3_FWD_DEFINED__
#define __IHTMLFormElement3_FWD_DEFINED__
typedef interface IHTMLFormElement3 IHTMLFormElement3;

#endif 	/* __IHTMLFormElement3_FWD_DEFINED__ */


#ifndef __IHTMLSubmitData_FWD_DEFINED__
#define __IHTMLSubmitData_FWD_DEFINED__
typedef interface IHTMLSubmitData IHTMLSubmitData;

#endif 	/* __IHTMLSubmitData_FWD_DEFINED__ */


#ifndef __IHTMLFormElement4_FWD_DEFINED__
#define __IHTMLFormElement4_FWD_DEFINED__
typedef interface IHTMLFormElement4 IHTMLFormElement4;

#endif 	/* __IHTMLFormElement4_FWD_DEFINED__ */


#ifndef __DispHTMLFormElement_FWD_DEFINED__
#define __DispHTMLFormElement_FWD_DEFINED__
typedef interface DispHTMLFormElement DispHTMLFormElement;

#endif 	/* __DispHTMLFormElement_FWD_DEFINED__ */


#ifndef __HTMLFormElement_FWD_DEFINED__
#define __HTMLFormElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLFormElement HTMLFormElement;
#else
typedef struct HTMLFormElement HTMLFormElement;
#endif /* __cplusplus */

#endif 	/* __HTMLFormElement_FWD_DEFINED__ */


#ifndef __HTMLControlElementEvents2_FWD_DEFINED__
#define __HTMLControlElementEvents2_FWD_DEFINED__
typedef interface HTMLControlElementEvents2 HTMLControlElementEvents2;

#endif 	/* __HTMLControlElementEvents2_FWD_DEFINED__ */


#ifndef __HTMLControlElementEvents_FWD_DEFINED__
#define __HTMLControlElementEvents_FWD_DEFINED__
typedef interface HTMLControlElementEvents HTMLControlElementEvents;

#endif 	/* __HTMLControlElementEvents_FWD_DEFINED__ */


#ifndef __IHTMLControlElement_FWD_DEFINED__
#define __IHTMLControlElement_FWD_DEFINED__
typedef interface IHTMLControlElement IHTMLControlElement;

#endif 	/* __IHTMLControlElement_FWD_DEFINED__ */


#ifndef __IHTMLTextElement_FWD_DEFINED__
#define __IHTMLTextElement_FWD_DEFINED__
typedef interface IHTMLTextElement IHTMLTextElement;

#endif 	/* __IHTMLTextElement_FWD_DEFINED__ */


#ifndef __DispHTMLTextElement_FWD_DEFINED__
#define __DispHTMLTextElement_FWD_DEFINED__
typedef interface DispHTMLTextElement DispHTMLTextElement;

#endif 	/* __DispHTMLTextElement_FWD_DEFINED__ */


#ifndef __HTMLTextElement_FWD_DEFINED__
#define __HTMLTextElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLTextElement HTMLTextElement;
#else
typedef struct HTMLTextElement HTMLTextElement;
#endif /* __cplusplus */

#endif 	/* __HTMLTextElement_FWD_DEFINED__ */


#ifndef __HTMLTextContainerEvents2_FWD_DEFINED__
#define __HTMLTextContainerEvents2_FWD_DEFINED__
typedef interface HTMLTextContainerEvents2 HTMLTextContainerEvents2;

#endif 	/* __HTMLTextContainerEvents2_FWD_DEFINED__ */


#ifndef __HTMLTextContainerEvents_FWD_DEFINED__
#define __HTMLTextContainerEvents_FWD_DEFINED__
typedef interface HTMLTextContainerEvents HTMLTextContainerEvents;

#endif 	/* __HTMLTextContainerEvents_FWD_DEFINED__ */


#ifndef __IHTMLTextContainer_FWD_DEFINED__
#define __IHTMLTextContainer_FWD_DEFINED__
typedef interface IHTMLTextContainer IHTMLTextContainer;

#endif 	/* __IHTMLTextContainer_FWD_DEFINED__ */


#ifndef __IHTMLControlRange_FWD_DEFINED__
#define __IHTMLControlRange_FWD_DEFINED__
typedef interface IHTMLControlRange IHTMLControlRange;

#endif 	/* __IHTMLControlRange_FWD_DEFINED__ */


#ifndef __IHTMLControlRange2_FWD_DEFINED__
#define __IHTMLControlRange2_FWD_DEFINED__
typedef interface IHTMLControlRange2 IHTMLControlRange2;

#endif 	/* __IHTMLControlRange2_FWD_DEFINED__ */


#ifndef __HTMLImgEvents2_FWD_DEFINED__
#define __HTMLImgEvents2_FWD_DEFINED__
typedef interface HTMLImgEvents2 HTMLImgEvents2;

#endif 	/* __HTMLImgEvents2_FWD_DEFINED__ */


#ifndef __HTMLImgEvents_FWD_DEFINED__
#define __HTMLImgEvents_FWD_DEFINED__
typedef interface HTMLImgEvents HTMLImgEvents;

#endif 	/* __HTMLImgEvents_FWD_DEFINED__ */


#ifndef __IHTMLImgElement_FWD_DEFINED__
#define __IHTMLImgElement_FWD_DEFINED__
typedef interface IHTMLImgElement IHTMLImgElement;

#endif 	/* __IHTMLImgElement_FWD_DEFINED__ */


#ifndef __IHTMLImgElement2_FWD_DEFINED__
#define __IHTMLImgElement2_FWD_DEFINED__
typedef interface IHTMLImgElement2 IHTMLImgElement2;

#endif 	/* __IHTMLImgElement2_FWD_DEFINED__ */


#ifndef __IHTMLImgElement3_FWD_DEFINED__
#define __IHTMLImgElement3_FWD_DEFINED__
typedef interface IHTMLImgElement3 IHTMLImgElement3;

#endif 	/* __IHTMLImgElement3_FWD_DEFINED__ */


#ifndef __IHTMLImgElement4_FWD_DEFINED__
#define __IHTMLImgElement4_FWD_DEFINED__
typedef interface IHTMLImgElement4 IHTMLImgElement4;

#endif 	/* __IHTMLImgElement4_FWD_DEFINED__ */


#ifndef __IHTMLMSImgElement_FWD_DEFINED__
#define __IHTMLMSImgElement_FWD_DEFINED__
typedef interface IHTMLMSImgElement IHTMLMSImgElement;

#endif 	/* __IHTMLMSImgElement_FWD_DEFINED__ */


#ifndef __IHTMLImageElementFactory_FWD_DEFINED__
#define __IHTMLImageElementFactory_FWD_DEFINED__
typedef interface IHTMLImageElementFactory IHTMLImageElementFactory;

#endif 	/* __IHTMLImageElementFactory_FWD_DEFINED__ */


#ifndef __DispHTMLImg_FWD_DEFINED__
#define __DispHTMLImg_FWD_DEFINED__
typedef interface DispHTMLImg DispHTMLImg;

#endif 	/* __DispHTMLImg_FWD_DEFINED__ */


#ifndef __HTMLImg_FWD_DEFINED__
#define __HTMLImg_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLImg HTMLImg;
#else
typedef struct HTMLImg HTMLImg;
#endif /* __cplusplus */

#endif 	/* __HTMLImg_FWD_DEFINED__ */


#ifndef __HTMLImageElementFactory_FWD_DEFINED__
#define __HTMLImageElementFactory_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLImageElementFactory HTMLImageElementFactory;
#else
typedef struct HTMLImageElementFactory HTMLImageElementFactory;
#endif /* __cplusplus */

#endif 	/* __HTMLImageElementFactory_FWD_DEFINED__ */


#ifndef __IHTMLBodyElement_FWD_DEFINED__
#define __IHTMLBodyElement_FWD_DEFINED__
typedef interface IHTMLBodyElement IHTMLBodyElement;

#endif 	/* __IHTMLBodyElement_FWD_DEFINED__ */


#ifndef __IHTMLBodyElement2_FWD_DEFINED__
#define __IHTMLBodyElement2_FWD_DEFINED__
typedef interface IHTMLBodyElement2 IHTMLBodyElement2;

#endif 	/* __IHTMLBodyElement2_FWD_DEFINED__ */


#ifndef __IHTMLBodyElement3_FWD_DEFINED__
#define __IHTMLBodyElement3_FWD_DEFINED__
typedef interface IHTMLBodyElement3 IHTMLBodyElement3;

#endif 	/* __IHTMLBodyElement3_FWD_DEFINED__ */


#ifndef __IHTMLBodyElement4_FWD_DEFINED__
#define __IHTMLBodyElement4_FWD_DEFINED__
typedef interface IHTMLBodyElement4 IHTMLBodyElement4;

#endif 	/* __IHTMLBodyElement4_FWD_DEFINED__ */


#ifndef __IHTMLBodyElement5_FWD_DEFINED__
#define __IHTMLBodyElement5_FWD_DEFINED__
typedef interface IHTMLBodyElement5 IHTMLBodyElement5;

#endif 	/* __IHTMLBodyElement5_FWD_DEFINED__ */


#ifndef __DispHTMLBody_FWD_DEFINED__
#define __DispHTMLBody_FWD_DEFINED__
typedef interface DispHTMLBody DispHTMLBody;

#endif 	/* __DispHTMLBody_FWD_DEFINED__ */


#ifndef __HTMLBody_FWD_DEFINED__
#define __HTMLBody_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLBody HTMLBody;
#else
typedef struct HTMLBody HTMLBody;
#endif /* __cplusplus */

#endif 	/* __HTMLBody_FWD_DEFINED__ */


#ifndef __IHTMLFontElement_FWD_DEFINED__
#define __IHTMLFontElement_FWD_DEFINED__
typedef interface IHTMLFontElement IHTMLFontElement;

#endif 	/* __IHTMLFontElement_FWD_DEFINED__ */


#ifndef __DispHTMLFontElement_FWD_DEFINED__
#define __DispHTMLFontElement_FWD_DEFINED__
typedef interface DispHTMLFontElement DispHTMLFontElement;

#endif 	/* __DispHTMLFontElement_FWD_DEFINED__ */


#ifndef __HTMLFontElement_FWD_DEFINED__
#define __HTMLFontElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLFontElement HTMLFontElement;
#else
typedef struct HTMLFontElement HTMLFontElement;
#endif /* __cplusplus */

#endif 	/* __HTMLFontElement_FWD_DEFINED__ */


#ifndef __HTMLAnchorEvents2_FWD_DEFINED__
#define __HTMLAnchorEvents2_FWD_DEFINED__
typedef interface HTMLAnchorEvents2 HTMLAnchorEvents2;

#endif 	/* __HTMLAnchorEvents2_FWD_DEFINED__ */


#ifndef __HTMLAnchorEvents_FWD_DEFINED__
#define __HTMLAnchorEvents_FWD_DEFINED__
typedef interface HTMLAnchorEvents HTMLAnchorEvents;

#endif 	/* __HTMLAnchorEvents_FWD_DEFINED__ */


#ifndef __IHTMLAnchorElement_FWD_DEFINED__
#define __IHTMLAnchorElement_FWD_DEFINED__
typedef interface IHTMLAnchorElement IHTMLAnchorElement;

#endif 	/* __IHTMLAnchorElement_FWD_DEFINED__ */


#ifndef __IHTMLAnchorElement2_FWD_DEFINED__
#define __IHTMLAnchorElement2_FWD_DEFINED__
typedef interface IHTMLAnchorElement2 IHTMLAnchorElement2;

#endif 	/* __IHTMLAnchorElement2_FWD_DEFINED__ */


#ifndef __IHTMLAnchorElement3_FWD_DEFINED__
#define __IHTMLAnchorElement3_FWD_DEFINED__
typedef interface IHTMLAnchorElement3 IHTMLAnchorElement3;

#endif 	/* __IHTMLAnchorElement3_FWD_DEFINED__ */


#ifndef __DispHTMLAnchorElement_FWD_DEFINED__
#define __DispHTMLAnchorElement_FWD_DEFINED__
typedef interface DispHTMLAnchorElement DispHTMLAnchorElement;

#endif 	/* __DispHTMLAnchorElement_FWD_DEFINED__ */


#ifndef __HTMLAnchorElement_FWD_DEFINED__
#define __HTMLAnchorElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLAnchorElement HTMLAnchorElement;
#else
typedef struct HTMLAnchorElement HTMLAnchorElement;
#endif /* __cplusplus */

#endif 	/* __HTMLAnchorElement_FWD_DEFINED__ */


#ifndef __HTMLLabelEvents2_FWD_DEFINED__
#define __HTMLLabelEvents2_FWD_DEFINED__
typedef interface HTMLLabelEvents2 HTMLLabelEvents2;

#endif 	/* __HTMLLabelEvents2_FWD_DEFINED__ */


#ifndef __HTMLLabelEvents_FWD_DEFINED__
#define __HTMLLabelEvents_FWD_DEFINED__
typedef interface HTMLLabelEvents HTMLLabelEvents;

#endif 	/* __HTMLLabelEvents_FWD_DEFINED__ */


#ifndef __IHTMLLabelElement_FWD_DEFINED__
#define __IHTMLLabelElement_FWD_DEFINED__
typedef interface IHTMLLabelElement IHTMLLabelElement;

#endif 	/* __IHTMLLabelElement_FWD_DEFINED__ */


#ifndef __IHTMLLabelElement2_FWD_DEFINED__
#define __IHTMLLabelElement2_FWD_DEFINED__
typedef interface IHTMLLabelElement2 IHTMLLabelElement2;

#endif 	/* __IHTMLLabelElement2_FWD_DEFINED__ */


#ifndef __DispHTMLLabelElement_FWD_DEFINED__
#define __DispHTMLLabelElement_FWD_DEFINED__
typedef interface DispHTMLLabelElement DispHTMLLabelElement;

#endif 	/* __DispHTMLLabelElement_FWD_DEFINED__ */


#ifndef __HTMLLabelElement_FWD_DEFINED__
#define __HTMLLabelElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLLabelElement HTMLLabelElement;
#else
typedef struct HTMLLabelElement HTMLLabelElement;
#endif /* __cplusplus */

#endif 	/* __HTMLLabelElement_FWD_DEFINED__ */


#ifndef __IHTMLListElement_FWD_DEFINED__
#define __IHTMLListElement_FWD_DEFINED__
typedef interface IHTMLListElement IHTMLListElement;

#endif 	/* __IHTMLListElement_FWD_DEFINED__ */


#ifndef __IHTMLListElement2_FWD_DEFINED__
#define __IHTMLListElement2_FWD_DEFINED__
typedef interface IHTMLListElement2 IHTMLListElement2;

#endif 	/* __IHTMLListElement2_FWD_DEFINED__ */


#ifndef __DispHTMLListElement_FWD_DEFINED__
#define __DispHTMLListElement_FWD_DEFINED__
typedef interface DispHTMLListElement DispHTMLListElement;

#endif 	/* __DispHTMLListElement_FWD_DEFINED__ */


#ifndef __HTMLListElement_FWD_DEFINED__
#define __HTMLListElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLListElement HTMLListElement;
#else
typedef struct HTMLListElement HTMLListElement;
#endif /* __cplusplus */

#endif 	/* __HTMLListElement_FWD_DEFINED__ */


#ifndef __IHTMLUListElement_FWD_DEFINED__
#define __IHTMLUListElement_FWD_DEFINED__
typedef interface IHTMLUListElement IHTMLUListElement;

#endif 	/* __IHTMLUListElement_FWD_DEFINED__ */


#ifndef __DispHTMLUListElement_FWD_DEFINED__
#define __DispHTMLUListElement_FWD_DEFINED__
typedef interface DispHTMLUListElement DispHTMLUListElement;

#endif 	/* __DispHTMLUListElement_FWD_DEFINED__ */


#ifndef __HTMLUListElement_FWD_DEFINED__
#define __HTMLUListElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLUListElement HTMLUListElement;
#else
typedef struct HTMLUListElement HTMLUListElement;
#endif /* __cplusplus */

#endif 	/* __HTMLUListElement_FWD_DEFINED__ */


#ifndef __IHTMLOListElement_FWD_DEFINED__
#define __IHTMLOListElement_FWD_DEFINED__
typedef interface IHTMLOListElement IHTMLOListElement;

#endif 	/* __IHTMLOListElement_FWD_DEFINED__ */


#ifndef __DispHTMLOListElement_FWD_DEFINED__
#define __DispHTMLOListElement_FWD_DEFINED__
typedef interface DispHTMLOListElement DispHTMLOListElement;

#endif 	/* __DispHTMLOListElement_FWD_DEFINED__ */


#ifndef __HTMLOListElement_FWD_DEFINED__
#define __HTMLOListElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLOListElement HTMLOListElement;
#else
typedef struct HTMLOListElement HTMLOListElement;
#endif /* __cplusplus */

#endif 	/* __HTMLOListElement_FWD_DEFINED__ */


#ifndef __IHTMLLIElement_FWD_DEFINED__
#define __IHTMLLIElement_FWD_DEFINED__
typedef interface IHTMLLIElement IHTMLLIElement;

#endif 	/* __IHTMLLIElement_FWD_DEFINED__ */


#ifndef __DispHTMLLIElement_FWD_DEFINED__
#define __DispHTMLLIElement_FWD_DEFINED__
typedef interface DispHTMLLIElement DispHTMLLIElement;

#endif 	/* __DispHTMLLIElement_FWD_DEFINED__ */


#ifndef __HTMLLIElement_FWD_DEFINED__
#define __HTMLLIElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLLIElement HTMLLIElement;
#else
typedef struct HTMLLIElement HTMLLIElement;
#endif /* __cplusplus */

#endif 	/* __HTMLLIElement_FWD_DEFINED__ */


#ifndef __IHTMLBlockElement_FWD_DEFINED__
#define __IHTMLBlockElement_FWD_DEFINED__
typedef interface IHTMLBlockElement IHTMLBlockElement;

#endif 	/* __IHTMLBlockElement_FWD_DEFINED__ */


#ifndef __IHTMLBlockElement2_FWD_DEFINED__
#define __IHTMLBlockElement2_FWD_DEFINED__
typedef interface IHTMLBlockElement2 IHTMLBlockElement2;

#endif 	/* __IHTMLBlockElement2_FWD_DEFINED__ */


#ifndef __IHTMLBlockElement3_FWD_DEFINED__
#define __IHTMLBlockElement3_FWD_DEFINED__
typedef interface IHTMLBlockElement3 IHTMLBlockElement3;

#endif 	/* __IHTMLBlockElement3_FWD_DEFINED__ */


#ifndef __DispHTMLBlockElement_FWD_DEFINED__
#define __DispHTMLBlockElement_FWD_DEFINED__
typedef interface DispHTMLBlockElement DispHTMLBlockElement;

#endif 	/* __DispHTMLBlockElement_FWD_DEFINED__ */


#ifndef __HTMLBlockElement_FWD_DEFINED__
#define __HTMLBlockElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLBlockElement HTMLBlockElement;
#else
typedef struct HTMLBlockElement HTMLBlockElement;
#endif /* __cplusplus */

#endif 	/* __HTMLBlockElement_FWD_DEFINED__ */


#ifndef __IHTMLDivElement_FWD_DEFINED__
#define __IHTMLDivElement_FWD_DEFINED__
typedef interface IHTMLDivElement IHTMLDivElement;

#endif 	/* __IHTMLDivElement_FWD_DEFINED__ */


#ifndef __DispHTMLDivElement_FWD_DEFINED__
#define __DispHTMLDivElement_FWD_DEFINED__
typedef interface DispHTMLDivElement DispHTMLDivElement;

#endif 	/* __DispHTMLDivElement_FWD_DEFINED__ */


#ifndef __HTMLDivElement_FWD_DEFINED__
#define __HTMLDivElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLDivElement HTMLDivElement;
#else
typedef struct HTMLDivElement HTMLDivElement;
#endif /* __cplusplus */

#endif 	/* __HTMLDivElement_FWD_DEFINED__ */


#ifndef __IHTMLDDElement_FWD_DEFINED__
#define __IHTMLDDElement_FWD_DEFINED__
typedef interface IHTMLDDElement IHTMLDDElement;

#endif 	/* __IHTMLDDElement_FWD_DEFINED__ */


#ifndef __DispHTMLDDElement_FWD_DEFINED__
#define __DispHTMLDDElement_FWD_DEFINED__
typedef interface DispHTMLDDElement DispHTMLDDElement;

#endif 	/* __DispHTMLDDElement_FWD_DEFINED__ */


#ifndef __HTMLDDElement_FWD_DEFINED__
#define __HTMLDDElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLDDElement HTMLDDElement;
#else
typedef struct HTMLDDElement HTMLDDElement;
#endif /* __cplusplus */

#endif 	/* __HTMLDDElement_FWD_DEFINED__ */


#ifndef __IHTMLDTElement_FWD_DEFINED__
#define __IHTMLDTElement_FWD_DEFINED__
typedef interface IHTMLDTElement IHTMLDTElement;

#endif 	/* __IHTMLDTElement_FWD_DEFINED__ */


#ifndef __DispHTMLDTElement_FWD_DEFINED__
#define __DispHTMLDTElement_FWD_DEFINED__
typedef interface DispHTMLDTElement DispHTMLDTElement;

#endif 	/* __DispHTMLDTElement_FWD_DEFINED__ */


#ifndef __HTMLDTElement_FWD_DEFINED__
#define __HTMLDTElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLDTElement HTMLDTElement;
#else
typedef struct HTMLDTElement HTMLDTElement;
#endif /* __cplusplus */

#endif 	/* __HTMLDTElement_FWD_DEFINED__ */


#ifndef __IHTMLBRElement_FWD_DEFINED__
#define __IHTMLBRElement_FWD_DEFINED__
typedef interface IHTMLBRElement IHTMLBRElement;

#endif 	/* __IHTMLBRElement_FWD_DEFINED__ */


#ifndef __DispHTMLBRElement_FWD_DEFINED__
#define __DispHTMLBRElement_FWD_DEFINED__
typedef interface DispHTMLBRElement DispHTMLBRElement;

#endif 	/* __DispHTMLBRElement_FWD_DEFINED__ */


#ifndef __HTMLBRElement_FWD_DEFINED__
#define __HTMLBRElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLBRElement HTMLBRElement;
#else
typedef struct HTMLBRElement HTMLBRElement;
#endif /* __cplusplus */

#endif 	/* __HTMLBRElement_FWD_DEFINED__ */


#ifndef __IHTMLDListElement_FWD_DEFINED__
#define __IHTMLDListElement_FWD_DEFINED__
typedef interface IHTMLDListElement IHTMLDListElement;

#endif 	/* __IHTMLDListElement_FWD_DEFINED__ */


#ifndef __DispHTMLDListElement_FWD_DEFINED__
#define __DispHTMLDListElement_FWD_DEFINED__
typedef interface DispHTMLDListElement DispHTMLDListElement;

#endif 	/* __DispHTMLDListElement_FWD_DEFINED__ */


#ifndef __HTMLDListElement_FWD_DEFINED__
#define __HTMLDListElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLDListElement HTMLDListElement;
#else
typedef struct HTMLDListElement HTMLDListElement;
#endif /* __cplusplus */

#endif 	/* __HTMLDListElement_FWD_DEFINED__ */


#ifndef __IHTMLHRElement_FWD_DEFINED__
#define __IHTMLHRElement_FWD_DEFINED__
typedef interface IHTMLHRElement IHTMLHRElement;

#endif 	/* __IHTMLHRElement_FWD_DEFINED__ */


#ifndef __DispHTMLHRElement_FWD_DEFINED__
#define __DispHTMLHRElement_FWD_DEFINED__
typedef interface DispHTMLHRElement DispHTMLHRElement;

#endif 	/* __DispHTMLHRElement_FWD_DEFINED__ */


#ifndef __HTMLHRElement_FWD_DEFINED__
#define __HTMLHRElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLHRElement HTMLHRElement;
#else
typedef struct HTMLHRElement HTMLHRElement;
#endif /* __cplusplus */

#endif 	/* __HTMLHRElement_FWD_DEFINED__ */


#ifndef __IHTMLParaElement_FWD_DEFINED__
#define __IHTMLParaElement_FWD_DEFINED__
typedef interface IHTMLParaElement IHTMLParaElement;

#endif 	/* __IHTMLParaElement_FWD_DEFINED__ */


#ifndef __DispHTMLParaElement_FWD_DEFINED__
#define __DispHTMLParaElement_FWD_DEFINED__
typedef interface DispHTMLParaElement DispHTMLParaElement;

#endif 	/* __DispHTMLParaElement_FWD_DEFINED__ */


#ifndef __HTMLParaElement_FWD_DEFINED__
#define __HTMLParaElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLParaElement HTMLParaElement;
#else
typedef struct HTMLParaElement HTMLParaElement;
#endif /* __cplusplus */

#endif 	/* __HTMLParaElement_FWD_DEFINED__ */


#ifndef __IHTMLElementCollection2_FWD_DEFINED__
#define __IHTMLElementCollection2_FWD_DEFINED__
typedef interface IHTMLElementCollection2 IHTMLElementCollection2;

#endif 	/* __IHTMLElementCollection2_FWD_DEFINED__ */


#ifndef __IHTMLElementCollection3_FWD_DEFINED__
#define __IHTMLElementCollection3_FWD_DEFINED__
typedef interface IHTMLElementCollection3 IHTMLElementCollection3;

#endif 	/* __IHTMLElementCollection3_FWD_DEFINED__ */


#ifndef __IHTMLElementCollection4_FWD_DEFINED__
#define __IHTMLElementCollection4_FWD_DEFINED__
typedef interface IHTMLElementCollection4 IHTMLElementCollection4;

#endif 	/* __IHTMLElementCollection4_FWD_DEFINED__ */


#ifndef __DispHTMLElementCollection_FWD_DEFINED__
#define __DispHTMLElementCollection_FWD_DEFINED__
typedef interface DispHTMLElementCollection DispHTMLElementCollection;

#endif 	/* __DispHTMLElementCollection_FWD_DEFINED__ */


#ifndef __HTMLElementCollection_FWD_DEFINED__
#define __HTMLElementCollection_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLElementCollection HTMLElementCollection;
#else
typedef struct HTMLElementCollection HTMLElementCollection;
#endif /* __cplusplus */

#endif 	/* __HTMLElementCollection_FWD_DEFINED__ */


#ifndef __IHTMLHeaderElement_FWD_DEFINED__
#define __IHTMLHeaderElement_FWD_DEFINED__
typedef interface IHTMLHeaderElement IHTMLHeaderElement;

#endif 	/* __IHTMLHeaderElement_FWD_DEFINED__ */


#ifndef __DispHTMLHeaderElement_FWD_DEFINED__
#define __DispHTMLHeaderElement_FWD_DEFINED__
typedef interface DispHTMLHeaderElement DispHTMLHeaderElement;

#endif 	/* __DispHTMLHeaderElement_FWD_DEFINED__ */


#ifndef __HTMLHeaderElement_FWD_DEFINED__
#define __HTMLHeaderElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLHeaderElement HTMLHeaderElement;
#else
typedef struct HTMLHeaderElement HTMLHeaderElement;
#endif /* __cplusplus */

#endif 	/* __HTMLHeaderElement_FWD_DEFINED__ */


#ifndef __HTMLSelectElementEvents2_FWD_DEFINED__
#define __HTMLSelectElementEvents2_FWD_DEFINED__
typedef interface HTMLSelectElementEvents2 HTMLSelectElementEvents2;

#endif 	/* __HTMLSelectElementEvents2_FWD_DEFINED__ */


#ifndef __HTMLSelectElementEvents_FWD_DEFINED__
#define __HTMLSelectElementEvents_FWD_DEFINED__
typedef interface HTMLSelectElementEvents HTMLSelectElementEvents;

#endif 	/* __HTMLSelectElementEvents_FWD_DEFINED__ */


#ifndef __IHTMLOptionElement_FWD_DEFINED__
#define __IHTMLOptionElement_FWD_DEFINED__
typedef interface IHTMLOptionElement IHTMLOptionElement;

#endif 	/* __IHTMLOptionElement_FWD_DEFINED__ */


#ifndef __IHTMLSelectElementEx_FWD_DEFINED__
#define __IHTMLSelectElementEx_FWD_DEFINED__
typedef interface IHTMLSelectElementEx IHTMLSelectElementEx;

#endif 	/* __IHTMLSelectElementEx_FWD_DEFINED__ */


#ifndef __IHTMLSelectElement_FWD_DEFINED__
#define __IHTMLSelectElement_FWD_DEFINED__
typedef interface IHTMLSelectElement IHTMLSelectElement;

#endif 	/* __IHTMLSelectElement_FWD_DEFINED__ */


#ifndef __IHTMLSelectElement2_FWD_DEFINED__
#define __IHTMLSelectElement2_FWD_DEFINED__
typedef interface IHTMLSelectElement2 IHTMLSelectElement2;

#endif 	/* __IHTMLSelectElement2_FWD_DEFINED__ */


#ifndef __IHTMLSelectElement4_FWD_DEFINED__
#define __IHTMLSelectElement4_FWD_DEFINED__
typedef interface IHTMLSelectElement4 IHTMLSelectElement4;

#endif 	/* __IHTMLSelectElement4_FWD_DEFINED__ */


#ifndef __IHTMLSelectElement5_FWD_DEFINED__
#define __IHTMLSelectElement5_FWD_DEFINED__
typedef interface IHTMLSelectElement5 IHTMLSelectElement5;

#endif 	/* __IHTMLSelectElement5_FWD_DEFINED__ */


#ifndef __IHTMLSelectElement6_FWD_DEFINED__
#define __IHTMLSelectElement6_FWD_DEFINED__
typedef interface IHTMLSelectElement6 IHTMLSelectElement6;

#endif 	/* __IHTMLSelectElement6_FWD_DEFINED__ */


#ifndef __DispHTMLSelectElement_FWD_DEFINED__
#define __DispHTMLSelectElement_FWD_DEFINED__
typedef interface DispHTMLSelectElement DispHTMLSelectElement;

#endif 	/* __DispHTMLSelectElement_FWD_DEFINED__ */


#ifndef __HTMLSelectElement_FWD_DEFINED__
#define __HTMLSelectElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLSelectElement HTMLSelectElement;
#else
typedef struct HTMLSelectElement HTMLSelectElement;
#endif /* __cplusplus */

#endif 	/* __HTMLSelectElement_FWD_DEFINED__ */


#ifndef __DispHTMLWndSelectElement_FWD_DEFINED__
#define __DispHTMLWndSelectElement_FWD_DEFINED__
typedef interface DispHTMLWndSelectElement DispHTMLWndSelectElement;

#endif 	/* __DispHTMLWndSelectElement_FWD_DEFINED__ */


#ifndef __HTMLWndSelectElement_FWD_DEFINED__
#define __HTMLWndSelectElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLWndSelectElement HTMLWndSelectElement;
#else
typedef struct HTMLWndSelectElement HTMLWndSelectElement;
#endif /* __cplusplus */

#endif 	/* __HTMLWndSelectElement_FWD_DEFINED__ */


#ifndef __IHTMLSelectionObject_FWD_DEFINED__
#define __IHTMLSelectionObject_FWD_DEFINED__
typedef interface IHTMLSelectionObject IHTMLSelectionObject;

#endif 	/* __IHTMLSelectionObject_FWD_DEFINED__ */


#ifndef __IHTMLSelectionObject2_FWD_DEFINED__
#define __IHTMLSelectionObject2_FWD_DEFINED__
typedef interface IHTMLSelectionObject2 IHTMLSelectionObject2;

#endif 	/* __IHTMLSelectionObject2_FWD_DEFINED__ */


#ifndef __IHTMLSelection_FWD_DEFINED__
#define __IHTMLSelection_FWD_DEFINED__
typedef interface IHTMLSelection IHTMLSelection;

#endif 	/* __IHTMLSelection_FWD_DEFINED__ */


#ifndef __IHTMLOptionElement3_FWD_DEFINED__
#define __IHTMLOptionElement3_FWD_DEFINED__
typedef interface IHTMLOptionElement3 IHTMLOptionElement3;

#endif 	/* __IHTMLOptionElement3_FWD_DEFINED__ */


#ifndef __IHTMLOptionElement4_FWD_DEFINED__
#define __IHTMLOptionElement4_FWD_DEFINED__
typedef interface IHTMLOptionElement4 IHTMLOptionElement4;

#endif 	/* __IHTMLOptionElement4_FWD_DEFINED__ */


#ifndef __IHTMLOptionElementFactory_FWD_DEFINED__
#define __IHTMLOptionElementFactory_FWD_DEFINED__
typedef interface IHTMLOptionElementFactory IHTMLOptionElementFactory;

#endif 	/* __IHTMLOptionElementFactory_FWD_DEFINED__ */


#ifndef __DispHTMLOptionElement_FWD_DEFINED__
#define __DispHTMLOptionElement_FWD_DEFINED__
typedef interface DispHTMLOptionElement DispHTMLOptionElement;

#endif 	/* __DispHTMLOptionElement_FWD_DEFINED__ */


#ifndef __HTMLOptionElement_FWD_DEFINED__
#define __HTMLOptionElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLOptionElement HTMLOptionElement;
#else
typedef struct HTMLOptionElement HTMLOptionElement;
#endif /* __cplusplus */

#endif 	/* __HTMLOptionElement_FWD_DEFINED__ */


#ifndef __HTMLOptionElementFactory_FWD_DEFINED__
#define __HTMLOptionElementFactory_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLOptionElementFactory HTMLOptionElementFactory;
#else
typedef struct HTMLOptionElementFactory HTMLOptionElementFactory;
#endif /* __cplusplus */

#endif 	/* __HTMLOptionElementFactory_FWD_DEFINED__ */


#ifndef __DispHTMLWndOptionElement_FWD_DEFINED__
#define __DispHTMLWndOptionElement_FWD_DEFINED__
typedef interface DispHTMLWndOptionElement DispHTMLWndOptionElement;

#endif 	/* __DispHTMLWndOptionElement_FWD_DEFINED__ */


#ifndef __HTMLWndOptionElement_FWD_DEFINED__
#define __HTMLWndOptionElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLWndOptionElement HTMLWndOptionElement;
#else
typedef struct HTMLWndOptionElement HTMLWndOptionElement;
#endif /* __cplusplus */

#endif 	/* __HTMLWndOptionElement_FWD_DEFINED__ */


#ifndef __HTMLButtonElementEvents2_FWD_DEFINED__
#define __HTMLButtonElementEvents2_FWD_DEFINED__
typedef interface HTMLButtonElementEvents2 HTMLButtonElementEvents2;

#endif 	/* __HTMLButtonElementEvents2_FWD_DEFINED__ */


#ifndef __HTMLButtonElementEvents_FWD_DEFINED__
#define __HTMLButtonElementEvents_FWD_DEFINED__
typedef interface HTMLButtonElementEvents HTMLButtonElementEvents;

#endif 	/* __HTMLButtonElementEvents_FWD_DEFINED__ */


#ifndef __HTMLInputTextElementEvents2_FWD_DEFINED__
#define __HTMLInputTextElementEvents2_FWD_DEFINED__
typedef interface HTMLInputTextElementEvents2 HTMLInputTextElementEvents2;

#endif 	/* __HTMLInputTextElementEvents2_FWD_DEFINED__ */


#ifndef __HTMLOptionButtonElementEvents2_FWD_DEFINED__
#define __HTMLOptionButtonElementEvents2_FWD_DEFINED__
typedef interface HTMLOptionButtonElementEvents2 HTMLOptionButtonElementEvents2;

#endif 	/* __HTMLOptionButtonElementEvents2_FWD_DEFINED__ */


#ifndef __HTMLInputFileElementEvents2_FWD_DEFINED__
#define __HTMLInputFileElementEvents2_FWD_DEFINED__
typedef interface HTMLInputFileElementEvents2 HTMLInputFileElementEvents2;

#endif 	/* __HTMLInputFileElementEvents2_FWD_DEFINED__ */


#ifndef __HTMLInputImageEvents2_FWD_DEFINED__
#define __HTMLInputImageEvents2_FWD_DEFINED__
typedef interface HTMLInputImageEvents2 HTMLInputImageEvents2;

#endif 	/* __HTMLInputImageEvents2_FWD_DEFINED__ */


#ifndef __HTMLInputTextElementEvents_FWD_DEFINED__
#define __HTMLInputTextElementEvents_FWD_DEFINED__
typedef interface HTMLInputTextElementEvents HTMLInputTextElementEvents;

#endif 	/* __HTMLInputTextElementEvents_FWD_DEFINED__ */


#ifndef __HTMLOptionButtonElementEvents_FWD_DEFINED__
#define __HTMLOptionButtonElementEvents_FWD_DEFINED__
typedef interface HTMLOptionButtonElementEvents HTMLOptionButtonElementEvents;

#endif 	/* __HTMLOptionButtonElementEvents_FWD_DEFINED__ */


#ifndef __HTMLInputFileElementEvents_FWD_DEFINED__
#define __HTMLInputFileElementEvents_FWD_DEFINED__
typedef interface HTMLInputFileElementEvents HTMLInputFileElementEvents;

#endif 	/* __HTMLInputFileElementEvents_FWD_DEFINED__ */


#ifndef __HTMLInputImageEvents_FWD_DEFINED__
#define __HTMLInputImageEvents_FWD_DEFINED__
typedef interface HTMLInputImageEvents HTMLInputImageEvents;

#endif 	/* __HTMLInputImageEvents_FWD_DEFINED__ */


#ifndef __IHTMLInputElement_FWD_DEFINED__
#define __IHTMLInputElement_FWD_DEFINED__
typedef interface IHTMLInputElement IHTMLInputElement;

#endif 	/* __IHTMLInputElement_FWD_DEFINED__ */


#ifndef __IHTMLInputElement2_FWD_DEFINED__
#define __IHTMLInputElement2_FWD_DEFINED__
typedef interface IHTMLInputElement2 IHTMLInputElement2;

#endif 	/* __IHTMLInputElement2_FWD_DEFINED__ */


#ifndef __IHTMLInputElement3_FWD_DEFINED__
#define __IHTMLInputElement3_FWD_DEFINED__
typedef interface IHTMLInputElement3 IHTMLInputElement3;

#endif 	/* __IHTMLInputElement3_FWD_DEFINED__ */


#ifndef __IHTMLInputButtonElement_FWD_DEFINED__
#define __IHTMLInputButtonElement_FWD_DEFINED__
typedef interface IHTMLInputButtonElement IHTMLInputButtonElement;

#endif 	/* __IHTMLInputButtonElement_FWD_DEFINED__ */


#ifndef __IHTMLInputHiddenElement_FWD_DEFINED__
#define __IHTMLInputHiddenElement_FWD_DEFINED__
typedef interface IHTMLInputHiddenElement IHTMLInputHiddenElement;

#endif 	/* __IHTMLInputHiddenElement_FWD_DEFINED__ */


#ifndef __IHTMLInputTextElement_FWD_DEFINED__
#define __IHTMLInputTextElement_FWD_DEFINED__
typedef interface IHTMLInputTextElement IHTMLInputTextElement;

#endif 	/* __IHTMLInputTextElement_FWD_DEFINED__ */


#ifndef __IHTMLInputTextElement2_FWD_DEFINED__
#define __IHTMLInputTextElement2_FWD_DEFINED__
typedef interface IHTMLInputTextElement2 IHTMLInputTextElement2;

#endif 	/* __IHTMLInputTextElement2_FWD_DEFINED__ */


#ifndef __IHTMLInputFileElement_FWD_DEFINED__
#define __IHTMLInputFileElement_FWD_DEFINED__
typedef interface IHTMLInputFileElement IHTMLInputFileElement;

#endif 	/* __IHTMLInputFileElement_FWD_DEFINED__ */


#ifndef __IHTMLOptionButtonElement_FWD_DEFINED__
#define __IHTMLOptionButtonElement_FWD_DEFINED__
typedef interface IHTMLOptionButtonElement IHTMLOptionButtonElement;

#endif 	/* __IHTMLOptionButtonElement_FWD_DEFINED__ */


#ifndef __IHTMLInputImage_FWD_DEFINED__
#define __IHTMLInputImage_FWD_DEFINED__
typedef interface IHTMLInputImage IHTMLInputImage;

#endif 	/* __IHTMLInputImage_FWD_DEFINED__ */


#ifndef __IHTMLInputRangeElement_FWD_DEFINED__
#define __IHTMLInputRangeElement_FWD_DEFINED__
typedef interface IHTMLInputRangeElement IHTMLInputRangeElement;

#endif 	/* __IHTMLInputRangeElement_FWD_DEFINED__ */


#ifndef __DispHTMLInputElement_FWD_DEFINED__
#define __DispHTMLInputElement_FWD_DEFINED__
typedef interface DispHTMLInputElement DispHTMLInputElement;

#endif 	/* __DispHTMLInputElement_FWD_DEFINED__ */


#ifndef __HTMLInputElement_FWD_DEFINED__
#define __HTMLInputElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLInputElement HTMLInputElement;
#else
typedef struct HTMLInputElement HTMLInputElement;
#endif /* __cplusplus */

#endif 	/* __HTMLInputElement_FWD_DEFINED__ */


#ifndef __IHTMLTextAreaElement_FWD_DEFINED__
#define __IHTMLTextAreaElement_FWD_DEFINED__
typedef interface IHTMLTextAreaElement IHTMLTextAreaElement;

#endif 	/* __IHTMLTextAreaElement_FWD_DEFINED__ */


#ifndef __IHTMLTextAreaElement2_FWD_DEFINED__
#define __IHTMLTextAreaElement2_FWD_DEFINED__
typedef interface IHTMLTextAreaElement2 IHTMLTextAreaElement2;

#endif 	/* __IHTMLTextAreaElement2_FWD_DEFINED__ */


#ifndef __DispHTMLTextAreaElement_FWD_DEFINED__
#define __DispHTMLTextAreaElement_FWD_DEFINED__
typedef interface DispHTMLTextAreaElement DispHTMLTextAreaElement;

#endif 	/* __DispHTMLTextAreaElement_FWD_DEFINED__ */


#ifndef __HTMLTextAreaElement_FWD_DEFINED__
#define __HTMLTextAreaElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLTextAreaElement HTMLTextAreaElement;
#else
typedef struct HTMLTextAreaElement HTMLTextAreaElement;
#endif /* __cplusplus */

#endif 	/* __HTMLTextAreaElement_FWD_DEFINED__ */


#ifndef __DispHTMLRichtextElement_FWD_DEFINED__
#define __DispHTMLRichtextElement_FWD_DEFINED__
typedef interface DispHTMLRichtextElement DispHTMLRichtextElement;

#endif 	/* __DispHTMLRichtextElement_FWD_DEFINED__ */


#ifndef __HTMLRichtextElement_FWD_DEFINED__
#define __HTMLRichtextElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLRichtextElement HTMLRichtextElement;
#else
typedef struct HTMLRichtextElement HTMLRichtextElement;
#endif /* __cplusplus */

#endif 	/* __HTMLRichtextElement_FWD_DEFINED__ */


#ifndef __IHTMLButtonElement_FWD_DEFINED__
#define __IHTMLButtonElement_FWD_DEFINED__
typedef interface IHTMLButtonElement IHTMLButtonElement;

#endif 	/* __IHTMLButtonElement_FWD_DEFINED__ */


#ifndef __IHTMLButtonElement2_FWD_DEFINED__
#define __IHTMLButtonElement2_FWD_DEFINED__
typedef interface IHTMLButtonElement2 IHTMLButtonElement2;

#endif 	/* __IHTMLButtonElement2_FWD_DEFINED__ */


#ifndef __DispHTMLButtonElement_FWD_DEFINED__
#define __DispHTMLButtonElement_FWD_DEFINED__
typedef interface DispHTMLButtonElement DispHTMLButtonElement;

#endif 	/* __DispHTMLButtonElement_FWD_DEFINED__ */


#ifndef __HTMLButtonElement_FWD_DEFINED__
#define __HTMLButtonElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLButtonElement HTMLButtonElement;
#else
typedef struct HTMLButtonElement HTMLButtonElement;
#endif /* __cplusplus */

#endif 	/* __HTMLButtonElement_FWD_DEFINED__ */


#ifndef __HTMLMarqueeElementEvents2_FWD_DEFINED__
#define __HTMLMarqueeElementEvents2_FWD_DEFINED__
typedef interface HTMLMarqueeElementEvents2 HTMLMarqueeElementEvents2;

#endif 	/* __HTMLMarqueeElementEvents2_FWD_DEFINED__ */


#ifndef __HTMLMarqueeElementEvents_FWD_DEFINED__
#define __HTMLMarqueeElementEvents_FWD_DEFINED__
typedef interface HTMLMarqueeElementEvents HTMLMarqueeElementEvents;

#endif 	/* __HTMLMarqueeElementEvents_FWD_DEFINED__ */


#ifndef __IHTMLMarqueeElement_FWD_DEFINED__
#define __IHTMLMarqueeElement_FWD_DEFINED__
typedef interface IHTMLMarqueeElement IHTMLMarqueeElement;

#endif 	/* __IHTMLMarqueeElement_FWD_DEFINED__ */


#ifndef __DispHTMLMarqueeElement_FWD_DEFINED__
#define __DispHTMLMarqueeElement_FWD_DEFINED__
typedef interface DispHTMLMarqueeElement DispHTMLMarqueeElement;

#endif 	/* __DispHTMLMarqueeElement_FWD_DEFINED__ */


#ifndef __HTMLMarqueeElement_FWD_DEFINED__
#define __HTMLMarqueeElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLMarqueeElement HTMLMarqueeElement;
#else
typedef struct HTMLMarqueeElement HTMLMarqueeElement;
#endif /* __cplusplus */

#endif 	/* __HTMLMarqueeElement_FWD_DEFINED__ */


#ifndef __IHTMLHtmlElement_FWD_DEFINED__
#define __IHTMLHtmlElement_FWD_DEFINED__
typedef interface IHTMLHtmlElement IHTMLHtmlElement;

#endif 	/* __IHTMLHtmlElement_FWD_DEFINED__ */


#ifndef __IHTMLHeadElement_FWD_DEFINED__
#define __IHTMLHeadElement_FWD_DEFINED__
typedef interface IHTMLHeadElement IHTMLHeadElement;

#endif 	/* __IHTMLHeadElement_FWD_DEFINED__ */


#ifndef __IHTMLHeadElement2_FWD_DEFINED__
#define __IHTMLHeadElement2_FWD_DEFINED__
typedef interface IHTMLHeadElement2 IHTMLHeadElement2;

#endif 	/* __IHTMLHeadElement2_FWD_DEFINED__ */


#ifndef __IHTMLTitleElement_FWD_DEFINED__
#define __IHTMLTitleElement_FWD_DEFINED__
typedef interface IHTMLTitleElement IHTMLTitleElement;

#endif 	/* __IHTMLTitleElement_FWD_DEFINED__ */


#ifndef __IHTMLMetaElement_FWD_DEFINED__
#define __IHTMLMetaElement_FWD_DEFINED__
typedef interface IHTMLMetaElement IHTMLMetaElement;

#endif 	/* __IHTMLMetaElement_FWD_DEFINED__ */


#ifndef __IHTMLMetaElement2_FWD_DEFINED__
#define __IHTMLMetaElement2_FWD_DEFINED__
typedef interface IHTMLMetaElement2 IHTMLMetaElement2;

#endif 	/* __IHTMLMetaElement2_FWD_DEFINED__ */


#ifndef __IHTMLMetaElement3_FWD_DEFINED__
#define __IHTMLMetaElement3_FWD_DEFINED__
typedef interface IHTMLMetaElement3 IHTMLMetaElement3;

#endif 	/* __IHTMLMetaElement3_FWD_DEFINED__ */


#ifndef __IHTMLBaseElement_FWD_DEFINED__
#define __IHTMLBaseElement_FWD_DEFINED__
typedef interface IHTMLBaseElement IHTMLBaseElement;

#endif 	/* __IHTMLBaseElement_FWD_DEFINED__ */


#ifndef __IHTMLBaseElement2_FWD_DEFINED__
#define __IHTMLBaseElement2_FWD_DEFINED__
typedef interface IHTMLBaseElement2 IHTMLBaseElement2;

#endif 	/* __IHTMLBaseElement2_FWD_DEFINED__ */


#ifndef __DispHTMLHtmlElement_FWD_DEFINED__
#define __DispHTMLHtmlElement_FWD_DEFINED__
typedef interface DispHTMLHtmlElement DispHTMLHtmlElement;

#endif 	/* __DispHTMLHtmlElement_FWD_DEFINED__ */


#ifndef __HTMLHtmlElement_FWD_DEFINED__
#define __HTMLHtmlElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLHtmlElement HTMLHtmlElement;
#else
typedef struct HTMLHtmlElement HTMLHtmlElement;
#endif /* __cplusplus */

#endif 	/* __HTMLHtmlElement_FWD_DEFINED__ */


#ifndef __DispHTMLHeadElement_FWD_DEFINED__
#define __DispHTMLHeadElement_FWD_DEFINED__
typedef interface DispHTMLHeadElement DispHTMLHeadElement;

#endif 	/* __DispHTMLHeadElement_FWD_DEFINED__ */


#ifndef __HTMLHeadElement_FWD_DEFINED__
#define __HTMLHeadElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLHeadElement HTMLHeadElement;
#else
typedef struct HTMLHeadElement HTMLHeadElement;
#endif /* __cplusplus */

#endif 	/* __HTMLHeadElement_FWD_DEFINED__ */


#ifndef __DispHTMLTitleElement_FWD_DEFINED__
#define __DispHTMLTitleElement_FWD_DEFINED__
typedef interface DispHTMLTitleElement DispHTMLTitleElement;

#endif 	/* __DispHTMLTitleElement_FWD_DEFINED__ */


#ifndef __HTMLTitleElement_FWD_DEFINED__
#define __HTMLTitleElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLTitleElement HTMLTitleElement;
#else
typedef struct HTMLTitleElement HTMLTitleElement;
#endif /* __cplusplus */

#endif 	/* __HTMLTitleElement_FWD_DEFINED__ */


#ifndef __DispHTMLMetaElement_FWD_DEFINED__
#define __DispHTMLMetaElement_FWD_DEFINED__
typedef interface DispHTMLMetaElement DispHTMLMetaElement;

#endif 	/* __DispHTMLMetaElement_FWD_DEFINED__ */


#ifndef __HTMLMetaElement_FWD_DEFINED__
#define __HTMLMetaElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLMetaElement HTMLMetaElement;
#else
typedef struct HTMLMetaElement HTMLMetaElement;
#endif /* __cplusplus */

#endif 	/* __HTMLMetaElement_FWD_DEFINED__ */


#ifndef __DispHTMLBaseElement_FWD_DEFINED__
#define __DispHTMLBaseElement_FWD_DEFINED__
typedef interface DispHTMLBaseElement DispHTMLBaseElement;

#endif 	/* __DispHTMLBaseElement_FWD_DEFINED__ */


#ifndef __HTMLBaseElement_FWD_DEFINED__
#define __HTMLBaseElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLBaseElement HTMLBaseElement;
#else
typedef struct HTMLBaseElement HTMLBaseElement;
#endif /* __cplusplus */

#endif 	/* __HTMLBaseElement_FWD_DEFINED__ */


#ifndef __IHTMLIsIndexElement_FWD_DEFINED__
#define __IHTMLIsIndexElement_FWD_DEFINED__
typedef interface IHTMLIsIndexElement IHTMLIsIndexElement;

#endif 	/* __IHTMLIsIndexElement_FWD_DEFINED__ */


#ifndef __IHTMLIsIndexElement2_FWD_DEFINED__
#define __IHTMLIsIndexElement2_FWD_DEFINED__
typedef interface IHTMLIsIndexElement2 IHTMLIsIndexElement2;

#endif 	/* __IHTMLIsIndexElement2_FWD_DEFINED__ */


#ifndef __IHTMLNextIdElement_FWD_DEFINED__
#define __IHTMLNextIdElement_FWD_DEFINED__
typedef interface IHTMLNextIdElement IHTMLNextIdElement;

#endif 	/* __IHTMLNextIdElement_FWD_DEFINED__ */


#ifndef __DispHTMLIsIndexElement_FWD_DEFINED__
#define __DispHTMLIsIndexElement_FWD_DEFINED__
typedef interface DispHTMLIsIndexElement DispHTMLIsIndexElement;

#endif 	/* __DispHTMLIsIndexElement_FWD_DEFINED__ */


#ifndef __HTMLIsIndexElement_FWD_DEFINED__
#define __HTMLIsIndexElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLIsIndexElement HTMLIsIndexElement;
#else
typedef struct HTMLIsIndexElement HTMLIsIndexElement;
#endif /* __cplusplus */

#endif 	/* __HTMLIsIndexElement_FWD_DEFINED__ */


#ifndef __DispHTMLNextIdElement_FWD_DEFINED__
#define __DispHTMLNextIdElement_FWD_DEFINED__
typedef interface DispHTMLNextIdElement DispHTMLNextIdElement;

#endif 	/* __DispHTMLNextIdElement_FWD_DEFINED__ */


#ifndef __HTMLNextIdElement_FWD_DEFINED__
#define __HTMLNextIdElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLNextIdElement HTMLNextIdElement;
#else
typedef struct HTMLNextIdElement HTMLNextIdElement;
#endif /* __cplusplus */

#endif 	/* __HTMLNextIdElement_FWD_DEFINED__ */


#ifndef __IHTMLBaseFontElement_FWD_DEFINED__
#define __IHTMLBaseFontElement_FWD_DEFINED__
typedef interface IHTMLBaseFontElement IHTMLBaseFontElement;

#endif 	/* __IHTMLBaseFontElement_FWD_DEFINED__ */


#ifndef __DispHTMLBaseFontElement_FWD_DEFINED__
#define __DispHTMLBaseFontElement_FWD_DEFINED__
typedef interface DispHTMLBaseFontElement DispHTMLBaseFontElement;

#endif 	/* __DispHTMLBaseFontElement_FWD_DEFINED__ */


#ifndef __HTMLBaseFontElement_FWD_DEFINED__
#define __HTMLBaseFontElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLBaseFontElement HTMLBaseFontElement;
#else
typedef struct HTMLBaseFontElement HTMLBaseFontElement;
#endif /* __cplusplus */

#endif 	/* __HTMLBaseFontElement_FWD_DEFINED__ */


#ifndef __IHTMLUnknownElement_FWD_DEFINED__
#define __IHTMLUnknownElement_FWD_DEFINED__
typedef interface IHTMLUnknownElement IHTMLUnknownElement;

#endif 	/* __IHTMLUnknownElement_FWD_DEFINED__ */


#ifndef __DispHTMLUnknownElement_FWD_DEFINED__
#define __DispHTMLUnknownElement_FWD_DEFINED__
typedef interface DispHTMLUnknownElement DispHTMLUnknownElement;

#endif 	/* __DispHTMLUnknownElement_FWD_DEFINED__ */


#ifndef __HTMLUnknownElement_FWD_DEFINED__
#define __HTMLUnknownElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLUnknownElement HTMLUnknownElement;
#else
typedef struct HTMLUnknownElement HTMLUnknownElement;
#endif /* __cplusplus */

#endif 	/* __HTMLUnknownElement_FWD_DEFINED__ */


#ifndef __IWebGeolocation_FWD_DEFINED__
#define __IWebGeolocation_FWD_DEFINED__
typedef interface IWebGeolocation IWebGeolocation;

#endif 	/* __IWebGeolocation_FWD_DEFINED__ */


#ifndef __IHTMLMimeTypesCollection_FWD_DEFINED__
#define __IHTMLMimeTypesCollection_FWD_DEFINED__
typedef interface IHTMLMimeTypesCollection IHTMLMimeTypesCollection;

#endif 	/* __IHTMLMimeTypesCollection_FWD_DEFINED__ */


#ifndef __IHTMLPluginsCollection_FWD_DEFINED__
#define __IHTMLPluginsCollection_FWD_DEFINED__
typedef interface IHTMLPluginsCollection IHTMLPluginsCollection;

#endif 	/* __IHTMLPluginsCollection_FWD_DEFINED__ */


#ifndef __IOmHistory_FWD_DEFINED__
#define __IOmHistory_FWD_DEFINED__
typedef interface IOmHistory IOmHistory;

#endif 	/* __IOmHistory_FWD_DEFINED__ */


#ifndef __IHTMLOpsProfile_FWD_DEFINED__
#define __IHTMLOpsProfile_FWD_DEFINED__
typedef interface IHTMLOpsProfile IHTMLOpsProfile;

#endif 	/* __IHTMLOpsProfile_FWD_DEFINED__ */


#ifndef __IOmNavigator_FWD_DEFINED__
#define __IOmNavigator_FWD_DEFINED__
typedef interface IOmNavigator IOmNavigator;

#endif 	/* __IOmNavigator_FWD_DEFINED__ */


#ifndef __INavigatorGeolocation_FWD_DEFINED__
#define __INavigatorGeolocation_FWD_DEFINED__
typedef interface INavigatorGeolocation INavigatorGeolocation;

#endif 	/* __INavigatorGeolocation_FWD_DEFINED__ */


#ifndef __INavigatorDoNotTrack_FWD_DEFINED__
#define __INavigatorDoNotTrack_FWD_DEFINED__
typedef interface INavigatorDoNotTrack INavigatorDoNotTrack;

#endif 	/* __INavigatorDoNotTrack_FWD_DEFINED__ */


#ifndef __IHTMLLocation_FWD_DEFINED__
#define __IHTMLLocation_FWD_DEFINED__
typedef interface IHTMLLocation IHTMLLocation;

#endif 	/* __IHTMLLocation_FWD_DEFINED__ */


#ifndef __DispHTMLHistory_FWD_DEFINED__
#define __DispHTMLHistory_FWD_DEFINED__
typedef interface DispHTMLHistory DispHTMLHistory;

#endif 	/* __DispHTMLHistory_FWD_DEFINED__ */


#ifndef __HTMLHistory_FWD_DEFINED__
#define __HTMLHistory_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLHistory HTMLHistory;
#else
typedef struct HTMLHistory HTMLHistory;
#endif /* __cplusplus */

#endif 	/* __HTMLHistory_FWD_DEFINED__ */


#ifndef __COpsProfile_FWD_DEFINED__
#define __COpsProfile_FWD_DEFINED__

#ifdef __cplusplus
typedef class COpsProfile COpsProfile;
#else
typedef struct COpsProfile COpsProfile;
#endif /* __cplusplus */

#endif 	/* __COpsProfile_FWD_DEFINED__ */


#ifndef __DispHTMLNavigator_FWD_DEFINED__
#define __DispHTMLNavigator_FWD_DEFINED__
typedef interface DispHTMLNavigator DispHTMLNavigator;

#endif 	/* __DispHTMLNavigator_FWD_DEFINED__ */


#ifndef __HTMLNavigator_FWD_DEFINED__
#define __HTMLNavigator_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLNavigator HTMLNavigator;
#else
typedef struct HTMLNavigator HTMLNavigator;
#endif /* __cplusplus */

#endif 	/* __HTMLNavigator_FWD_DEFINED__ */


#ifndef __DispHTMLLocation_FWD_DEFINED__
#define __DispHTMLLocation_FWD_DEFINED__
typedef interface DispHTMLLocation DispHTMLLocation;

#endif 	/* __DispHTMLLocation_FWD_DEFINED__ */


#ifndef __HTMLLocation_FWD_DEFINED__
#define __HTMLLocation_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLLocation HTMLLocation;
#else
typedef struct HTMLLocation HTMLLocation;
#endif /* __cplusplus */

#endif 	/* __HTMLLocation_FWD_DEFINED__ */


#ifndef __CMimeTypes_FWD_DEFINED__
#define __CMimeTypes_FWD_DEFINED__

#ifdef __cplusplus
typedef class CMimeTypes CMimeTypes;
#else
typedef struct CMimeTypes CMimeTypes;
#endif /* __cplusplus */

#endif 	/* __CMimeTypes_FWD_DEFINED__ */


#ifndef __DispCPlugins_FWD_DEFINED__
#define __DispCPlugins_FWD_DEFINED__
typedef interface DispCPlugins DispCPlugins;

#endif 	/* __DispCPlugins_FWD_DEFINED__ */


#ifndef __CPlugins_FWD_DEFINED__
#define __CPlugins_FWD_DEFINED__

#ifdef __cplusplus
typedef class CPlugins CPlugins;
#else
typedef struct CPlugins CPlugins;
#endif /* __cplusplus */

#endif 	/* __CPlugins_FWD_DEFINED__ */


#ifndef __IHTMLBookmarkCollection_FWD_DEFINED__
#define __IHTMLBookmarkCollection_FWD_DEFINED__
typedef interface IHTMLBookmarkCollection IHTMLBookmarkCollection;

#endif 	/* __IHTMLBookmarkCollection_FWD_DEFINED__ */


#ifndef __IHTMLDataTransfer_FWD_DEFINED__
#define __IHTMLDataTransfer_FWD_DEFINED__
typedef interface IHTMLDataTransfer IHTMLDataTransfer;

#endif 	/* __IHTMLDataTransfer_FWD_DEFINED__ */


#ifndef __IHTMLEventObj2_FWD_DEFINED__
#define __IHTMLEventObj2_FWD_DEFINED__
typedef interface IHTMLEventObj2 IHTMLEventObj2;

#endif 	/* __IHTMLEventObj2_FWD_DEFINED__ */


#ifndef __IHTMLEventObj3_FWD_DEFINED__
#define __IHTMLEventObj3_FWD_DEFINED__
typedef interface IHTMLEventObj3 IHTMLEventObj3;

#endif 	/* __IHTMLEventObj3_FWD_DEFINED__ */


#ifndef __IHTMLEventObj4_FWD_DEFINED__
#define __IHTMLEventObj4_FWD_DEFINED__
typedef interface IHTMLEventObj4 IHTMLEventObj4;

#endif 	/* __IHTMLEventObj4_FWD_DEFINED__ */


#ifndef __IHTMLEventObj5_FWD_DEFINED__
#define __IHTMLEventObj5_FWD_DEFINED__
typedef interface IHTMLEventObj5 IHTMLEventObj5;

#endif 	/* __IHTMLEventObj5_FWD_DEFINED__ */


#ifndef __IHTMLEventObj6_FWD_DEFINED__
#define __IHTMLEventObj6_FWD_DEFINED__
typedef interface IHTMLEventObj6 IHTMLEventObj6;

#endif 	/* __IHTMLEventObj6_FWD_DEFINED__ */


#ifndef __DispCEventObj_FWD_DEFINED__
#define __DispCEventObj_FWD_DEFINED__
typedef interface DispCEventObj DispCEventObj;

#endif 	/* __DispCEventObj_FWD_DEFINED__ */


#ifndef __CEventObj_FWD_DEFINED__
#define __CEventObj_FWD_DEFINED__

#ifdef __cplusplus
typedef class CEventObj CEventObj;
#else
typedef struct CEventObj CEventObj;
#endif /* __cplusplus */

#endif 	/* __CEventObj_FWD_DEFINED__ */


#ifndef __IHTMLStyleMedia_FWD_DEFINED__
#define __IHTMLStyleMedia_FWD_DEFINED__
typedef interface IHTMLStyleMedia IHTMLStyleMedia;

#endif 	/* __IHTMLStyleMedia_FWD_DEFINED__ */


#ifndef __DispHTMLStyleMedia_FWD_DEFINED__
#define __DispHTMLStyleMedia_FWD_DEFINED__
typedef interface DispHTMLStyleMedia DispHTMLStyleMedia;

#endif 	/* __DispHTMLStyleMedia_FWD_DEFINED__ */


#ifndef __HTMLStyleMedia_FWD_DEFINED__
#define __HTMLStyleMedia_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLStyleMedia HTMLStyleMedia;
#else
typedef struct HTMLStyleMedia HTMLStyleMedia;
#endif /* __cplusplus */

#endif 	/* __HTMLStyleMedia_FWD_DEFINED__ */


#ifndef __IHTMLFramesCollection2_FWD_DEFINED__
#define __IHTMLFramesCollection2_FWD_DEFINED__
typedef interface IHTMLFramesCollection2 IHTMLFramesCollection2;

#endif 	/* __IHTMLFramesCollection2_FWD_DEFINED__ */


#ifndef __FramesCollection_FWD_DEFINED__
#define __FramesCollection_FWD_DEFINED__

#ifdef __cplusplus
typedef class FramesCollection FramesCollection;
#else
typedef struct FramesCollection FramesCollection;
#endif /* __cplusplus */

#endif 	/* __FramesCollection_FWD_DEFINED__ */


#ifndef __HTMLWindowEvents3_FWD_DEFINED__
#define __HTMLWindowEvents3_FWD_DEFINED__
typedef interface HTMLWindowEvents3 HTMLWindowEvents3;

#endif 	/* __HTMLWindowEvents3_FWD_DEFINED__ */


#ifndef __HTMLWindowEvents2_FWD_DEFINED__
#define __HTMLWindowEvents2_FWD_DEFINED__
typedef interface HTMLWindowEvents2 HTMLWindowEvents2;

#endif 	/* __HTMLWindowEvents2_FWD_DEFINED__ */


#ifndef __HTMLWindowEvents_FWD_DEFINED__
#define __HTMLWindowEvents_FWD_DEFINED__
typedef interface HTMLWindowEvents HTMLWindowEvents;

#endif 	/* __HTMLWindowEvents_FWD_DEFINED__ */


#ifndef __IHTMLDocument2_FWD_DEFINED__
#define __IHTMLDocument2_FWD_DEFINED__
typedef interface IHTMLDocument2 IHTMLDocument2;

#endif 	/* __IHTMLDocument2_FWD_DEFINED__ */


#ifndef __IHTMLWindow2_FWD_DEFINED__
#define __IHTMLWindow2_FWD_DEFINED__
typedef interface IHTMLWindow2 IHTMLWindow2;

#endif 	/* __IHTMLWindow2_FWD_DEFINED__ */


#ifndef __IHTMLWindow3_FWD_DEFINED__
#define __IHTMLWindow3_FWD_DEFINED__
typedef interface IHTMLWindow3 IHTMLWindow3;

#endif 	/* __IHTMLWindow3_FWD_DEFINED__ */


#ifndef __IHTMLFrameBase_FWD_DEFINED__
#define __IHTMLFrameBase_FWD_DEFINED__
typedef interface IHTMLFrameBase IHTMLFrameBase;

#endif 	/* __IHTMLFrameBase_FWD_DEFINED__ */


#ifndef __IHTMLStorage_FWD_DEFINED__
#define __IHTMLStorage_FWD_DEFINED__
typedef interface IHTMLStorage IHTMLStorage;

#endif 	/* __IHTMLStorage_FWD_DEFINED__ */


#ifndef __IHTMLPerformance_FWD_DEFINED__
#define __IHTMLPerformance_FWD_DEFINED__
typedef interface IHTMLPerformance IHTMLPerformance;

#endif 	/* __IHTMLPerformance_FWD_DEFINED__ */


#ifndef __IHTMLApplicationCache_FWD_DEFINED__
#define __IHTMLApplicationCache_FWD_DEFINED__
typedef interface IHTMLApplicationCache IHTMLApplicationCache;

#endif 	/* __IHTMLApplicationCache_FWD_DEFINED__ */


#ifndef __IHTMLScreen_FWD_DEFINED__
#define __IHTMLScreen_FWD_DEFINED__
typedef interface IHTMLScreen IHTMLScreen;

#endif 	/* __IHTMLScreen_FWD_DEFINED__ */


#ifndef __IHTMLScreen2_FWD_DEFINED__
#define __IHTMLScreen2_FWD_DEFINED__
typedef interface IHTMLScreen2 IHTMLScreen2;

#endif 	/* __IHTMLScreen2_FWD_DEFINED__ */


#ifndef __IHTMLScreen3_FWD_DEFINED__
#define __IHTMLScreen3_FWD_DEFINED__
typedef interface IHTMLScreen3 IHTMLScreen3;

#endif 	/* __IHTMLScreen3_FWD_DEFINED__ */


#ifndef __IHTMLScreen4_FWD_DEFINED__
#define __IHTMLScreen4_FWD_DEFINED__
typedef interface IHTMLScreen4 IHTMLScreen4;

#endif 	/* __IHTMLScreen4_FWD_DEFINED__ */


#ifndef __IHTMLWindow4_FWD_DEFINED__
#define __IHTMLWindow4_FWD_DEFINED__
typedef interface IHTMLWindow4 IHTMLWindow4;

#endif 	/* __IHTMLWindow4_FWD_DEFINED__ */


#ifndef __IHTMLWindow5_FWD_DEFINED__
#define __IHTMLWindow5_FWD_DEFINED__
typedef interface IHTMLWindow5 IHTMLWindow5;

#endif 	/* __IHTMLWindow5_FWD_DEFINED__ */


#ifndef __IHTMLWindow6_FWD_DEFINED__
#define __IHTMLWindow6_FWD_DEFINED__
typedef interface IHTMLWindow6 IHTMLWindow6;

#endif 	/* __IHTMLWindow6_FWD_DEFINED__ */


#ifndef __IHTMLWindow7_FWD_DEFINED__
#define __IHTMLWindow7_FWD_DEFINED__
typedef interface IHTMLWindow7 IHTMLWindow7;

#endif 	/* __IHTMLWindow7_FWD_DEFINED__ */


#ifndef __IHTMLWindow8_FWD_DEFINED__
#define __IHTMLWindow8_FWD_DEFINED__
typedef interface IHTMLWindow8 IHTMLWindow8;

#endif 	/* __IHTMLWindow8_FWD_DEFINED__ */


#ifndef __DispHTMLScreen_FWD_DEFINED__
#define __DispHTMLScreen_FWD_DEFINED__
typedef interface DispHTMLScreen DispHTMLScreen;

#endif 	/* __DispHTMLScreen_FWD_DEFINED__ */


#ifndef __HTMLScreen_FWD_DEFINED__
#define __HTMLScreen_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLScreen HTMLScreen;
#else
typedef struct HTMLScreen HTMLScreen;
#endif /* __cplusplus */

#endif 	/* __HTMLScreen_FWD_DEFINED__ */


#ifndef __DispHTMLWindow2_FWD_DEFINED__
#define __DispHTMLWindow2_FWD_DEFINED__
typedef interface DispHTMLWindow2 DispHTMLWindow2;

#endif 	/* __DispHTMLWindow2_FWD_DEFINED__ */


#ifndef __HTMLWindow2_FWD_DEFINED__
#define __HTMLWindow2_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLWindow2 HTMLWindow2;
#else
typedef struct HTMLWindow2 HTMLWindow2;
#endif /* __cplusplus */

#endif 	/* __HTMLWindow2_FWD_DEFINED__ */


#ifndef __DispHTMLWindowProxy_FWD_DEFINED__
#define __DispHTMLWindowProxy_FWD_DEFINED__
typedef interface DispHTMLWindowProxy DispHTMLWindowProxy;

#endif 	/* __DispHTMLWindowProxy_FWD_DEFINED__ */


#ifndef __HTMLWindowProxy_FWD_DEFINED__
#define __HTMLWindowProxy_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLWindowProxy HTMLWindowProxy;
#else
typedef struct HTMLWindowProxy HTMLWindowProxy;
#endif /* __cplusplus */

#endif 	/* __HTMLWindowProxy_FWD_DEFINED__ */


#ifndef __IHTMLDocumentCompatibleInfo_FWD_DEFINED__
#define __IHTMLDocumentCompatibleInfo_FWD_DEFINED__
typedef interface IHTMLDocumentCompatibleInfo IHTMLDocumentCompatibleInfo;

#endif 	/* __IHTMLDocumentCompatibleInfo_FWD_DEFINED__ */


#ifndef __IHTMLDocumentCompatibleInfoCollection_FWD_DEFINED__
#define __IHTMLDocumentCompatibleInfoCollection_FWD_DEFINED__
typedef interface IHTMLDocumentCompatibleInfoCollection IHTMLDocumentCompatibleInfoCollection;

#endif 	/* __IHTMLDocumentCompatibleInfoCollection_FWD_DEFINED__ */


#ifndef __DispHTMLDocumentCompatibleInfo_FWD_DEFINED__
#define __DispHTMLDocumentCompatibleInfo_FWD_DEFINED__
typedef interface DispHTMLDocumentCompatibleInfo DispHTMLDocumentCompatibleInfo;

#endif 	/* __DispHTMLDocumentCompatibleInfo_FWD_DEFINED__ */


#ifndef __HTMLDocumentCompatibleInfo_FWD_DEFINED__
#define __HTMLDocumentCompatibleInfo_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLDocumentCompatibleInfo HTMLDocumentCompatibleInfo;
#else
typedef struct HTMLDocumentCompatibleInfo HTMLDocumentCompatibleInfo;
#endif /* __cplusplus */

#endif 	/* __HTMLDocumentCompatibleInfo_FWD_DEFINED__ */


#ifndef __DispHTMLDocumentCompatibleInfoCollection_FWD_DEFINED__
#define __DispHTMLDocumentCompatibleInfoCollection_FWD_DEFINED__
typedef interface DispHTMLDocumentCompatibleInfoCollection DispHTMLDocumentCompatibleInfoCollection;

#endif 	/* __DispHTMLDocumentCompatibleInfoCollection_FWD_DEFINED__ */


#ifndef __HTMLDocumentCompatibleInfoCollection_FWD_DEFINED__
#define __HTMLDocumentCompatibleInfoCollection_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLDocumentCompatibleInfoCollection HTMLDocumentCompatibleInfoCollection;
#else
typedef struct HTMLDocumentCompatibleInfoCollection HTMLDocumentCompatibleInfoCollection;
#endif /* __cplusplus */

#endif 	/* __HTMLDocumentCompatibleInfoCollection_FWD_DEFINED__ */


#ifndef __HTMLDocumentEvents4_FWD_DEFINED__
#define __HTMLDocumentEvents4_FWD_DEFINED__
typedef interface HTMLDocumentEvents4 HTMLDocumentEvents4;

#endif 	/* __HTMLDocumentEvents4_FWD_DEFINED__ */


#ifndef __HTMLDocumentEvents3_FWD_DEFINED__
#define __HTMLDocumentEvents3_FWD_DEFINED__
typedef interface HTMLDocumentEvents3 HTMLDocumentEvents3;

#endif 	/* __HTMLDocumentEvents3_FWD_DEFINED__ */


#ifndef __HTMLDocumentEvents2_FWD_DEFINED__
#define __HTMLDocumentEvents2_FWD_DEFINED__
typedef interface HTMLDocumentEvents2 HTMLDocumentEvents2;

#endif 	/* __HTMLDocumentEvents2_FWD_DEFINED__ */


#ifndef __HTMLDocumentEvents_FWD_DEFINED__
#define __HTMLDocumentEvents_FWD_DEFINED__
typedef interface HTMLDocumentEvents HTMLDocumentEvents;

#endif 	/* __HTMLDocumentEvents_FWD_DEFINED__ */


#ifndef __ISVGSVGElement_FWD_DEFINED__
#define __ISVGSVGElement_FWD_DEFINED__
typedef interface ISVGSVGElement ISVGSVGElement;

#endif 	/* __ISVGSVGElement_FWD_DEFINED__ */


#ifndef __IDOMNodeIterator_FWD_DEFINED__
#define __IDOMNodeIterator_FWD_DEFINED__
typedef interface IDOMNodeIterator IDOMNodeIterator;

#endif 	/* __IDOMNodeIterator_FWD_DEFINED__ */


#ifndef __IDOMTreeWalker_FWD_DEFINED__
#define __IDOMTreeWalker_FWD_DEFINED__
typedef interface IDOMTreeWalker IDOMTreeWalker;

#endif 	/* __IDOMTreeWalker_FWD_DEFINED__ */


#ifndef __IDOMProcessingInstruction_FWD_DEFINED__
#define __IDOMProcessingInstruction_FWD_DEFINED__
typedef interface IDOMProcessingInstruction IDOMProcessingInstruction;

#endif 	/* __IDOMProcessingInstruction_FWD_DEFINED__ */


#ifndef __IHTMLDocument3_FWD_DEFINED__
#define __IHTMLDocument3_FWD_DEFINED__
typedef interface IHTMLDocument3 IHTMLDocument3;

#endif 	/* __IHTMLDocument3_FWD_DEFINED__ */


#ifndef __IHTMLDocument4_FWD_DEFINED__
#define __IHTMLDocument4_FWD_DEFINED__
typedef interface IHTMLDocument4 IHTMLDocument4;

#endif 	/* __IHTMLDocument4_FWD_DEFINED__ */


#ifndef __IHTMLDocument5_FWD_DEFINED__
#define __IHTMLDocument5_FWD_DEFINED__
typedef interface IHTMLDocument5 IHTMLDocument5;

#endif 	/* __IHTMLDocument5_FWD_DEFINED__ */


#ifndef __IHTMLDocument6_FWD_DEFINED__
#define __IHTMLDocument6_FWD_DEFINED__
typedef interface IHTMLDocument6 IHTMLDocument6;

#endif 	/* __IHTMLDocument6_FWD_DEFINED__ */


#ifndef __IHTMLDocument8_FWD_DEFINED__
#define __IHTMLDocument8_FWD_DEFINED__
typedef interface IHTMLDocument8 IHTMLDocument8;

#endif 	/* __IHTMLDocument8_FWD_DEFINED__ */


#ifndef __IDocumentEvent_FWD_DEFINED__
#define __IDocumentEvent_FWD_DEFINED__
typedef interface IDocumentEvent IDocumentEvent;

#endif 	/* __IDocumentEvent_FWD_DEFINED__ */


#ifndef __IDocumentRange_FWD_DEFINED__
#define __IDocumentRange_FWD_DEFINED__
typedef interface IDocumentRange IDocumentRange;

#endif 	/* __IDocumentRange_FWD_DEFINED__ */


#ifndef __IDocumentSelector_FWD_DEFINED__
#define __IDocumentSelector_FWD_DEFINED__
typedef interface IDocumentSelector IDocumentSelector;

#endif 	/* __IDocumentSelector_FWD_DEFINED__ */


#ifndef __IDocumentTraversal_FWD_DEFINED__
#define __IDocumentTraversal_FWD_DEFINED__
typedef interface IDocumentTraversal IDocumentTraversal;

#endif 	/* __IDocumentTraversal_FWD_DEFINED__ */


#ifndef __DispHTMLDocument_FWD_DEFINED__
#define __DispHTMLDocument_FWD_DEFINED__
typedef interface DispHTMLDocument DispHTMLDocument;

#endif 	/* __DispHTMLDocument_FWD_DEFINED__ */


#ifndef __HTMLDocument_FWD_DEFINED__
#define __HTMLDocument_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLDocument HTMLDocument;
#else
typedef struct HTMLDocument HTMLDocument;
#endif /* __cplusplus */

#endif 	/* __HTMLDocument_FWD_DEFINED__ */


#ifndef __DWebBridgeEvents_FWD_DEFINED__
#define __DWebBridgeEvents_FWD_DEFINED__
typedef interface DWebBridgeEvents DWebBridgeEvents;

#endif 	/* __DWebBridgeEvents_FWD_DEFINED__ */


#ifndef __IWebBridge_FWD_DEFINED__
#define __IWebBridge_FWD_DEFINED__
typedef interface IWebBridge IWebBridge;

#endif 	/* __IWebBridge_FWD_DEFINED__ */


#ifndef __IWBScriptControl_FWD_DEFINED__
#define __IWBScriptControl_FWD_DEFINED__
typedef interface IWBScriptControl IWBScriptControl;

#endif 	/* __IWBScriptControl_FWD_DEFINED__ */


#ifndef __Scriptlet_FWD_DEFINED__
#define __Scriptlet_FWD_DEFINED__

#ifdef __cplusplus
typedef class Scriptlet Scriptlet;
#else
typedef struct Scriptlet Scriptlet;
#endif /* __cplusplus */

#endif 	/* __Scriptlet_FWD_DEFINED__ */


#ifndef __IHTMLEmbedElement_FWD_DEFINED__
#define __IHTMLEmbedElement_FWD_DEFINED__
typedef interface IHTMLEmbedElement IHTMLEmbedElement;

#endif 	/* __IHTMLEmbedElement_FWD_DEFINED__ */


#ifndef __IHTMLEmbedElement2_FWD_DEFINED__
#define __IHTMLEmbedElement2_FWD_DEFINED__
typedef interface IHTMLEmbedElement2 IHTMLEmbedElement2;

#endif 	/* __IHTMLEmbedElement2_FWD_DEFINED__ */


#ifndef __DispHTMLEmbed_FWD_DEFINED__
#define __DispHTMLEmbed_FWD_DEFINED__
typedef interface DispHTMLEmbed DispHTMLEmbed;

#endif 	/* __DispHTMLEmbed_FWD_DEFINED__ */


#ifndef __HTMLEmbed_FWD_DEFINED__
#define __HTMLEmbed_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLEmbed HTMLEmbed;
#else
typedef struct HTMLEmbed HTMLEmbed;
#endif /* __cplusplus */

#endif 	/* __HTMLEmbed_FWD_DEFINED__ */


#ifndef __HTMLMapEvents2_FWD_DEFINED__
#define __HTMLMapEvents2_FWD_DEFINED__
typedef interface HTMLMapEvents2 HTMLMapEvents2;

#endif 	/* __HTMLMapEvents2_FWD_DEFINED__ */


#ifndef __HTMLMapEvents_FWD_DEFINED__
#define __HTMLMapEvents_FWD_DEFINED__
typedef interface HTMLMapEvents HTMLMapEvents;

#endif 	/* __HTMLMapEvents_FWD_DEFINED__ */


#ifndef __IHTMLAreasCollection_FWD_DEFINED__
#define __IHTMLAreasCollection_FWD_DEFINED__
typedef interface IHTMLAreasCollection IHTMLAreasCollection;

#endif 	/* __IHTMLAreasCollection_FWD_DEFINED__ */


#ifndef __IHTMLAreasCollection2_FWD_DEFINED__
#define __IHTMLAreasCollection2_FWD_DEFINED__
typedef interface IHTMLAreasCollection2 IHTMLAreasCollection2;

#endif 	/* __IHTMLAreasCollection2_FWD_DEFINED__ */


#ifndef __IHTMLAreasCollection3_FWD_DEFINED__
#define __IHTMLAreasCollection3_FWD_DEFINED__
typedef interface IHTMLAreasCollection3 IHTMLAreasCollection3;

#endif 	/* __IHTMLAreasCollection3_FWD_DEFINED__ */


#ifndef __IHTMLAreasCollection4_FWD_DEFINED__
#define __IHTMLAreasCollection4_FWD_DEFINED__
typedef interface IHTMLAreasCollection4 IHTMLAreasCollection4;

#endif 	/* __IHTMLAreasCollection4_FWD_DEFINED__ */


#ifndef __IHTMLMapElement_FWD_DEFINED__
#define __IHTMLMapElement_FWD_DEFINED__
typedef interface IHTMLMapElement IHTMLMapElement;

#endif 	/* __IHTMLMapElement_FWD_DEFINED__ */


#ifndef __DispHTMLAreasCollection_FWD_DEFINED__
#define __DispHTMLAreasCollection_FWD_DEFINED__
typedef interface DispHTMLAreasCollection DispHTMLAreasCollection;

#endif 	/* __DispHTMLAreasCollection_FWD_DEFINED__ */


#ifndef __HTMLAreasCollection_FWD_DEFINED__
#define __HTMLAreasCollection_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLAreasCollection HTMLAreasCollection;
#else
typedef struct HTMLAreasCollection HTMLAreasCollection;
#endif /* __cplusplus */

#endif 	/* __HTMLAreasCollection_FWD_DEFINED__ */


#ifndef __DispHTMLMapElement_FWD_DEFINED__
#define __DispHTMLMapElement_FWD_DEFINED__
typedef interface DispHTMLMapElement DispHTMLMapElement;

#endif 	/* __DispHTMLMapElement_FWD_DEFINED__ */


#ifndef __HTMLMapElement_FWD_DEFINED__
#define __HTMLMapElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLMapElement HTMLMapElement;
#else
typedef struct HTMLMapElement HTMLMapElement;
#endif /* __cplusplus */

#endif 	/* __HTMLMapElement_FWD_DEFINED__ */


#ifndef __HTMLAreaEvents2_FWD_DEFINED__
#define __HTMLAreaEvents2_FWD_DEFINED__
typedef interface HTMLAreaEvents2 HTMLAreaEvents2;

#endif 	/* __HTMLAreaEvents2_FWD_DEFINED__ */


#ifndef __HTMLAreaEvents_FWD_DEFINED__
#define __HTMLAreaEvents_FWD_DEFINED__
typedef interface HTMLAreaEvents HTMLAreaEvents;

#endif 	/* __HTMLAreaEvents_FWD_DEFINED__ */


#ifndef __IHTMLAreaElement_FWD_DEFINED__
#define __IHTMLAreaElement_FWD_DEFINED__
typedef interface IHTMLAreaElement IHTMLAreaElement;

#endif 	/* __IHTMLAreaElement_FWD_DEFINED__ */


#ifndef __IHTMLAreaElement2_FWD_DEFINED__
#define __IHTMLAreaElement2_FWD_DEFINED__
typedef interface IHTMLAreaElement2 IHTMLAreaElement2;

#endif 	/* __IHTMLAreaElement2_FWD_DEFINED__ */


#ifndef __DispHTMLAreaElement_FWD_DEFINED__
#define __DispHTMLAreaElement_FWD_DEFINED__
typedef interface DispHTMLAreaElement DispHTMLAreaElement;

#endif 	/* __DispHTMLAreaElement_FWD_DEFINED__ */


#ifndef __HTMLAreaElement_FWD_DEFINED__
#define __HTMLAreaElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLAreaElement HTMLAreaElement;
#else
typedef struct HTMLAreaElement HTMLAreaElement;
#endif /* __cplusplus */

#endif 	/* __HTMLAreaElement_FWD_DEFINED__ */


#ifndef __IHTMLTableCaption_FWD_DEFINED__
#define __IHTMLTableCaption_FWD_DEFINED__
typedef interface IHTMLTableCaption IHTMLTableCaption;

#endif 	/* __IHTMLTableCaption_FWD_DEFINED__ */


#ifndef __DispHTMLTableCaption_FWD_DEFINED__
#define __DispHTMLTableCaption_FWD_DEFINED__
typedef interface DispHTMLTableCaption DispHTMLTableCaption;

#endif 	/* __DispHTMLTableCaption_FWD_DEFINED__ */


#ifndef __HTMLTableCaption_FWD_DEFINED__
#define __HTMLTableCaption_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLTableCaption HTMLTableCaption;
#else
typedef struct HTMLTableCaption HTMLTableCaption;
#endif /* __cplusplus */

#endif 	/* __HTMLTableCaption_FWD_DEFINED__ */


#ifndef __IHTMLCommentElement_FWD_DEFINED__
#define __IHTMLCommentElement_FWD_DEFINED__
typedef interface IHTMLCommentElement IHTMLCommentElement;

#endif 	/* __IHTMLCommentElement_FWD_DEFINED__ */


#ifndef __IHTMLCommentElement2_FWD_DEFINED__
#define __IHTMLCommentElement2_FWD_DEFINED__
typedef interface IHTMLCommentElement2 IHTMLCommentElement2;

#endif 	/* __IHTMLCommentElement2_FWD_DEFINED__ */


#ifndef __IHTMLCommentElement3_FWD_DEFINED__
#define __IHTMLCommentElement3_FWD_DEFINED__
typedef interface IHTMLCommentElement3 IHTMLCommentElement3;

#endif 	/* __IHTMLCommentElement3_FWD_DEFINED__ */


#ifndef __DispHTMLCommentElement_FWD_DEFINED__
#define __DispHTMLCommentElement_FWD_DEFINED__
typedef interface DispHTMLCommentElement DispHTMLCommentElement;

#endif 	/* __DispHTMLCommentElement_FWD_DEFINED__ */


#ifndef __HTMLCommentElement_FWD_DEFINED__
#define __HTMLCommentElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLCommentElement HTMLCommentElement;
#else
typedef struct HTMLCommentElement HTMLCommentElement;
#endif /* __cplusplus */

#endif 	/* __HTMLCommentElement_FWD_DEFINED__ */


#ifndef __IHTMLPhraseElement_FWD_DEFINED__
#define __IHTMLPhraseElement_FWD_DEFINED__
typedef interface IHTMLPhraseElement IHTMLPhraseElement;

#endif 	/* __IHTMLPhraseElement_FWD_DEFINED__ */


#ifndef __IHTMLPhraseElement2_FWD_DEFINED__
#define __IHTMLPhraseElement2_FWD_DEFINED__
typedef interface IHTMLPhraseElement2 IHTMLPhraseElement2;

#endif 	/* __IHTMLPhraseElement2_FWD_DEFINED__ */


#ifndef __IHTMLPhraseElement3_FWD_DEFINED__
#define __IHTMLPhraseElement3_FWD_DEFINED__
typedef interface IHTMLPhraseElement3 IHTMLPhraseElement3;

#endif 	/* __IHTMLPhraseElement3_FWD_DEFINED__ */


#ifndef __IHTMLSpanElement_FWD_DEFINED__
#define __IHTMLSpanElement_FWD_DEFINED__
typedef interface IHTMLSpanElement IHTMLSpanElement;

#endif 	/* __IHTMLSpanElement_FWD_DEFINED__ */


#ifndef __DispHTMLPhraseElement_FWD_DEFINED__
#define __DispHTMLPhraseElement_FWD_DEFINED__
typedef interface DispHTMLPhraseElement DispHTMLPhraseElement;

#endif 	/* __DispHTMLPhraseElement_FWD_DEFINED__ */


#ifndef __HTMLPhraseElement_FWD_DEFINED__
#define __HTMLPhraseElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLPhraseElement HTMLPhraseElement;
#else
typedef struct HTMLPhraseElement HTMLPhraseElement;
#endif /* __cplusplus */

#endif 	/* __HTMLPhraseElement_FWD_DEFINED__ */


#ifndef __DispHTMLSpanElement_FWD_DEFINED__
#define __DispHTMLSpanElement_FWD_DEFINED__
typedef interface DispHTMLSpanElement DispHTMLSpanElement;

#endif 	/* __DispHTMLSpanElement_FWD_DEFINED__ */


#ifndef __HTMLSpanElement_FWD_DEFINED__
#define __HTMLSpanElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLSpanElement HTMLSpanElement;
#else
typedef struct HTMLSpanElement HTMLSpanElement;
#endif /* __cplusplus */

#endif 	/* __HTMLSpanElement_FWD_DEFINED__ */


#ifndef __HTMLTableEvents2_FWD_DEFINED__
#define __HTMLTableEvents2_FWD_DEFINED__
typedef interface HTMLTableEvents2 HTMLTableEvents2;

#endif 	/* __HTMLTableEvents2_FWD_DEFINED__ */


#ifndef __HTMLTableEvents_FWD_DEFINED__
#define __HTMLTableEvents_FWD_DEFINED__
typedef interface HTMLTableEvents HTMLTableEvents;

#endif 	/* __HTMLTableEvents_FWD_DEFINED__ */


#ifndef __IHTMLTableSection_FWD_DEFINED__
#define __IHTMLTableSection_FWD_DEFINED__
typedef interface IHTMLTableSection IHTMLTableSection;

#endif 	/* __IHTMLTableSection_FWD_DEFINED__ */


#ifndef __IHTMLTable_FWD_DEFINED__
#define __IHTMLTable_FWD_DEFINED__
typedef interface IHTMLTable IHTMLTable;

#endif 	/* __IHTMLTable_FWD_DEFINED__ */


#ifndef __IHTMLTable2_FWD_DEFINED__
#define __IHTMLTable2_FWD_DEFINED__
typedef interface IHTMLTable2 IHTMLTable2;

#endif 	/* __IHTMLTable2_FWD_DEFINED__ */


#ifndef __IHTMLTable3_FWD_DEFINED__
#define __IHTMLTable3_FWD_DEFINED__
typedef interface IHTMLTable3 IHTMLTable3;

#endif 	/* __IHTMLTable3_FWD_DEFINED__ */


#ifndef __IHTMLTable4_FWD_DEFINED__
#define __IHTMLTable4_FWD_DEFINED__
typedef interface IHTMLTable4 IHTMLTable4;

#endif 	/* __IHTMLTable4_FWD_DEFINED__ */


#ifndef __IHTMLTableCol_FWD_DEFINED__
#define __IHTMLTableCol_FWD_DEFINED__
typedef interface IHTMLTableCol IHTMLTableCol;

#endif 	/* __IHTMLTableCol_FWD_DEFINED__ */


#ifndef __IHTMLTableCol2_FWD_DEFINED__
#define __IHTMLTableCol2_FWD_DEFINED__
typedef interface IHTMLTableCol2 IHTMLTableCol2;

#endif 	/* __IHTMLTableCol2_FWD_DEFINED__ */


#ifndef __IHTMLTableCol3_FWD_DEFINED__
#define __IHTMLTableCol3_FWD_DEFINED__
typedef interface IHTMLTableCol3 IHTMLTableCol3;

#endif 	/* __IHTMLTableCol3_FWD_DEFINED__ */


#ifndef __IHTMLTableSection2_FWD_DEFINED__
#define __IHTMLTableSection2_FWD_DEFINED__
typedef interface IHTMLTableSection2 IHTMLTableSection2;

#endif 	/* __IHTMLTableSection2_FWD_DEFINED__ */


#ifndef __IHTMLTableSection3_FWD_DEFINED__
#define __IHTMLTableSection3_FWD_DEFINED__
typedef interface IHTMLTableSection3 IHTMLTableSection3;

#endif 	/* __IHTMLTableSection3_FWD_DEFINED__ */


#ifndef __IHTMLTableSection4_FWD_DEFINED__
#define __IHTMLTableSection4_FWD_DEFINED__
typedef interface IHTMLTableSection4 IHTMLTableSection4;

#endif 	/* __IHTMLTableSection4_FWD_DEFINED__ */


#ifndef __IHTMLTableRow_FWD_DEFINED__
#define __IHTMLTableRow_FWD_DEFINED__
typedef interface IHTMLTableRow IHTMLTableRow;

#endif 	/* __IHTMLTableRow_FWD_DEFINED__ */


#ifndef __IHTMLTableRow2_FWD_DEFINED__
#define __IHTMLTableRow2_FWD_DEFINED__
typedef interface IHTMLTableRow2 IHTMLTableRow2;

#endif 	/* __IHTMLTableRow2_FWD_DEFINED__ */


#ifndef __IHTMLTableRow3_FWD_DEFINED__
#define __IHTMLTableRow3_FWD_DEFINED__
typedef interface IHTMLTableRow3 IHTMLTableRow3;

#endif 	/* __IHTMLTableRow3_FWD_DEFINED__ */


#ifndef __IHTMLTableRow4_FWD_DEFINED__
#define __IHTMLTableRow4_FWD_DEFINED__
typedef interface IHTMLTableRow4 IHTMLTableRow4;

#endif 	/* __IHTMLTableRow4_FWD_DEFINED__ */


#ifndef __IHTMLTableRowMetrics_FWD_DEFINED__
#define __IHTMLTableRowMetrics_FWD_DEFINED__
typedef interface IHTMLTableRowMetrics IHTMLTableRowMetrics;

#endif 	/* __IHTMLTableRowMetrics_FWD_DEFINED__ */


#ifndef __IHTMLTableCell_FWD_DEFINED__
#define __IHTMLTableCell_FWD_DEFINED__
typedef interface IHTMLTableCell IHTMLTableCell;

#endif 	/* __IHTMLTableCell_FWD_DEFINED__ */


#ifndef __IHTMLTableCell2_FWD_DEFINED__
#define __IHTMLTableCell2_FWD_DEFINED__
typedef interface IHTMLTableCell2 IHTMLTableCell2;

#endif 	/* __IHTMLTableCell2_FWD_DEFINED__ */


#ifndef __IHTMLTableCell3_FWD_DEFINED__
#define __IHTMLTableCell3_FWD_DEFINED__
typedef interface IHTMLTableCell3 IHTMLTableCell3;

#endif 	/* __IHTMLTableCell3_FWD_DEFINED__ */


#ifndef __DispHTMLTable_FWD_DEFINED__
#define __DispHTMLTable_FWD_DEFINED__
typedef interface DispHTMLTable DispHTMLTable;

#endif 	/* __DispHTMLTable_FWD_DEFINED__ */


#ifndef __HTMLTable_FWD_DEFINED__
#define __HTMLTable_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLTable HTMLTable;
#else
typedef struct HTMLTable HTMLTable;
#endif /* __cplusplus */

#endif 	/* __HTMLTable_FWD_DEFINED__ */


#ifndef __DispHTMLTableCol_FWD_DEFINED__
#define __DispHTMLTableCol_FWD_DEFINED__
typedef interface DispHTMLTableCol DispHTMLTableCol;

#endif 	/* __DispHTMLTableCol_FWD_DEFINED__ */


#ifndef __HTMLTableCol_FWD_DEFINED__
#define __HTMLTableCol_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLTableCol HTMLTableCol;
#else
typedef struct HTMLTableCol HTMLTableCol;
#endif /* __cplusplus */

#endif 	/* __HTMLTableCol_FWD_DEFINED__ */


#ifndef __DispHTMLTableSection_FWD_DEFINED__
#define __DispHTMLTableSection_FWD_DEFINED__
typedef interface DispHTMLTableSection DispHTMLTableSection;

#endif 	/* __DispHTMLTableSection_FWD_DEFINED__ */


#ifndef __HTMLTableSection_FWD_DEFINED__
#define __HTMLTableSection_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLTableSection HTMLTableSection;
#else
typedef struct HTMLTableSection HTMLTableSection;
#endif /* __cplusplus */

#endif 	/* __HTMLTableSection_FWD_DEFINED__ */


#ifndef __DispHTMLTableRow_FWD_DEFINED__
#define __DispHTMLTableRow_FWD_DEFINED__
typedef interface DispHTMLTableRow DispHTMLTableRow;

#endif 	/* __DispHTMLTableRow_FWD_DEFINED__ */


#ifndef __HTMLTableRow_FWD_DEFINED__
#define __HTMLTableRow_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLTableRow HTMLTableRow;
#else
typedef struct HTMLTableRow HTMLTableRow;
#endif /* __cplusplus */

#endif 	/* __HTMLTableRow_FWD_DEFINED__ */


#ifndef __DispHTMLTableCell_FWD_DEFINED__
#define __DispHTMLTableCell_FWD_DEFINED__
typedef interface DispHTMLTableCell DispHTMLTableCell;

#endif 	/* __DispHTMLTableCell_FWD_DEFINED__ */


#ifndef __HTMLTableCell_FWD_DEFINED__
#define __HTMLTableCell_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLTableCell HTMLTableCell;
#else
typedef struct HTMLTableCell HTMLTableCell;
#endif /* __cplusplus */

#endif 	/* __HTMLTableCell_FWD_DEFINED__ */


#ifndef __HTMLScriptEvents2_FWD_DEFINED__
#define __HTMLScriptEvents2_FWD_DEFINED__
typedef interface HTMLScriptEvents2 HTMLScriptEvents2;

#endif 	/* __HTMLScriptEvents2_FWD_DEFINED__ */


#ifndef __HTMLScriptEvents_FWD_DEFINED__
#define __HTMLScriptEvents_FWD_DEFINED__
typedef interface HTMLScriptEvents HTMLScriptEvents;

#endif 	/* __HTMLScriptEvents_FWD_DEFINED__ */


#ifndef __IHTMLScriptElement_FWD_DEFINED__
#define __IHTMLScriptElement_FWD_DEFINED__
typedef interface IHTMLScriptElement IHTMLScriptElement;

#endif 	/* __IHTMLScriptElement_FWD_DEFINED__ */


#ifndef __IHTMLScriptElement2_FWD_DEFINED__
#define __IHTMLScriptElement2_FWD_DEFINED__
typedef interface IHTMLScriptElement2 IHTMLScriptElement2;

#endif 	/* __IHTMLScriptElement2_FWD_DEFINED__ */


#ifndef __IHTMLScriptElement3_FWD_DEFINED__
#define __IHTMLScriptElement3_FWD_DEFINED__
typedef interface IHTMLScriptElement3 IHTMLScriptElement3;

#endif 	/* __IHTMLScriptElement3_FWD_DEFINED__ */


#ifndef __IHTMLScriptElement4_FWD_DEFINED__
#define __IHTMLScriptElement4_FWD_DEFINED__
typedef interface IHTMLScriptElement4 IHTMLScriptElement4;

#endif 	/* __IHTMLScriptElement4_FWD_DEFINED__ */


#ifndef __DispHTMLScriptElement_FWD_DEFINED__
#define __DispHTMLScriptElement_FWD_DEFINED__
typedef interface DispHTMLScriptElement DispHTMLScriptElement;

#endif 	/* __DispHTMLScriptElement_FWD_DEFINED__ */


#ifndef __HTMLScriptElement_FWD_DEFINED__
#define __HTMLScriptElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLScriptElement HTMLScriptElement;
#else
typedef struct HTMLScriptElement HTMLScriptElement;
#endif /* __cplusplus */

#endif 	/* __HTMLScriptElement_FWD_DEFINED__ */


#ifndef __IHTMLNoShowElement_FWD_DEFINED__
#define __IHTMLNoShowElement_FWD_DEFINED__
typedef interface IHTMLNoShowElement IHTMLNoShowElement;

#endif 	/* __IHTMLNoShowElement_FWD_DEFINED__ */


#ifndef __DispHTMLNoShowElement_FWD_DEFINED__
#define __DispHTMLNoShowElement_FWD_DEFINED__
typedef interface DispHTMLNoShowElement DispHTMLNoShowElement;

#endif 	/* __DispHTMLNoShowElement_FWD_DEFINED__ */


#ifndef __HTMLNoShowElement_FWD_DEFINED__
#define __HTMLNoShowElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLNoShowElement HTMLNoShowElement;
#else
typedef struct HTMLNoShowElement HTMLNoShowElement;
#endif /* __cplusplus */

#endif 	/* __HTMLNoShowElement_FWD_DEFINED__ */


#ifndef __HTMLObjectElementEvents2_FWD_DEFINED__
#define __HTMLObjectElementEvents2_FWD_DEFINED__
typedef interface HTMLObjectElementEvents2 HTMLObjectElementEvents2;

#endif 	/* __HTMLObjectElementEvents2_FWD_DEFINED__ */


#ifndef __HTMLObjectElementEvents_FWD_DEFINED__
#define __HTMLObjectElementEvents_FWD_DEFINED__
typedef interface HTMLObjectElementEvents HTMLObjectElementEvents;

#endif 	/* __HTMLObjectElementEvents_FWD_DEFINED__ */


#ifndef __IHTMLObjectElement_FWD_DEFINED__
#define __IHTMLObjectElement_FWD_DEFINED__
typedef interface IHTMLObjectElement IHTMLObjectElement;

#endif 	/* __IHTMLObjectElement_FWD_DEFINED__ */


#ifndef __IHTMLObjectElement2_FWD_DEFINED__
#define __IHTMLObjectElement2_FWD_DEFINED__
typedef interface IHTMLObjectElement2 IHTMLObjectElement2;

#endif 	/* __IHTMLObjectElement2_FWD_DEFINED__ */


#ifndef __IHTMLObjectElement3_FWD_DEFINED__
#define __IHTMLObjectElement3_FWD_DEFINED__
typedef interface IHTMLObjectElement3 IHTMLObjectElement3;

#endif 	/* __IHTMLObjectElement3_FWD_DEFINED__ */


#ifndef __IHTMLObjectElement4_FWD_DEFINED__
#define __IHTMLObjectElement4_FWD_DEFINED__
typedef interface IHTMLObjectElement4 IHTMLObjectElement4;

#endif 	/* __IHTMLObjectElement4_FWD_DEFINED__ */


#ifndef __IHTMLObjectElement5_FWD_DEFINED__
#define __IHTMLObjectElement5_FWD_DEFINED__
typedef interface IHTMLObjectElement5 IHTMLObjectElement5;

#endif 	/* __IHTMLObjectElement5_FWD_DEFINED__ */


#ifndef __IHTMLParamElement_FWD_DEFINED__
#define __IHTMLParamElement_FWD_DEFINED__
typedef interface IHTMLParamElement IHTMLParamElement;

#endif 	/* __IHTMLParamElement_FWD_DEFINED__ */


#ifndef __IHTMLParamElement2_FWD_DEFINED__
#define __IHTMLParamElement2_FWD_DEFINED__
typedef interface IHTMLParamElement2 IHTMLParamElement2;

#endif 	/* __IHTMLParamElement2_FWD_DEFINED__ */


#ifndef __DispHTMLObjectElement_FWD_DEFINED__
#define __DispHTMLObjectElement_FWD_DEFINED__
typedef interface DispHTMLObjectElement DispHTMLObjectElement;

#endif 	/* __DispHTMLObjectElement_FWD_DEFINED__ */


#ifndef __HTMLObjectElement_FWD_DEFINED__
#define __HTMLObjectElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLObjectElement HTMLObjectElement;
#else
typedef struct HTMLObjectElement HTMLObjectElement;
#endif /* __cplusplus */

#endif 	/* __HTMLObjectElement_FWD_DEFINED__ */


#ifndef __DispHTMLParamElement_FWD_DEFINED__
#define __DispHTMLParamElement_FWD_DEFINED__
typedef interface DispHTMLParamElement DispHTMLParamElement;

#endif 	/* __DispHTMLParamElement_FWD_DEFINED__ */


#ifndef __HTMLParamElement_FWD_DEFINED__
#define __HTMLParamElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLParamElement HTMLParamElement;
#else
typedef struct HTMLParamElement HTMLParamElement;
#endif /* __cplusplus */

#endif 	/* __HTMLParamElement_FWD_DEFINED__ */


#ifndef __HTMLFrameSiteEvents2_FWD_DEFINED__
#define __HTMLFrameSiteEvents2_FWD_DEFINED__
typedef interface HTMLFrameSiteEvents2 HTMLFrameSiteEvents2;

#endif 	/* __HTMLFrameSiteEvents2_FWD_DEFINED__ */


#ifndef __HTMLFrameSiteEvents_FWD_DEFINED__
#define __HTMLFrameSiteEvents_FWD_DEFINED__
typedef interface HTMLFrameSiteEvents HTMLFrameSiteEvents;

#endif 	/* __HTMLFrameSiteEvents_FWD_DEFINED__ */


#ifndef __IHTMLFrameBase2_FWD_DEFINED__
#define __IHTMLFrameBase2_FWD_DEFINED__
typedef interface IHTMLFrameBase2 IHTMLFrameBase2;

#endif 	/* __IHTMLFrameBase2_FWD_DEFINED__ */


#ifndef __IHTMLFrameBase3_FWD_DEFINED__
#define __IHTMLFrameBase3_FWD_DEFINED__
typedef interface IHTMLFrameBase3 IHTMLFrameBase3;

#endif 	/* __IHTMLFrameBase3_FWD_DEFINED__ */


#ifndef __DispHTMLFrameBase_FWD_DEFINED__
#define __DispHTMLFrameBase_FWD_DEFINED__
typedef interface DispHTMLFrameBase DispHTMLFrameBase;

#endif 	/* __DispHTMLFrameBase_FWD_DEFINED__ */


#ifndef __HTMLFrameBase_FWD_DEFINED__
#define __HTMLFrameBase_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLFrameBase HTMLFrameBase;
#else
typedef struct HTMLFrameBase HTMLFrameBase;
#endif /* __cplusplus */

#endif 	/* __HTMLFrameBase_FWD_DEFINED__ */


#ifndef __IHTMLFrameElement_FWD_DEFINED__
#define __IHTMLFrameElement_FWD_DEFINED__
typedef interface IHTMLFrameElement IHTMLFrameElement;

#endif 	/* __IHTMLFrameElement_FWD_DEFINED__ */


#ifndef __IHTMLFrameElement2_FWD_DEFINED__
#define __IHTMLFrameElement2_FWD_DEFINED__
typedef interface IHTMLFrameElement2 IHTMLFrameElement2;

#endif 	/* __IHTMLFrameElement2_FWD_DEFINED__ */


#ifndef __IHTMLFrameElement3_FWD_DEFINED__
#define __IHTMLFrameElement3_FWD_DEFINED__
typedef interface IHTMLFrameElement3 IHTMLFrameElement3;

#endif 	/* __IHTMLFrameElement3_FWD_DEFINED__ */


#ifndef __DispHTMLFrameElement_FWD_DEFINED__
#define __DispHTMLFrameElement_FWD_DEFINED__
typedef interface DispHTMLFrameElement DispHTMLFrameElement;

#endif 	/* __DispHTMLFrameElement_FWD_DEFINED__ */


#ifndef __HTMLFrameElement_FWD_DEFINED__
#define __HTMLFrameElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLFrameElement HTMLFrameElement;
#else
typedef struct HTMLFrameElement HTMLFrameElement;
#endif /* __cplusplus */

#endif 	/* __HTMLFrameElement_FWD_DEFINED__ */


#ifndef __IHTMLIFrameElement_FWD_DEFINED__
#define __IHTMLIFrameElement_FWD_DEFINED__
typedef interface IHTMLIFrameElement IHTMLIFrameElement;

#endif 	/* __IHTMLIFrameElement_FWD_DEFINED__ */


#ifndef __IHTMLIFrameElement2_FWD_DEFINED__
#define __IHTMLIFrameElement2_FWD_DEFINED__
typedef interface IHTMLIFrameElement2 IHTMLIFrameElement2;

#endif 	/* __IHTMLIFrameElement2_FWD_DEFINED__ */


#ifndef __IHTMLIFrameElement3_FWD_DEFINED__
#define __IHTMLIFrameElement3_FWD_DEFINED__
typedef interface IHTMLIFrameElement3 IHTMLIFrameElement3;

#endif 	/* __IHTMLIFrameElement3_FWD_DEFINED__ */


#ifndef __DispHTMLIFrame_FWD_DEFINED__
#define __DispHTMLIFrame_FWD_DEFINED__
typedef interface DispHTMLIFrame DispHTMLIFrame;

#endif 	/* __DispHTMLIFrame_FWD_DEFINED__ */


#ifndef __HTMLIFrame_FWD_DEFINED__
#define __HTMLIFrame_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLIFrame HTMLIFrame;
#else
typedef struct HTMLIFrame HTMLIFrame;
#endif /* __cplusplus */

#endif 	/* __HTMLIFrame_FWD_DEFINED__ */


#ifndef __IHTMLDivPosition_FWD_DEFINED__
#define __IHTMLDivPosition_FWD_DEFINED__
typedef interface IHTMLDivPosition IHTMLDivPosition;

#endif 	/* __IHTMLDivPosition_FWD_DEFINED__ */


#ifndef __IHTMLFieldSetElement_FWD_DEFINED__
#define __IHTMLFieldSetElement_FWD_DEFINED__
typedef interface IHTMLFieldSetElement IHTMLFieldSetElement;

#endif 	/* __IHTMLFieldSetElement_FWD_DEFINED__ */


#ifndef __IHTMLFieldSetElement2_FWD_DEFINED__
#define __IHTMLFieldSetElement2_FWD_DEFINED__
typedef interface IHTMLFieldSetElement2 IHTMLFieldSetElement2;

#endif 	/* __IHTMLFieldSetElement2_FWD_DEFINED__ */


#ifndef __IHTMLLegendElement_FWD_DEFINED__
#define __IHTMLLegendElement_FWD_DEFINED__
typedef interface IHTMLLegendElement IHTMLLegendElement;

#endif 	/* __IHTMLLegendElement_FWD_DEFINED__ */


#ifndef __IHTMLLegendElement2_FWD_DEFINED__
#define __IHTMLLegendElement2_FWD_DEFINED__
typedef interface IHTMLLegendElement2 IHTMLLegendElement2;

#endif 	/* __IHTMLLegendElement2_FWD_DEFINED__ */


#ifndef __DispHTMLDivPosition_FWD_DEFINED__
#define __DispHTMLDivPosition_FWD_DEFINED__
typedef interface DispHTMLDivPosition DispHTMLDivPosition;

#endif 	/* __DispHTMLDivPosition_FWD_DEFINED__ */


#ifndef __HTMLDivPosition_FWD_DEFINED__
#define __HTMLDivPosition_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLDivPosition HTMLDivPosition;
#else
typedef struct HTMLDivPosition HTMLDivPosition;
#endif /* __cplusplus */

#endif 	/* __HTMLDivPosition_FWD_DEFINED__ */


#ifndef __DispHTMLFieldSetElement_FWD_DEFINED__
#define __DispHTMLFieldSetElement_FWD_DEFINED__
typedef interface DispHTMLFieldSetElement DispHTMLFieldSetElement;

#endif 	/* __DispHTMLFieldSetElement_FWD_DEFINED__ */


#ifndef __HTMLFieldSetElement_FWD_DEFINED__
#define __HTMLFieldSetElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLFieldSetElement HTMLFieldSetElement;
#else
typedef struct HTMLFieldSetElement HTMLFieldSetElement;
#endif /* __cplusplus */

#endif 	/* __HTMLFieldSetElement_FWD_DEFINED__ */


#ifndef __DispHTMLLegendElement_FWD_DEFINED__
#define __DispHTMLLegendElement_FWD_DEFINED__
typedef interface DispHTMLLegendElement DispHTMLLegendElement;

#endif 	/* __DispHTMLLegendElement_FWD_DEFINED__ */


#ifndef __HTMLLegendElement_FWD_DEFINED__
#define __HTMLLegendElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLLegendElement HTMLLegendElement;
#else
typedef struct HTMLLegendElement HTMLLegendElement;
#endif /* __cplusplus */

#endif 	/* __HTMLLegendElement_FWD_DEFINED__ */


#ifndef __IHTMLSpanFlow_FWD_DEFINED__
#define __IHTMLSpanFlow_FWD_DEFINED__
typedef interface IHTMLSpanFlow IHTMLSpanFlow;

#endif 	/* __IHTMLSpanFlow_FWD_DEFINED__ */


#ifndef __DispHTMLSpanFlow_FWD_DEFINED__
#define __DispHTMLSpanFlow_FWD_DEFINED__
typedef interface DispHTMLSpanFlow DispHTMLSpanFlow;

#endif 	/* __DispHTMLSpanFlow_FWD_DEFINED__ */


#ifndef __HTMLSpanFlow_FWD_DEFINED__
#define __HTMLSpanFlow_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLSpanFlow HTMLSpanFlow;
#else
typedef struct HTMLSpanFlow HTMLSpanFlow;
#endif /* __cplusplus */

#endif 	/* __HTMLSpanFlow_FWD_DEFINED__ */


#ifndef __IHTMLFrameSetElement_FWD_DEFINED__
#define __IHTMLFrameSetElement_FWD_DEFINED__
typedef interface IHTMLFrameSetElement IHTMLFrameSetElement;

#endif 	/* __IHTMLFrameSetElement_FWD_DEFINED__ */


#ifndef __IHTMLFrameSetElement2_FWD_DEFINED__
#define __IHTMLFrameSetElement2_FWD_DEFINED__
typedef interface IHTMLFrameSetElement2 IHTMLFrameSetElement2;

#endif 	/* __IHTMLFrameSetElement2_FWD_DEFINED__ */


#ifndef __IHTMLFrameSetElement3_FWD_DEFINED__
#define __IHTMLFrameSetElement3_FWD_DEFINED__
typedef interface IHTMLFrameSetElement3 IHTMLFrameSetElement3;

#endif 	/* __IHTMLFrameSetElement3_FWD_DEFINED__ */


#ifndef __DispHTMLFrameSetSite_FWD_DEFINED__
#define __DispHTMLFrameSetSite_FWD_DEFINED__
typedef interface DispHTMLFrameSetSite DispHTMLFrameSetSite;

#endif 	/* __DispHTMLFrameSetSite_FWD_DEFINED__ */


#ifndef __HTMLFrameSetSite_FWD_DEFINED__
#define __HTMLFrameSetSite_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLFrameSetSite HTMLFrameSetSite;
#else
typedef struct HTMLFrameSetSite HTMLFrameSetSite;
#endif /* __cplusplus */

#endif 	/* __HTMLFrameSetSite_FWD_DEFINED__ */


#ifndef __IHTMLBGsound_FWD_DEFINED__
#define __IHTMLBGsound_FWD_DEFINED__
typedef interface IHTMLBGsound IHTMLBGsound;

#endif 	/* __IHTMLBGsound_FWD_DEFINED__ */


#ifndef __DispHTMLBGsound_FWD_DEFINED__
#define __DispHTMLBGsound_FWD_DEFINED__
typedef interface DispHTMLBGsound DispHTMLBGsound;

#endif 	/* __DispHTMLBGsound_FWD_DEFINED__ */


#ifndef __HTMLBGsound_FWD_DEFINED__
#define __HTMLBGsound_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLBGsound HTMLBGsound;
#else
typedef struct HTMLBGsound HTMLBGsound;
#endif /* __cplusplus */

#endif 	/* __HTMLBGsound_FWD_DEFINED__ */


#ifndef __IHTMLFontNamesCollection_FWD_DEFINED__
#define __IHTMLFontNamesCollection_FWD_DEFINED__
typedef interface IHTMLFontNamesCollection IHTMLFontNamesCollection;

#endif 	/* __IHTMLFontNamesCollection_FWD_DEFINED__ */


#ifndef __IHTMLFontSizesCollection_FWD_DEFINED__
#define __IHTMLFontSizesCollection_FWD_DEFINED__
typedef interface IHTMLFontSizesCollection IHTMLFontSizesCollection;

#endif 	/* __IHTMLFontSizesCollection_FWD_DEFINED__ */


#ifndef __IHTMLOptionsHolder_FWD_DEFINED__
#define __IHTMLOptionsHolder_FWD_DEFINED__
typedef interface IHTMLOptionsHolder IHTMLOptionsHolder;

#endif 	/* __IHTMLOptionsHolder_FWD_DEFINED__ */


#ifndef __HTMLStyleElementEvents2_FWD_DEFINED__
#define __HTMLStyleElementEvents2_FWD_DEFINED__
typedef interface HTMLStyleElementEvents2 HTMLStyleElementEvents2;

#endif 	/* __HTMLStyleElementEvents2_FWD_DEFINED__ */


#ifndef __HTMLStyleElementEvents_FWD_DEFINED__
#define __HTMLStyleElementEvents_FWD_DEFINED__
typedef interface HTMLStyleElementEvents HTMLStyleElementEvents;

#endif 	/* __HTMLStyleElementEvents_FWD_DEFINED__ */


#ifndef __IHTMLStyleElement_FWD_DEFINED__
#define __IHTMLStyleElement_FWD_DEFINED__
typedef interface IHTMLStyleElement IHTMLStyleElement;

#endif 	/* __IHTMLStyleElement_FWD_DEFINED__ */


#ifndef __IHTMLStyleElement2_FWD_DEFINED__
#define __IHTMLStyleElement2_FWD_DEFINED__
typedef interface IHTMLStyleElement2 IHTMLStyleElement2;

#endif 	/* __IHTMLStyleElement2_FWD_DEFINED__ */


#ifndef __DispHTMLStyleElement_FWD_DEFINED__
#define __DispHTMLStyleElement_FWD_DEFINED__
typedef interface DispHTMLStyleElement DispHTMLStyleElement;

#endif 	/* __DispHTMLStyleElement_FWD_DEFINED__ */


#ifndef __HTMLStyleElement_FWD_DEFINED__
#define __HTMLStyleElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLStyleElement HTMLStyleElement;
#else
typedef struct HTMLStyleElement HTMLStyleElement;
#endif /* __cplusplus */

#endif 	/* __HTMLStyleElement_FWD_DEFINED__ */


#ifndef __IHTMLStyleFontFace_FWD_DEFINED__
#define __IHTMLStyleFontFace_FWD_DEFINED__
typedef interface IHTMLStyleFontFace IHTMLStyleFontFace;

#endif 	/* __IHTMLStyleFontFace_FWD_DEFINED__ */


#ifndef __IHTMLStyleFontFace2_FWD_DEFINED__
#define __IHTMLStyleFontFace2_FWD_DEFINED__
typedef interface IHTMLStyleFontFace2 IHTMLStyleFontFace2;

#endif 	/* __IHTMLStyleFontFace2_FWD_DEFINED__ */


#ifndef __DispHTMLStyleFontFace_FWD_DEFINED__
#define __DispHTMLStyleFontFace_FWD_DEFINED__
typedef interface DispHTMLStyleFontFace DispHTMLStyleFontFace;

#endif 	/* __DispHTMLStyleFontFace_FWD_DEFINED__ */


#ifndef __HTMLStyleFontFace_FWD_DEFINED__
#define __HTMLStyleFontFace_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLStyleFontFace HTMLStyleFontFace;
#else
typedef struct HTMLStyleFontFace HTMLStyleFontFace;
#endif /* __cplusplus */

#endif 	/* __HTMLStyleFontFace_FWD_DEFINED__ */


#ifndef __IHTMLXDomainRequest_FWD_DEFINED__
#define __IHTMLXDomainRequest_FWD_DEFINED__
typedef interface IHTMLXDomainRequest IHTMLXDomainRequest;

#endif 	/* __IHTMLXDomainRequest_FWD_DEFINED__ */


#ifndef __IHTMLXDomainRequestFactory_FWD_DEFINED__
#define __IHTMLXDomainRequestFactory_FWD_DEFINED__
typedef interface IHTMLXDomainRequestFactory IHTMLXDomainRequestFactory;

#endif 	/* __IHTMLXDomainRequestFactory_FWD_DEFINED__ */


#ifndef __DispXDomainRequest_FWD_DEFINED__
#define __DispXDomainRequest_FWD_DEFINED__
typedef interface DispXDomainRequest DispXDomainRequest;

#endif 	/* __DispXDomainRequest_FWD_DEFINED__ */


#ifndef __XDomainRequest_FWD_DEFINED__
#define __XDomainRequest_FWD_DEFINED__

#ifdef __cplusplus
typedef class XDomainRequest XDomainRequest;
#else
typedef struct XDomainRequest XDomainRequest;
#endif /* __cplusplus */

#endif 	/* __XDomainRequest_FWD_DEFINED__ */


#ifndef __XDomainRequestFactory_FWD_DEFINED__
#define __XDomainRequestFactory_FWD_DEFINED__

#ifdef __cplusplus
typedef class XDomainRequestFactory XDomainRequestFactory;
#else
typedef struct XDomainRequestFactory XDomainRequestFactory;
#endif /* __cplusplus */

#endif 	/* __XDomainRequestFactory_FWD_DEFINED__ */


#ifndef __IHTMLStorage2_FWD_DEFINED__
#define __IHTMLStorage2_FWD_DEFINED__
typedef interface IHTMLStorage2 IHTMLStorage2;

#endif 	/* __IHTMLStorage2_FWD_DEFINED__ */


#ifndef __DispHTMLStorage_FWD_DEFINED__
#define __DispHTMLStorage_FWD_DEFINED__
typedef interface DispHTMLStorage DispHTMLStorage;

#endif 	/* __DispHTMLStorage_FWD_DEFINED__ */


#ifndef __HTMLStorage_FWD_DEFINED__
#define __HTMLStorage_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLStorage HTMLStorage;
#else
typedef struct HTMLStorage HTMLStorage;
#endif /* __cplusplus */

#endif 	/* __HTMLStorage_FWD_DEFINED__ */


#ifndef __IEventTarget_FWD_DEFINED__
#define __IEventTarget_FWD_DEFINED__
typedef interface IEventTarget IEventTarget;

#endif 	/* __IEventTarget_FWD_DEFINED__ */


#ifndef __DispDOMEvent_FWD_DEFINED__
#define __DispDOMEvent_FWD_DEFINED__
typedef interface DispDOMEvent DispDOMEvent;

#endif 	/* __DispDOMEvent_FWD_DEFINED__ */


#ifndef __DOMEvent_FWD_DEFINED__
#define __DOMEvent_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMEvent DOMEvent;
#else
typedef struct DOMEvent DOMEvent;
#endif /* __cplusplus */

#endif 	/* __DOMEvent_FWD_DEFINED__ */


#ifndef __IDOMUIEvent_FWD_DEFINED__
#define __IDOMUIEvent_FWD_DEFINED__
typedef interface IDOMUIEvent IDOMUIEvent;

#endif 	/* __IDOMUIEvent_FWD_DEFINED__ */


#ifndef __DispDOMUIEvent_FWD_DEFINED__
#define __DispDOMUIEvent_FWD_DEFINED__
typedef interface DispDOMUIEvent DispDOMUIEvent;

#endif 	/* __DispDOMUIEvent_FWD_DEFINED__ */


#ifndef __DOMUIEvent_FWD_DEFINED__
#define __DOMUIEvent_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMUIEvent DOMUIEvent;
#else
typedef struct DOMUIEvent DOMUIEvent;
#endif /* __cplusplus */

#endif 	/* __DOMUIEvent_FWD_DEFINED__ */


#ifndef __IDOMMouseEvent_FWD_DEFINED__
#define __IDOMMouseEvent_FWD_DEFINED__
typedef interface IDOMMouseEvent IDOMMouseEvent;

#endif 	/* __IDOMMouseEvent_FWD_DEFINED__ */


#ifndef __DispDOMMouseEvent_FWD_DEFINED__
#define __DispDOMMouseEvent_FWD_DEFINED__
typedef interface DispDOMMouseEvent DispDOMMouseEvent;

#endif 	/* __DispDOMMouseEvent_FWD_DEFINED__ */


#ifndef __DOMMouseEvent_FWD_DEFINED__
#define __DOMMouseEvent_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMMouseEvent DOMMouseEvent;
#else
typedef struct DOMMouseEvent DOMMouseEvent;
#endif /* __cplusplus */

#endif 	/* __DOMMouseEvent_FWD_DEFINED__ */


#ifndef __IDOMDragEvent_FWD_DEFINED__
#define __IDOMDragEvent_FWD_DEFINED__
typedef interface IDOMDragEvent IDOMDragEvent;

#endif 	/* __IDOMDragEvent_FWD_DEFINED__ */


#ifndef __DispDOMDragEvent_FWD_DEFINED__
#define __DispDOMDragEvent_FWD_DEFINED__
typedef interface DispDOMDragEvent DispDOMDragEvent;

#endif 	/* __DispDOMDragEvent_FWD_DEFINED__ */


#ifndef __DOMDragEvent_FWD_DEFINED__
#define __DOMDragEvent_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMDragEvent DOMDragEvent;
#else
typedef struct DOMDragEvent DOMDragEvent;
#endif /* __cplusplus */

#endif 	/* __DOMDragEvent_FWD_DEFINED__ */


#ifndef __IDOMMouseWheelEvent_FWD_DEFINED__
#define __IDOMMouseWheelEvent_FWD_DEFINED__
typedef interface IDOMMouseWheelEvent IDOMMouseWheelEvent;

#endif 	/* __IDOMMouseWheelEvent_FWD_DEFINED__ */


#ifndef __DispDOMMouseWheelEvent_FWD_DEFINED__
#define __DispDOMMouseWheelEvent_FWD_DEFINED__
typedef interface DispDOMMouseWheelEvent DispDOMMouseWheelEvent;

#endif 	/* __DispDOMMouseWheelEvent_FWD_DEFINED__ */


#ifndef __DOMMouseWheelEvent_FWD_DEFINED__
#define __DOMMouseWheelEvent_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMMouseWheelEvent DOMMouseWheelEvent;
#else
typedef struct DOMMouseWheelEvent DOMMouseWheelEvent;
#endif /* __cplusplus */

#endif 	/* __DOMMouseWheelEvent_FWD_DEFINED__ */


#ifndef __IDOMWheelEvent_FWD_DEFINED__
#define __IDOMWheelEvent_FWD_DEFINED__
typedef interface IDOMWheelEvent IDOMWheelEvent;

#endif 	/* __IDOMWheelEvent_FWD_DEFINED__ */


#ifndef __DispDOMWheelEvent_FWD_DEFINED__
#define __DispDOMWheelEvent_FWD_DEFINED__
typedef interface DispDOMWheelEvent DispDOMWheelEvent;

#endif 	/* __DispDOMWheelEvent_FWD_DEFINED__ */


#ifndef __DOMWheelEvent_FWD_DEFINED__
#define __DOMWheelEvent_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMWheelEvent DOMWheelEvent;
#else
typedef struct DOMWheelEvent DOMWheelEvent;
#endif /* __cplusplus */

#endif 	/* __DOMWheelEvent_FWD_DEFINED__ */


#ifndef __IDOMTextEvent_FWD_DEFINED__
#define __IDOMTextEvent_FWD_DEFINED__
typedef interface IDOMTextEvent IDOMTextEvent;

#endif 	/* __IDOMTextEvent_FWD_DEFINED__ */


#ifndef __DispDOMTextEvent_FWD_DEFINED__
#define __DispDOMTextEvent_FWD_DEFINED__
typedef interface DispDOMTextEvent DispDOMTextEvent;

#endif 	/* __DispDOMTextEvent_FWD_DEFINED__ */


#ifndef __DOMTextEvent_FWD_DEFINED__
#define __DOMTextEvent_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMTextEvent DOMTextEvent;
#else
typedef struct DOMTextEvent DOMTextEvent;
#endif /* __cplusplus */

#endif 	/* __DOMTextEvent_FWD_DEFINED__ */


#ifndef __IDOMKeyboardEvent_FWD_DEFINED__
#define __IDOMKeyboardEvent_FWD_DEFINED__
typedef interface IDOMKeyboardEvent IDOMKeyboardEvent;

#endif 	/* __IDOMKeyboardEvent_FWD_DEFINED__ */


#ifndef __DispDOMKeyboardEvent_FWD_DEFINED__
#define __DispDOMKeyboardEvent_FWD_DEFINED__
typedef interface DispDOMKeyboardEvent DispDOMKeyboardEvent;

#endif 	/* __DispDOMKeyboardEvent_FWD_DEFINED__ */


#ifndef __DOMKeyboardEvent_FWD_DEFINED__
#define __DOMKeyboardEvent_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMKeyboardEvent DOMKeyboardEvent;
#else
typedef struct DOMKeyboardEvent DOMKeyboardEvent;
#endif /* __cplusplus */

#endif 	/* __DOMKeyboardEvent_FWD_DEFINED__ */


#ifndef __IDOMCompositionEvent_FWD_DEFINED__
#define __IDOMCompositionEvent_FWD_DEFINED__
typedef interface IDOMCompositionEvent IDOMCompositionEvent;

#endif 	/* __IDOMCompositionEvent_FWD_DEFINED__ */


#ifndef __DispDOMCompositionEvent_FWD_DEFINED__
#define __DispDOMCompositionEvent_FWD_DEFINED__
typedef interface DispDOMCompositionEvent DispDOMCompositionEvent;

#endif 	/* __DispDOMCompositionEvent_FWD_DEFINED__ */


#ifndef __DOMCompositionEvent_FWD_DEFINED__
#define __DOMCompositionEvent_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMCompositionEvent DOMCompositionEvent;
#else
typedef struct DOMCompositionEvent DOMCompositionEvent;
#endif /* __cplusplus */

#endif 	/* __DOMCompositionEvent_FWD_DEFINED__ */


#ifndef __IDOMMutationEvent_FWD_DEFINED__
#define __IDOMMutationEvent_FWD_DEFINED__
typedef interface IDOMMutationEvent IDOMMutationEvent;

#endif 	/* __IDOMMutationEvent_FWD_DEFINED__ */


#ifndef __DispDOMMutationEvent_FWD_DEFINED__
#define __DispDOMMutationEvent_FWD_DEFINED__
typedef interface DispDOMMutationEvent DispDOMMutationEvent;

#endif 	/* __DispDOMMutationEvent_FWD_DEFINED__ */


#ifndef __DOMMutationEvent_FWD_DEFINED__
#define __DOMMutationEvent_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMMutationEvent DOMMutationEvent;
#else
typedef struct DOMMutationEvent DOMMutationEvent;
#endif /* __cplusplus */

#endif 	/* __DOMMutationEvent_FWD_DEFINED__ */


#ifndef __IDOMBeforeUnloadEvent_FWD_DEFINED__
#define __IDOMBeforeUnloadEvent_FWD_DEFINED__
typedef interface IDOMBeforeUnloadEvent IDOMBeforeUnloadEvent;

#endif 	/* __IDOMBeforeUnloadEvent_FWD_DEFINED__ */


#ifndef __DispDOMBeforeUnloadEvent_FWD_DEFINED__
#define __DispDOMBeforeUnloadEvent_FWD_DEFINED__
typedef interface DispDOMBeforeUnloadEvent DispDOMBeforeUnloadEvent;

#endif 	/* __DispDOMBeforeUnloadEvent_FWD_DEFINED__ */


#ifndef __DOMBeforeUnloadEvent_FWD_DEFINED__
#define __DOMBeforeUnloadEvent_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMBeforeUnloadEvent DOMBeforeUnloadEvent;
#else
typedef struct DOMBeforeUnloadEvent DOMBeforeUnloadEvent;
#endif /* __cplusplus */

#endif 	/* __DOMBeforeUnloadEvent_FWD_DEFINED__ */


#ifndef __IDOMFocusEvent_FWD_DEFINED__
#define __IDOMFocusEvent_FWD_DEFINED__
typedef interface IDOMFocusEvent IDOMFocusEvent;

#endif 	/* __IDOMFocusEvent_FWD_DEFINED__ */


#ifndef __DispDOMFocusEvent_FWD_DEFINED__
#define __DispDOMFocusEvent_FWD_DEFINED__
typedef interface DispDOMFocusEvent DispDOMFocusEvent;

#endif 	/* __DispDOMFocusEvent_FWD_DEFINED__ */


#ifndef __DOMFocusEvent_FWD_DEFINED__
#define __DOMFocusEvent_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMFocusEvent DOMFocusEvent;
#else
typedef struct DOMFocusEvent DOMFocusEvent;
#endif /* __cplusplus */

#endif 	/* __DOMFocusEvent_FWD_DEFINED__ */


#ifndef __IDOMCustomEvent_FWD_DEFINED__
#define __IDOMCustomEvent_FWD_DEFINED__
typedef interface IDOMCustomEvent IDOMCustomEvent;

#endif 	/* __IDOMCustomEvent_FWD_DEFINED__ */


#ifndef __DispDOMCustomEvent_FWD_DEFINED__
#define __DispDOMCustomEvent_FWD_DEFINED__
typedef interface DispDOMCustomEvent DispDOMCustomEvent;

#endif 	/* __DispDOMCustomEvent_FWD_DEFINED__ */


#ifndef __DOMCustomEvent_FWD_DEFINED__
#define __DOMCustomEvent_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMCustomEvent DOMCustomEvent;
#else
typedef struct DOMCustomEvent DOMCustomEvent;
#endif /* __cplusplus */

#endif 	/* __DOMCustomEvent_FWD_DEFINED__ */


#ifndef __ICanvasGradient_FWD_DEFINED__
#define __ICanvasGradient_FWD_DEFINED__
typedef interface ICanvasGradient ICanvasGradient;

#endif 	/* __ICanvasGradient_FWD_DEFINED__ */


#ifndef __ICanvasPattern_FWD_DEFINED__
#define __ICanvasPattern_FWD_DEFINED__
typedef interface ICanvasPattern ICanvasPattern;

#endif 	/* __ICanvasPattern_FWD_DEFINED__ */


#ifndef __ICanvasTextMetrics_FWD_DEFINED__
#define __ICanvasTextMetrics_FWD_DEFINED__
typedef interface ICanvasTextMetrics ICanvasTextMetrics;

#endif 	/* __ICanvasTextMetrics_FWD_DEFINED__ */


#ifndef __ICanvasImageData_FWD_DEFINED__
#define __ICanvasImageData_FWD_DEFINED__
typedef interface ICanvasImageData ICanvasImageData;

#endif 	/* __ICanvasImageData_FWD_DEFINED__ */


#ifndef __ICanvasPixelArray_FWD_DEFINED__
#define __ICanvasPixelArray_FWD_DEFINED__
typedef interface ICanvasPixelArray ICanvasPixelArray;

#endif 	/* __ICanvasPixelArray_FWD_DEFINED__ */


#ifndef __IHTMLCanvasElement_FWD_DEFINED__
#define __IHTMLCanvasElement_FWD_DEFINED__
typedef interface IHTMLCanvasElement IHTMLCanvasElement;

#endif 	/* __IHTMLCanvasElement_FWD_DEFINED__ */


#ifndef __ICanvasRenderingContext2D_FWD_DEFINED__
#define __ICanvasRenderingContext2D_FWD_DEFINED__
typedef interface ICanvasRenderingContext2D ICanvasRenderingContext2D;

#endif 	/* __ICanvasRenderingContext2D_FWD_DEFINED__ */


#ifndef __DispCanvasGradient_FWD_DEFINED__
#define __DispCanvasGradient_FWD_DEFINED__
typedef interface DispCanvasGradient DispCanvasGradient;

#endif 	/* __DispCanvasGradient_FWD_DEFINED__ */


#ifndef __CanvasGradient_FWD_DEFINED__
#define __CanvasGradient_FWD_DEFINED__

#ifdef __cplusplus
typedef class CanvasGradient CanvasGradient;
#else
typedef struct CanvasGradient CanvasGradient;
#endif /* __cplusplus */

#endif 	/* __CanvasGradient_FWD_DEFINED__ */


#ifndef __DispCanvasPattern_FWD_DEFINED__
#define __DispCanvasPattern_FWD_DEFINED__
typedef interface DispCanvasPattern DispCanvasPattern;

#endif 	/* __DispCanvasPattern_FWD_DEFINED__ */


#ifndef __CanvasPattern_FWD_DEFINED__
#define __CanvasPattern_FWD_DEFINED__

#ifdef __cplusplus
typedef class CanvasPattern CanvasPattern;
#else
typedef struct CanvasPattern CanvasPattern;
#endif /* __cplusplus */

#endif 	/* __CanvasPattern_FWD_DEFINED__ */


#ifndef __DispCanvasTextMetrics_FWD_DEFINED__
#define __DispCanvasTextMetrics_FWD_DEFINED__
typedef interface DispCanvasTextMetrics DispCanvasTextMetrics;

#endif 	/* __DispCanvasTextMetrics_FWD_DEFINED__ */


#ifndef __CanvasTextMetrics_FWD_DEFINED__
#define __CanvasTextMetrics_FWD_DEFINED__

#ifdef __cplusplus
typedef class CanvasTextMetrics CanvasTextMetrics;
#else
typedef struct CanvasTextMetrics CanvasTextMetrics;
#endif /* __cplusplus */

#endif 	/* __CanvasTextMetrics_FWD_DEFINED__ */


#ifndef __DispCanvasImageData_FWD_DEFINED__
#define __DispCanvasImageData_FWD_DEFINED__
typedef interface DispCanvasImageData DispCanvasImageData;

#endif 	/* __DispCanvasImageData_FWD_DEFINED__ */


#ifndef __CanvasImageData_FWD_DEFINED__
#define __CanvasImageData_FWD_DEFINED__

#ifdef __cplusplus
typedef class CanvasImageData CanvasImageData;
#else
typedef struct CanvasImageData CanvasImageData;
#endif /* __cplusplus */

#endif 	/* __CanvasImageData_FWD_DEFINED__ */


#ifndef __DispCanvasRenderingContext2D_FWD_DEFINED__
#define __DispCanvasRenderingContext2D_FWD_DEFINED__
typedef interface DispCanvasRenderingContext2D DispCanvasRenderingContext2D;

#endif 	/* __DispCanvasRenderingContext2D_FWD_DEFINED__ */


#ifndef __CanvasRenderingContext2D_FWD_DEFINED__
#define __CanvasRenderingContext2D_FWD_DEFINED__

#ifdef __cplusplus
typedef class CanvasRenderingContext2D CanvasRenderingContext2D;
#else
typedef struct CanvasRenderingContext2D CanvasRenderingContext2D;
#endif /* __cplusplus */

#endif 	/* __CanvasRenderingContext2D_FWD_DEFINED__ */


#ifndef __DispHTMLCanvasElement_FWD_DEFINED__
#define __DispHTMLCanvasElement_FWD_DEFINED__
typedef interface DispHTMLCanvasElement DispHTMLCanvasElement;

#endif 	/* __DispHTMLCanvasElement_FWD_DEFINED__ */


#ifndef __HTMLCanvasElement_FWD_DEFINED__
#define __HTMLCanvasElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLCanvasElement HTMLCanvasElement;
#else
typedef struct HTMLCanvasElement HTMLCanvasElement;
#endif /* __cplusplus */

#endif 	/* __HTMLCanvasElement_FWD_DEFINED__ */


#ifndef __IDOMProgressEvent_FWD_DEFINED__
#define __IDOMProgressEvent_FWD_DEFINED__
typedef interface IDOMProgressEvent IDOMProgressEvent;

#endif 	/* __IDOMProgressEvent_FWD_DEFINED__ */


#ifndef __DispDOMProgressEvent_FWD_DEFINED__
#define __DispDOMProgressEvent_FWD_DEFINED__
typedef interface DispDOMProgressEvent DispDOMProgressEvent;

#endif 	/* __DispDOMProgressEvent_FWD_DEFINED__ */


#ifndef __DOMProgressEvent_FWD_DEFINED__
#define __DOMProgressEvent_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMProgressEvent DOMProgressEvent;
#else
typedef struct DOMProgressEvent DOMProgressEvent;
#endif /* __cplusplus */

#endif 	/* __DOMProgressEvent_FWD_DEFINED__ */


#ifndef __IDOMMessageEvent_FWD_DEFINED__
#define __IDOMMessageEvent_FWD_DEFINED__
typedef interface IDOMMessageEvent IDOMMessageEvent;

#endif 	/* __IDOMMessageEvent_FWD_DEFINED__ */


#ifndef __DispDOMMessageEvent_FWD_DEFINED__
#define __DispDOMMessageEvent_FWD_DEFINED__
typedef interface DispDOMMessageEvent DispDOMMessageEvent;

#endif 	/* __DispDOMMessageEvent_FWD_DEFINED__ */


#ifndef __DOMMessageEvent_FWD_DEFINED__
#define __DOMMessageEvent_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMMessageEvent DOMMessageEvent;
#else
typedef struct DOMMessageEvent DOMMessageEvent;
#endif /* __cplusplus */

#endif 	/* __DOMMessageEvent_FWD_DEFINED__ */


#ifndef __IDOMSiteModeEvent_FWD_DEFINED__
#define __IDOMSiteModeEvent_FWD_DEFINED__
typedef interface IDOMSiteModeEvent IDOMSiteModeEvent;

#endif 	/* __IDOMSiteModeEvent_FWD_DEFINED__ */


#ifndef __DispDOMSiteModeEvent_FWD_DEFINED__
#define __DispDOMSiteModeEvent_FWD_DEFINED__
typedef interface DispDOMSiteModeEvent DispDOMSiteModeEvent;

#endif 	/* __DispDOMSiteModeEvent_FWD_DEFINED__ */


#ifndef __DOMSiteModeEvent_FWD_DEFINED__
#define __DOMSiteModeEvent_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMSiteModeEvent DOMSiteModeEvent;
#else
typedef struct DOMSiteModeEvent DOMSiteModeEvent;
#endif /* __cplusplus */

#endif 	/* __DOMSiteModeEvent_FWD_DEFINED__ */


#ifndef __IDOMStorageEvent_FWD_DEFINED__
#define __IDOMStorageEvent_FWD_DEFINED__
typedef interface IDOMStorageEvent IDOMStorageEvent;

#endif 	/* __IDOMStorageEvent_FWD_DEFINED__ */


#ifndef __DispDOMStorageEvent_FWD_DEFINED__
#define __DispDOMStorageEvent_FWD_DEFINED__
typedef interface DispDOMStorageEvent DispDOMStorageEvent;

#endif 	/* __DispDOMStorageEvent_FWD_DEFINED__ */


#ifndef __DOMStorageEvent_FWD_DEFINED__
#define __DOMStorageEvent_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMStorageEvent DOMStorageEvent;
#else
typedef struct DOMStorageEvent DOMStorageEvent;
#endif /* __cplusplus */

#endif 	/* __DOMStorageEvent_FWD_DEFINED__ */


#ifndef __IXMLHttpRequestEventTarget_FWD_DEFINED__
#define __IXMLHttpRequestEventTarget_FWD_DEFINED__
typedef interface IXMLHttpRequestEventTarget IXMLHttpRequestEventTarget;

#endif 	/* __IXMLHttpRequestEventTarget_FWD_DEFINED__ */


#ifndef __DispXMLHttpRequestEventTarget_FWD_DEFINED__
#define __DispXMLHttpRequestEventTarget_FWD_DEFINED__
typedef interface DispXMLHttpRequestEventTarget DispXMLHttpRequestEventTarget;

#endif 	/* __DispXMLHttpRequestEventTarget_FWD_DEFINED__ */


#ifndef __XMLHttpRequestEventTarget_FWD_DEFINED__
#define __XMLHttpRequestEventTarget_FWD_DEFINED__

#ifdef __cplusplus
typedef class XMLHttpRequestEventTarget XMLHttpRequestEventTarget;
#else
typedef struct XMLHttpRequestEventTarget XMLHttpRequestEventTarget;
#endif /* __cplusplus */

#endif 	/* __XMLHttpRequestEventTarget_FWD_DEFINED__ */


#ifndef __HTMLXMLHttpRequestEvents_FWD_DEFINED__
#define __HTMLXMLHttpRequestEvents_FWD_DEFINED__
typedef interface HTMLXMLHttpRequestEvents HTMLXMLHttpRequestEvents;

#endif 	/* __HTMLXMLHttpRequestEvents_FWD_DEFINED__ */


#ifndef __IHTMLXMLHttpRequest_FWD_DEFINED__
#define __IHTMLXMLHttpRequest_FWD_DEFINED__
typedef interface IHTMLXMLHttpRequest IHTMLXMLHttpRequest;

#endif 	/* __IHTMLXMLHttpRequest_FWD_DEFINED__ */


#ifndef __IHTMLXMLHttpRequest2_FWD_DEFINED__
#define __IHTMLXMLHttpRequest2_FWD_DEFINED__
typedef interface IHTMLXMLHttpRequest2 IHTMLXMLHttpRequest2;

#endif 	/* __IHTMLXMLHttpRequest2_FWD_DEFINED__ */


#ifndef __IHTMLXMLHttpRequestFactory_FWD_DEFINED__
#define __IHTMLXMLHttpRequestFactory_FWD_DEFINED__
typedef interface IHTMLXMLHttpRequestFactory IHTMLXMLHttpRequestFactory;

#endif 	/* __IHTMLXMLHttpRequestFactory_FWD_DEFINED__ */


#ifndef __DispHTMLXMLHttpRequest_FWD_DEFINED__
#define __DispHTMLXMLHttpRequest_FWD_DEFINED__
typedef interface DispHTMLXMLHttpRequest DispHTMLXMLHttpRequest;

#endif 	/* __DispHTMLXMLHttpRequest_FWD_DEFINED__ */


#ifndef __HTMLXMLHttpRequest_FWD_DEFINED__
#define __HTMLXMLHttpRequest_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLXMLHttpRequest HTMLXMLHttpRequest;
#else
typedef struct HTMLXMLHttpRequest HTMLXMLHttpRequest;
#endif /* __cplusplus */

#endif 	/* __HTMLXMLHttpRequest_FWD_DEFINED__ */


#ifndef __HTMLXMLHttpRequestFactory_FWD_DEFINED__
#define __HTMLXMLHttpRequestFactory_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLXMLHttpRequestFactory HTMLXMLHttpRequestFactory;
#else
typedef struct HTMLXMLHttpRequestFactory HTMLXMLHttpRequestFactory;
#endif /* __cplusplus */

#endif 	/* __HTMLXMLHttpRequestFactory_FWD_DEFINED__ */


#ifndef __ISVGAngle_FWD_DEFINED__
#define __ISVGAngle_FWD_DEFINED__
typedef interface ISVGAngle ISVGAngle;

#endif 	/* __ISVGAngle_FWD_DEFINED__ */


#ifndef __SVGAngle_FWD_DEFINED__
#define __SVGAngle_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGAngle SVGAngle;
#else
typedef struct SVGAngle SVGAngle;
#endif /* __cplusplus */

#endif 	/* __SVGAngle_FWD_DEFINED__ */


#ifndef __ISVGElement_FWD_DEFINED__
#define __ISVGElement_FWD_DEFINED__
typedef interface ISVGElement ISVGElement;

#endif 	/* __ISVGElement_FWD_DEFINED__ */


#ifndef __ISVGRect_FWD_DEFINED__
#define __ISVGRect_FWD_DEFINED__
typedef interface ISVGRect ISVGRect;

#endif 	/* __ISVGRect_FWD_DEFINED__ */


#ifndef __ISVGMatrix_FWD_DEFINED__
#define __ISVGMatrix_FWD_DEFINED__
typedef interface ISVGMatrix ISVGMatrix;

#endif 	/* __ISVGMatrix_FWD_DEFINED__ */


#ifndef __ISVGStringList_FWD_DEFINED__
#define __ISVGStringList_FWD_DEFINED__
typedef interface ISVGStringList ISVGStringList;

#endif 	/* __ISVGStringList_FWD_DEFINED__ */


#ifndef __ISVGAnimatedRect_FWD_DEFINED__
#define __ISVGAnimatedRect_FWD_DEFINED__
typedef interface ISVGAnimatedRect ISVGAnimatedRect;

#endif 	/* __ISVGAnimatedRect_FWD_DEFINED__ */


#ifndef __ISVGAnimatedString_FWD_DEFINED__
#define __ISVGAnimatedString_FWD_DEFINED__
typedef interface ISVGAnimatedString ISVGAnimatedString;

#endif 	/* __ISVGAnimatedString_FWD_DEFINED__ */


#ifndef __ISVGAnimatedBoolean_FWD_DEFINED__
#define __ISVGAnimatedBoolean_FWD_DEFINED__
typedef interface ISVGAnimatedBoolean ISVGAnimatedBoolean;

#endif 	/* __ISVGAnimatedBoolean_FWD_DEFINED__ */


#ifndef __ISVGAnimatedTransformList_FWD_DEFINED__
#define __ISVGAnimatedTransformList_FWD_DEFINED__
typedef interface ISVGAnimatedTransformList ISVGAnimatedTransformList;

#endif 	/* __ISVGAnimatedTransformList_FWD_DEFINED__ */


#ifndef __ISVGAnimatedPreserveAspectRatio_FWD_DEFINED__
#define __ISVGAnimatedPreserveAspectRatio_FWD_DEFINED__
typedef interface ISVGAnimatedPreserveAspectRatio ISVGAnimatedPreserveAspectRatio;

#endif 	/* __ISVGAnimatedPreserveAspectRatio_FWD_DEFINED__ */


#ifndef __ISVGStylable_FWD_DEFINED__
#define __ISVGStylable_FWD_DEFINED__
typedef interface ISVGStylable ISVGStylable;

#endif 	/* __ISVGStylable_FWD_DEFINED__ */


#ifndef __ISVGLocatable_FWD_DEFINED__
#define __ISVGLocatable_FWD_DEFINED__
typedef interface ISVGLocatable ISVGLocatable;

#endif 	/* __ISVGLocatable_FWD_DEFINED__ */


#ifndef __ISVGTransformable_FWD_DEFINED__
#define __ISVGTransformable_FWD_DEFINED__
typedef interface ISVGTransformable ISVGTransformable;

#endif 	/* __ISVGTransformable_FWD_DEFINED__ */


#ifndef __ISVGTests_FWD_DEFINED__
#define __ISVGTests_FWD_DEFINED__
typedef interface ISVGTests ISVGTests;

#endif 	/* __ISVGTests_FWD_DEFINED__ */


#ifndef __ISVGLangSpace_FWD_DEFINED__
#define __ISVGLangSpace_FWD_DEFINED__
typedef interface ISVGLangSpace ISVGLangSpace;

#endif 	/* __ISVGLangSpace_FWD_DEFINED__ */


#ifndef __ISVGExternalResourcesRequired_FWD_DEFINED__
#define __ISVGExternalResourcesRequired_FWD_DEFINED__
typedef interface ISVGExternalResourcesRequired ISVGExternalResourcesRequired;

#endif 	/* __ISVGExternalResourcesRequired_FWD_DEFINED__ */


#ifndef __ISVGFitToViewBox_FWD_DEFINED__
#define __ISVGFitToViewBox_FWD_DEFINED__
typedef interface ISVGFitToViewBox ISVGFitToViewBox;

#endif 	/* __ISVGFitToViewBox_FWD_DEFINED__ */


#ifndef __ISVGZoomAndPan_FWD_DEFINED__
#define __ISVGZoomAndPan_FWD_DEFINED__
typedef interface ISVGZoomAndPan ISVGZoomAndPan;

#endif 	/* __ISVGZoomAndPan_FWD_DEFINED__ */


#ifndef __ISVGURIReference_FWD_DEFINED__
#define __ISVGURIReference_FWD_DEFINED__
typedef interface ISVGURIReference ISVGURIReference;

#endif 	/* __ISVGURIReference_FWD_DEFINED__ */


#ifndef __ISVGAnimatedAngle_FWD_DEFINED__
#define __ISVGAnimatedAngle_FWD_DEFINED__
typedef interface ISVGAnimatedAngle ISVGAnimatedAngle;

#endif 	/* __ISVGAnimatedAngle_FWD_DEFINED__ */


#ifndef __SVGAnimatedAngle_FWD_DEFINED__
#define __SVGAnimatedAngle_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGAnimatedAngle SVGAnimatedAngle;
#else
typedef struct SVGAnimatedAngle SVGAnimatedAngle;
#endif /* __cplusplus */

#endif 	/* __SVGAnimatedAngle_FWD_DEFINED__ */


#ifndef __ISVGTransformList_FWD_DEFINED__
#define __ISVGTransformList_FWD_DEFINED__
typedef interface ISVGTransformList ISVGTransformList;

#endif 	/* __ISVGTransformList_FWD_DEFINED__ */


#ifndef __SVGAnimatedTransformList_FWD_DEFINED__
#define __SVGAnimatedTransformList_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGAnimatedTransformList SVGAnimatedTransformList;
#else
typedef struct SVGAnimatedTransformList SVGAnimatedTransformList;
#endif /* __cplusplus */

#endif 	/* __SVGAnimatedTransformList_FWD_DEFINED__ */


#ifndef __SVGAnimatedBoolean_FWD_DEFINED__
#define __SVGAnimatedBoolean_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGAnimatedBoolean SVGAnimatedBoolean;
#else
typedef struct SVGAnimatedBoolean SVGAnimatedBoolean;
#endif /* __cplusplus */

#endif 	/* __SVGAnimatedBoolean_FWD_DEFINED__ */


#ifndef __ISVGAnimatedEnumeration_FWD_DEFINED__
#define __ISVGAnimatedEnumeration_FWD_DEFINED__
typedef interface ISVGAnimatedEnumeration ISVGAnimatedEnumeration;

#endif 	/* __ISVGAnimatedEnumeration_FWD_DEFINED__ */


#ifndef __SVGAnimatedEnumeration_FWD_DEFINED__
#define __SVGAnimatedEnumeration_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGAnimatedEnumeration SVGAnimatedEnumeration;
#else
typedef struct SVGAnimatedEnumeration SVGAnimatedEnumeration;
#endif /* __cplusplus */

#endif 	/* __SVGAnimatedEnumeration_FWD_DEFINED__ */


#ifndef __ISVGAnimatedInteger_FWD_DEFINED__
#define __ISVGAnimatedInteger_FWD_DEFINED__
typedef interface ISVGAnimatedInteger ISVGAnimatedInteger;

#endif 	/* __ISVGAnimatedInteger_FWD_DEFINED__ */


#ifndef __SVGAnimatedInteger_FWD_DEFINED__
#define __SVGAnimatedInteger_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGAnimatedInteger SVGAnimatedInteger;
#else
typedef struct SVGAnimatedInteger SVGAnimatedInteger;
#endif /* __cplusplus */

#endif 	/* __SVGAnimatedInteger_FWD_DEFINED__ */


#ifndef __ISVGLength_FWD_DEFINED__
#define __ISVGLength_FWD_DEFINED__
typedef interface ISVGLength ISVGLength;

#endif 	/* __ISVGLength_FWD_DEFINED__ */


#ifndef __ISVGAnimatedLength_FWD_DEFINED__
#define __ISVGAnimatedLength_FWD_DEFINED__
typedef interface ISVGAnimatedLength ISVGAnimatedLength;

#endif 	/* __ISVGAnimatedLength_FWD_DEFINED__ */


#ifndef __SVGAnimatedLength_FWD_DEFINED__
#define __SVGAnimatedLength_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGAnimatedLength SVGAnimatedLength;
#else
typedef struct SVGAnimatedLength SVGAnimatedLength;
#endif /* __cplusplus */

#endif 	/* __SVGAnimatedLength_FWD_DEFINED__ */


#ifndef __ISVGLengthList_FWD_DEFINED__
#define __ISVGLengthList_FWD_DEFINED__
typedef interface ISVGLengthList ISVGLengthList;

#endif 	/* __ISVGLengthList_FWD_DEFINED__ */


#ifndef __ISVGAnimatedLengthList_FWD_DEFINED__
#define __ISVGAnimatedLengthList_FWD_DEFINED__
typedef interface ISVGAnimatedLengthList ISVGAnimatedLengthList;

#endif 	/* __ISVGAnimatedLengthList_FWD_DEFINED__ */


#ifndef __SVGAnimatedLengthList_FWD_DEFINED__
#define __SVGAnimatedLengthList_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGAnimatedLengthList SVGAnimatedLengthList;
#else
typedef struct SVGAnimatedLengthList SVGAnimatedLengthList;
#endif /* __cplusplus */

#endif 	/* __SVGAnimatedLengthList_FWD_DEFINED__ */


#ifndef __ISVGNumber_FWD_DEFINED__
#define __ISVGNumber_FWD_DEFINED__
typedef interface ISVGNumber ISVGNumber;

#endif 	/* __ISVGNumber_FWD_DEFINED__ */


#ifndef __ISVGAnimatedNumber_FWD_DEFINED__
#define __ISVGAnimatedNumber_FWD_DEFINED__
typedef interface ISVGAnimatedNumber ISVGAnimatedNumber;

#endif 	/* __ISVGAnimatedNumber_FWD_DEFINED__ */


#ifndef __SVGAnimatedNumber_FWD_DEFINED__
#define __SVGAnimatedNumber_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGAnimatedNumber SVGAnimatedNumber;
#else
typedef struct SVGAnimatedNumber SVGAnimatedNumber;
#endif /* __cplusplus */

#endif 	/* __SVGAnimatedNumber_FWD_DEFINED__ */


#ifndef __ISVGNumberList_FWD_DEFINED__
#define __ISVGNumberList_FWD_DEFINED__
typedef interface ISVGNumberList ISVGNumberList;

#endif 	/* __ISVGNumberList_FWD_DEFINED__ */


#ifndef __ISVGAnimatedNumberList_FWD_DEFINED__
#define __ISVGAnimatedNumberList_FWD_DEFINED__
typedef interface ISVGAnimatedNumberList ISVGAnimatedNumberList;

#endif 	/* __ISVGAnimatedNumberList_FWD_DEFINED__ */


#ifndef __SVGAnimatedNumberList_FWD_DEFINED__
#define __SVGAnimatedNumberList_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGAnimatedNumberList SVGAnimatedNumberList;
#else
typedef struct SVGAnimatedNumberList SVGAnimatedNumberList;
#endif /* __cplusplus */

#endif 	/* __SVGAnimatedNumberList_FWD_DEFINED__ */


#ifndef __SVGAnimatedRect_FWD_DEFINED__
#define __SVGAnimatedRect_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGAnimatedRect SVGAnimatedRect;
#else
typedef struct SVGAnimatedRect SVGAnimatedRect;
#endif /* __cplusplus */

#endif 	/* __SVGAnimatedRect_FWD_DEFINED__ */


#ifndef __SVGAnimatedString_FWD_DEFINED__
#define __SVGAnimatedString_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGAnimatedString SVGAnimatedString;
#else
typedef struct SVGAnimatedString SVGAnimatedString;
#endif /* __cplusplus */

#endif 	/* __SVGAnimatedString_FWD_DEFINED__ */


#ifndef __ISVGClipPathElement_FWD_DEFINED__
#define __ISVGClipPathElement_FWD_DEFINED__
typedef interface ISVGClipPathElement ISVGClipPathElement;

#endif 	/* __ISVGClipPathElement_FWD_DEFINED__ */


#ifndef __DispSVGClipPathElement_FWD_DEFINED__
#define __DispSVGClipPathElement_FWD_DEFINED__
typedef interface DispSVGClipPathElement DispSVGClipPathElement;

#endif 	/* __DispSVGClipPathElement_FWD_DEFINED__ */


#ifndef __SVGClipPathElement_FWD_DEFINED__
#define __SVGClipPathElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGClipPathElement SVGClipPathElement;
#else
typedef struct SVGClipPathElement SVGClipPathElement;
#endif /* __cplusplus */

#endif 	/* __SVGClipPathElement_FWD_DEFINED__ */


#ifndef __ISVGDocument_FWD_DEFINED__
#define __ISVGDocument_FWD_DEFINED__
typedef interface ISVGDocument ISVGDocument;

#endif 	/* __ISVGDocument_FWD_DEFINED__ */


#ifndef __IGetSVGDocument_FWD_DEFINED__
#define __IGetSVGDocument_FWD_DEFINED__
typedef interface IGetSVGDocument IGetSVGDocument;

#endif 	/* __IGetSVGDocument_FWD_DEFINED__ */


#ifndef __DispSVGElement_FWD_DEFINED__
#define __DispSVGElement_FWD_DEFINED__
typedef interface DispSVGElement DispSVGElement;

#endif 	/* __DispSVGElement_FWD_DEFINED__ */


#ifndef __SVGElement_FWD_DEFINED__
#define __SVGElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGElement SVGElement;
#else
typedef struct SVGElement SVGElement;
#endif /* __cplusplus */

#endif 	/* __SVGElement_FWD_DEFINED__ */


#ifndef __IICCSVGColor_FWD_DEFINED__
#define __IICCSVGColor_FWD_DEFINED__
typedef interface IICCSVGColor IICCSVGColor;

#endif 	/* __IICCSVGColor_FWD_DEFINED__ */


#ifndef __SVGLength_FWD_DEFINED__
#define __SVGLength_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGLength SVGLength;
#else
typedef struct SVGLength SVGLength;
#endif /* __cplusplus */

#endif 	/* __SVGLength_FWD_DEFINED__ */


#ifndef __SVGLengthList_FWD_DEFINED__
#define __SVGLengthList_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGLengthList SVGLengthList;
#else
typedef struct SVGLengthList SVGLengthList;
#endif /* __cplusplus */

#endif 	/* __SVGLengthList_FWD_DEFINED__ */


#ifndef __SVGMatrix_FWD_DEFINED__
#define __SVGMatrix_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGMatrix SVGMatrix;
#else
typedef struct SVGMatrix SVGMatrix;
#endif /* __cplusplus */

#endif 	/* __SVGMatrix_FWD_DEFINED__ */


#ifndef __SVGNumber_FWD_DEFINED__
#define __SVGNumber_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGNumber SVGNumber;
#else
typedef struct SVGNumber SVGNumber;
#endif /* __cplusplus */

#endif 	/* __SVGNumber_FWD_DEFINED__ */


#ifndef __SVGNumberList_FWD_DEFINED__
#define __SVGNumberList_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGNumberList SVGNumberList;
#else
typedef struct SVGNumberList SVGNumberList;
#endif /* __cplusplus */

#endif 	/* __SVGNumberList_FWD_DEFINED__ */


#ifndef __ISVGPaint_FWD_DEFINED__
#define __ISVGPaint_FWD_DEFINED__
typedef interface ISVGPaint ISVGPaint;

#endif 	/* __ISVGPaint_FWD_DEFINED__ */


#ifndef __ISVGPatternElement_FWD_DEFINED__
#define __ISVGPatternElement_FWD_DEFINED__
typedef interface ISVGPatternElement ISVGPatternElement;

#endif 	/* __ISVGPatternElement_FWD_DEFINED__ */


#ifndef __DispSVGPatternElement_FWD_DEFINED__
#define __DispSVGPatternElement_FWD_DEFINED__
typedef interface DispSVGPatternElement DispSVGPatternElement;

#endif 	/* __DispSVGPatternElement_FWD_DEFINED__ */


#ifndef __SVGPatternElement_FWD_DEFINED__
#define __SVGPatternElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPatternElement SVGPatternElement;
#else
typedef struct SVGPatternElement SVGPatternElement;
#endif /* __cplusplus */

#endif 	/* __SVGPatternElement_FWD_DEFINED__ */


#ifndef __ISVGPathSeg_FWD_DEFINED__
#define __ISVGPathSeg_FWD_DEFINED__
typedef interface ISVGPathSeg ISVGPathSeg;

#endif 	/* __ISVGPathSeg_FWD_DEFINED__ */


#ifndef __ISVGPathSegArcAbs_FWD_DEFINED__
#define __ISVGPathSegArcAbs_FWD_DEFINED__
typedef interface ISVGPathSegArcAbs ISVGPathSegArcAbs;

#endif 	/* __ISVGPathSegArcAbs_FWD_DEFINED__ */


#ifndef __ISVGPathSegArcRel_FWD_DEFINED__
#define __ISVGPathSegArcRel_FWD_DEFINED__
typedef interface ISVGPathSegArcRel ISVGPathSegArcRel;

#endif 	/* __ISVGPathSegArcRel_FWD_DEFINED__ */


#ifndef __ISVGPathSegClosePath_FWD_DEFINED__
#define __ISVGPathSegClosePath_FWD_DEFINED__
typedef interface ISVGPathSegClosePath ISVGPathSegClosePath;

#endif 	/* __ISVGPathSegClosePath_FWD_DEFINED__ */


#ifndef __ISVGPathSegMovetoAbs_FWD_DEFINED__
#define __ISVGPathSegMovetoAbs_FWD_DEFINED__
typedef interface ISVGPathSegMovetoAbs ISVGPathSegMovetoAbs;

#endif 	/* __ISVGPathSegMovetoAbs_FWD_DEFINED__ */


#ifndef __ISVGPathSegMovetoRel_FWD_DEFINED__
#define __ISVGPathSegMovetoRel_FWD_DEFINED__
typedef interface ISVGPathSegMovetoRel ISVGPathSegMovetoRel;

#endif 	/* __ISVGPathSegMovetoRel_FWD_DEFINED__ */


#ifndef __ISVGPathSegLinetoAbs_FWD_DEFINED__
#define __ISVGPathSegLinetoAbs_FWD_DEFINED__
typedef interface ISVGPathSegLinetoAbs ISVGPathSegLinetoAbs;

#endif 	/* __ISVGPathSegLinetoAbs_FWD_DEFINED__ */


#ifndef __ISVGPathSegLinetoRel_FWD_DEFINED__
#define __ISVGPathSegLinetoRel_FWD_DEFINED__
typedef interface ISVGPathSegLinetoRel ISVGPathSegLinetoRel;

#endif 	/* __ISVGPathSegLinetoRel_FWD_DEFINED__ */


#ifndef __ISVGPathSegCurvetoCubicAbs_FWD_DEFINED__
#define __ISVGPathSegCurvetoCubicAbs_FWD_DEFINED__
typedef interface ISVGPathSegCurvetoCubicAbs ISVGPathSegCurvetoCubicAbs;

#endif 	/* __ISVGPathSegCurvetoCubicAbs_FWD_DEFINED__ */


#ifndef __ISVGPathSegCurvetoCubicRel_FWD_DEFINED__
#define __ISVGPathSegCurvetoCubicRel_FWD_DEFINED__
typedef interface ISVGPathSegCurvetoCubicRel ISVGPathSegCurvetoCubicRel;

#endif 	/* __ISVGPathSegCurvetoCubicRel_FWD_DEFINED__ */


#ifndef __ISVGPathSegCurvetoCubicSmoothAbs_FWD_DEFINED__
#define __ISVGPathSegCurvetoCubicSmoothAbs_FWD_DEFINED__
typedef interface ISVGPathSegCurvetoCubicSmoothAbs ISVGPathSegCurvetoCubicSmoothAbs;

#endif 	/* __ISVGPathSegCurvetoCubicSmoothAbs_FWD_DEFINED__ */


#ifndef __ISVGPathSegCurvetoCubicSmoothRel_FWD_DEFINED__
#define __ISVGPathSegCurvetoCubicSmoothRel_FWD_DEFINED__
typedef interface ISVGPathSegCurvetoCubicSmoothRel ISVGPathSegCurvetoCubicSmoothRel;

#endif 	/* __ISVGPathSegCurvetoCubicSmoothRel_FWD_DEFINED__ */


#ifndef __ISVGPathSegCurvetoQuadraticAbs_FWD_DEFINED__
#define __ISVGPathSegCurvetoQuadraticAbs_FWD_DEFINED__
typedef interface ISVGPathSegCurvetoQuadraticAbs ISVGPathSegCurvetoQuadraticAbs;

#endif 	/* __ISVGPathSegCurvetoQuadraticAbs_FWD_DEFINED__ */


#ifndef __ISVGPathSegCurvetoQuadraticRel_FWD_DEFINED__
#define __ISVGPathSegCurvetoQuadraticRel_FWD_DEFINED__
typedef interface ISVGPathSegCurvetoQuadraticRel ISVGPathSegCurvetoQuadraticRel;

#endif 	/* __ISVGPathSegCurvetoQuadraticRel_FWD_DEFINED__ */


#ifndef __ISVGPathSegCurvetoQuadraticSmoothAbs_FWD_DEFINED__
#define __ISVGPathSegCurvetoQuadraticSmoothAbs_FWD_DEFINED__
typedef interface ISVGPathSegCurvetoQuadraticSmoothAbs ISVGPathSegCurvetoQuadraticSmoothAbs;

#endif 	/* __ISVGPathSegCurvetoQuadraticSmoothAbs_FWD_DEFINED__ */


#ifndef __ISVGPathSegCurvetoQuadraticSmoothRel_FWD_DEFINED__
#define __ISVGPathSegCurvetoQuadraticSmoothRel_FWD_DEFINED__
typedef interface ISVGPathSegCurvetoQuadraticSmoothRel ISVGPathSegCurvetoQuadraticSmoothRel;

#endif 	/* __ISVGPathSegCurvetoQuadraticSmoothRel_FWD_DEFINED__ */


#ifndef __ISVGPathSegLinetoHorizontalAbs_FWD_DEFINED__
#define __ISVGPathSegLinetoHorizontalAbs_FWD_DEFINED__
typedef interface ISVGPathSegLinetoHorizontalAbs ISVGPathSegLinetoHorizontalAbs;

#endif 	/* __ISVGPathSegLinetoHorizontalAbs_FWD_DEFINED__ */


#ifndef __ISVGPathSegLinetoHorizontalRel_FWD_DEFINED__
#define __ISVGPathSegLinetoHorizontalRel_FWD_DEFINED__
typedef interface ISVGPathSegLinetoHorizontalRel ISVGPathSegLinetoHorizontalRel;

#endif 	/* __ISVGPathSegLinetoHorizontalRel_FWD_DEFINED__ */


#ifndef __ISVGPathSegLinetoVerticalAbs_FWD_DEFINED__
#define __ISVGPathSegLinetoVerticalAbs_FWD_DEFINED__
typedef interface ISVGPathSegLinetoVerticalAbs ISVGPathSegLinetoVerticalAbs;

#endif 	/* __ISVGPathSegLinetoVerticalAbs_FWD_DEFINED__ */


#ifndef __ISVGPathSegLinetoVerticalRel_FWD_DEFINED__
#define __ISVGPathSegLinetoVerticalRel_FWD_DEFINED__
typedef interface ISVGPathSegLinetoVerticalRel ISVGPathSegLinetoVerticalRel;

#endif 	/* __ISVGPathSegLinetoVerticalRel_FWD_DEFINED__ */


#ifndef __SVGPathSeg_FWD_DEFINED__
#define __SVGPathSeg_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPathSeg SVGPathSeg;
#else
typedef struct SVGPathSeg SVGPathSeg;
#endif /* __cplusplus */

#endif 	/* __SVGPathSeg_FWD_DEFINED__ */


#ifndef __DispSVGPathSegArcAbs_FWD_DEFINED__
#define __DispSVGPathSegArcAbs_FWD_DEFINED__
typedef interface DispSVGPathSegArcAbs DispSVGPathSegArcAbs;

#endif 	/* __DispSVGPathSegArcAbs_FWD_DEFINED__ */


#ifndef __SVGPathSegArcAbs_FWD_DEFINED__
#define __SVGPathSegArcAbs_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPathSegArcAbs SVGPathSegArcAbs;
#else
typedef struct SVGPathSegArcAbs SVGPathSegArcAbs;
#endif /* __cplusplus */

#endif 	/* __SVGPathSegArcAbs_FWD_DEFINED__ */


#ifndef __DispSVGPathSegArcRel_FWD_DEFINED__
#define __DispSVGPathSegArcRel_FWD_DEFINED__
typedef interface DispSVGPathSegArcRel DispSVGPathSegArcRel;

#endif 	/* __DispSVGPathSegArcRel_FWD_DEFINED__ */


#ifndef __SVGPathSegArcRel_FWD_DEFINED__
#define __SVGPathSegArcRel_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPathSegArcRel SVGPathSegArcRel;
#else
typedef struct SVGPathSegArcRel SVGPathSegArcRel;
#endif /* __cplusplus */

#endif 	/* __SVGPathSegArcRel_FWD_DEFINED__ */


#ifndef __DispSVGPathSegClosePath_FWD_DEFINED__
#define __DispSVGPathSegClosePath_FWD_DEFINED__
typedef interface DispSVGPathSegClosePath DispSVGPathSegClosePath;

#endif 	/* __DispSVGPathSegClosePath_FWD_DEFINED__ */


#ifndef __SVGPathSegClosePath_FWD_DEFINED__
#define __SVGPathSegClosePath_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPathSegClosePath SVGPathSegClosePath;
#else
typedef struct SVGPathSegClosePath SVGPathSegClosePath;
#endif /* __cplusplus */

#endif 	/* __SVGPathSegClosePath_FWD_DEFINED__ */


#ifndef __DispSVGPathSegMovetoAbs_FWD_DEFINED__
#define __DispSVGPathSegMovetoAbs_FWD_DEFINED__
typedef interface DispSVGPathSegMovetoAbs DispSVGPathSegMovetoAbs;

#endif 	/* __DispSVGPathSegMovetoAbs_FWD_DEFINED__ */


#ifndef __SVGPathSegMovetoAbs_FWD_DEFINED__
#define __SVGPathSegMovetoAbs_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPathSegMovetoAbs SVGPathSegMovetoAbs;
#else
typedef struct SVGPathSegMovetoAbs SVGPathSegMovetoAbs;
#endif /* __cplusplus */

#endif 	/* __SVGPathSegMovetoAbs_FWD_DEFINED__ */


#ifndef __DispSVGPathSegMovetoRel_FWD_DEFINED__
#define __DispSVGPathSegMovetoRel_FWD_DEFINED__
typedef interface DispSVGPathSegMovetoRel DispSVGPathSegMovetoRel;

#endif 	/* __DispSVGPathSegMovetoRel_FWD_DEFINED__ */


#ifndef __SVGPathSegMovetoRel_FWD_DEFINED__
#define __SVGPathSegMovetoRel_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPathSegMovetoRel SVGPathSegMovetoRel;
#else
typedef struct SVGPathSegMovetoRel SVGPathSegMovetoRel;
#endif /* __cplusplus */

#endif 	/* __SVGPathSegMovetoRel_FWD_DEFINED__ */


#ifndef __DispSVGPathSegLinetoAbs_FWD_DEFINED__
#define __DispSVGPathSegLinetoAbs_FWD_DEFINED__
typedef interface DispSVGPathSegLinetoAbs DispSVGPathSegLinetoAbs;

#endif 	/* __DispSVGPathSegLinetoAbs_FWD_DEFINED__ */


#ifndef __SVGPathSegLinetoAbs_FWD_DEFINED__
#define __SVGPathSegLinetoAbs_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPathSegLinetoAbs SVGPathSegLinetoAbs;
#else
typedef struct SVGPathSegLinetoAbs SVGPathSegLinetoAbs;
#endif /* __cplusplus */

#endif 	/* __SVGPathSegLinetoAbs_FWD_DEFINED__ */


#ifndef __DispSVGPathSegLinetoRel_FWD_DEFINED__
#define __DispSVGPathSegLinetoRel_FWD_DEFINED__
typedef interface DispSVGPathSegLinetoRel DispSVGPathSegLinetoRel;

#endif 	/* __DispSVGPathSegLinetoRel_FWD_DEFINED__ */


#ifndef __SVGPathSegLinetoRel_FWD_DEFINED__
#define __SVGPathSegLinetoRel_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPathSegLinetoRel SVGPathSegLinetoRel;
#else
typedef struct SVGPathSegLinetoRel SVGPathSegLinetoRel;
#endif /* __cplusplus */

#endif 	/* __SVGPathSegLinetoRel_FWD_DEFINED__ */


#ifndef __DispSVGPathSegCurvetoCubicAbs_FWD_DEFINED__
#define __DispSVGPathSegCurvetoCubicAbs_FWD_DEFINED__
typedef interface DispSVGPathSegCurvetoCubicAbs DispSVGPathSegCurvetoCubicAbs;

#endif 	/* __DispSVGPathSegCurvetoCubicAbs_FWD_DEFINED__ */


#ifndef __SVGPathSegCurvetoCubicAbs_FWD_DEFINED__
#define __SVGPathSegCurvetoCubicAbs_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPathSegCurvetoCubicAbs SVGPathSegCurvetoCubicAbs;
#else
typedef struct SVGPathSegCurvetoCubicAbs SVGPathSegCurvetoCubicAbs;
#endif /* __cplusplus */

#endif 	/* __SVGPathSegCurvetoCubicAbs_FWD_DEFINED__ */


#ifndef __DispSVGPathSegCurvetoCubicRel_FWD_DEFINED__
#define __DispSVGPathSegCurvetoCubicRel_FWD_DEFINED__
typedef interface DispSVGPathSegCurvetoCubicRel DispSVGPathSegCurvetoCubicRel;

#endif 	/* __DispSVGPathSegCurvetoCubicRel_FWD_DEFINED__ */


#ifndef __SVGPathSegCurvetoCubicRel_FWD_DEFINED__
#define __SVGPathSegCurvetoCubicRel_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPathSegCurvetoCubicRel SVGPathSegCurvetoCubicRel;
#else
typedef struct SVGPathSegCurvetoCubicRel SVGPathSegCurvetoCubicRel;
#endif /* __cplusplus */

#endif 	/* __SVGPathSegCurvetoCubicRel_FWD_DEFINED__ */


#ifndef __DispSVGPathSegCurvetoCubicSmoothAbs_FWD_DEFINED__
#define __DispSVGPathSegCurvetoCubicSmoothAbs_FWD_DEFINED__
typedef interface DispSVGPathSegCurvetoCubicSmoothAbs DispSVGPathSegCurvetoCubicSmoothAbs;

#endif 	/* __DispSVGPathSegCurvetoCubicSmoothAbs_FWD_DEFINED__ */


#ifndef __SVGPathSegCurvetoCubicSmoothAbs_FWD_DEFINED__
#define __SVGPathSegCurvetoCubicSmoothAbs_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPathSegCurvetoCubicSmoothAbs SVGPathSegCurvetoCubicSmoothAbs;
#else
typedef struct SVGPathSegCurvetoCubicSmoothAbs SVGPathSegCurvetoCubicSmoothAbs;
#endif /* __cplusplus */

#endif 	/* __SVGPathSegCurvetoCubicSmoothAbs_FWD_DEFINED__ */


#ifndef __DispSVGPathSegCurvetoCubicSmoothRel_FWD_DEFINED__
#define __DispSVGPathSegCurvetoCubicSmoothRel_FWD_DEFINED__
typedef interface DispSVGPathSegCurvetoCubicSmoothRel DispSVGPathSegCurvetoCubicSmoothRel;

#endif 	/* __DispSVGPathSegCurvetoCubicSmoothRel_FWD_DEFINED__ */


#ifndef __SVGPathSegCurvetoCubicSmoothRel_FWD_DEFINED__
#define __SVGPathSegCurvetoCubicSmoothRel_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPathSegCurvetoCubicSmoothRel SVGPathSegCurvetoCubicSmoothRel;
#else
typedef struct SVGPathSegCurvetoCubicSmoothRel SVGPathSegCurvetoCubicSmoothRel;
#endif /* __cplusplus */

#endif 	/* __SVGPathSegCurvetoCubicSmoothRel_FWD_DEFINED__ */


#ifndef __DispSVGPathSegCurvetoQuadraticAbs_FWD_DEFINED__
#define __DispSVGPathSegCurvetoQuadraticAbs_FWD_DEFINED__
typedef interface DispSVGPathSegCurvetoQuadraticAbs DispSVGPathSegCurvetoQuadraticAbs;

#endif 	/* __DispSVGPathSegCurvetoQuadraticAbs_FWD_DEFINED__ */


#ifndef __SVGPathSegCurvetoQuadraticAbs_FWD_DEFINED__
#define __SVGPathSegCurvetoQuadraticAbs_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPathSegCurvetoQuadraticAbs SVGPathSegCurvetoQuadraticAbs;
#else
typedef struct SVGPathSegCurvetoQuadraticAbs SVGPathSegCurvetoQuadraticAbs;
#endif /* __cplusplus */

#endif 	/* __SVGPathSegCurvetoQuadraticAbs_FWD_DEFINED__ */


#ifndef __DispSVGPathSegCurvetoQuadraticRel_FWD_DEFINED__
#define __DispSVGPathSegCurvetoQuadraticRel_FWD_DEFINED__
typedef interface DispSVGPathSegCurvetoQuadraticRel DispSVGPathSegCurvetoQuadraticRel;

#endif 	/* __DispSVGPathSegCurvetoQuadraticRel_FWD_DEFINED__ */


#ifndef __SVGPathSegCurvetoQuadraticRel_FWD_DEFINED__
#define __SVGPathSegCurvetoQuadraticRel_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPathSegCurvetoQuadraticRel SVGPathSegCurvetoQuadraticRel;
#else
typedef struct SVGPathSegCurvetoQuadraticRel SVGPathSegCurvetoQuadraticRel;
#endif /* __cplusplus */

#endif 	/* __SVGPathSegCurvetoQuadraticRel_FWD_DEFINED__ */


#ifndef __DispSVGPathSegCurvetoQuadraticSmoothAbs_FWD_DEFINED__
#define __DispSVGPathSegCurvetoQuadraticSmoothAbs_FWD_DEFINED__
typedef interface DispSVGPathSegCurvetoQuadraticSmoothAbs DispSVGPathSegCurvetoQuadraticSmoothAbs;

#endif 	/* __DispSVGPathSegCurvetoQuadraticSmoothAbs_FWD_DEFINED__ */


#ifndef __SVGPathSegCurvetoQuadraticSmoothAbs_FWD_DEFINED__
#define __SVGPathSegCurvetoQuadraticSmoothAbs_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPathSegCurvetoQuadraticSmoothAbs SVGPathSegCurvetoQuadraticSmoothAbs;
#else
typedef struct SVGPathSegCurvetoQuadraticSmoothAbs SVGPathSegCurvetoQuadraticSmoothAbs;
#endif /* __cplusplus */

#endif 	/* __SVGPathSegCurvetoQuadraticSmoothAbs_FWD_DEFINED__ */


#ifndef __DispSVGPathSegCurvetoQuadraticSmoothRel_FWD_DEFINED__
#define __DispSVGPathSegCurvetoQuadraticSmoothRel_FWD_DEFINED__
typedef interface DispSVGPathSegCurvetoQuadraticSmoothRel DispSVGPathSegCurvetoQuadraticSmoothRel;

#endif 	/* __DispSVGPathSegCurvetoQuadraticSmoothRel_FWD_DEFINED__ */


#ifndef __SVGPathSegCurvetoQuadraticSmoothRel_FWD_DEFINED__
#define __SVGPathSegCurvetoQuadraticSmoothRel_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPathSegCurvetoQuadraticSmoothRel SVGPathSegCurvetoQuadraticSmoothRel;
#else
typedef struct SVGPathSegCurvetoQuadraticSmoothRel SVGPathSegCurvetoQuadraticSmoothRel;
#endif /* __cplusplus */

#endif 	/* __SVGPathSegCurvetoQuadraticSmoothRel_FWD_DEFINED__ */


#ifndef __DispSVGPathSegLinetoHorizontalAbs_FWD_DEFINED__
#define __DispSVGPathSegLinetoHorizontalAbs_FWD_DEFINED__
typedef interface DispSVGPathSegLinetoHorizontalAbs DispSVGPathSegLinetoHorizontalAbs;

#endif 	/* __DispSVGPathSegLinetoHorizontalAbs_FWD_DEFINED__ */


#ifndef __SVGPathSegLinetoHorizontalAbs_FWD_DEFINED__
#define __SVGPathSegLinetoHorizontalAbs_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPathSegLinetoHorizontalAbs SVGPathSegLinetoHorizontalAbs;
#else
typedef struct SVGPathSegLinetoHorizontalAbs SVGPathSegLinetoHorizontalAbs;
#endif /* __cplusplus */

#endif 	/* __SVGPathSegLinetoHorizontalAbs_FWD_DEFINED__ */


#ifndef __DispSVGPathSegLinetoHorizontalRel_FWD_DEFINED__
#define __DispSVGPathSegLinetoHorizontalRel_FWD_DEFINED__
typedef interface DispSVGPathSegLinetoHorizontalRel DispSVGPathSegLinetoHorizontalRel;

#endif 	/* __DispSVGPathSegLinetoHorizontalRel_FWD_DEFINED__ */


#ifndef __SVGPathSegLinetoHorizontalRel_FWD_DEFINED__
#define __SVGPathSegLinetoHorizontalRel_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPathSegLinetoHorizontalRel SVGPathSegLinetoHorizontalRel;
#else
typedef struct SVGPathSegLinetoHorizontalRel SVGPathSegLinetoHorizontalRel;
#endif /* __cplusplus */

#endif 	/* __SVGPathSegLinetoHorizontalRel_FWD_DEFINED__ */


#ifndef __DispSVGPathSegLinetoVerticalAbs_FWD_DEFINED__
#define __DispSVGPathSegLinetoVerticalAbs_FWD_DEFINED__
typedef interface DispSVGPathSegLinetoVerticalAbs DispSVGPathSegLinetoVerticalAbs;

#endif 	/* __DispSVGPathSegLinetoVerticalAbs_FWD_DEFINED__ */


#ifndef __SVGPathSegLinetoVerticalAbs_FWD_DEFINED__
#define __SVGPathSegLinetoVerticalAbs_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPathSegLinetoVerticalAbs SVGPathSegLinetoVerticalAbs;
#else
typedef struct SVGPathSegLinetoVerticalAbs SVGPathSegLinetoVerticalAbs;
#endif /* __cplusplus */

#endif 	/* __SVGPathSegLinetoVerticalAbs_FWD_DEFINED__ */


#ifndef __DispSVGPathSegLinetoVerticalRel_FWD_DEFINED__
#define __DispSVGPathSegLinetoVerticalRel_FWD_DEFINED__
typedef interface DispSVGPathSegLinetoVerticalRel DispSVGPathSegLinetoVerticalRel;

#endif 	/* __DispSVGPathSegLinetoVerticalRel_FWD_DEFINED__ */


#ifndef __SVGPathSegLinetoVerticalRel_FWD_DEFINED__
#define __SVGPathSegLinetoVerticalRel_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPathSegLinetoVerticalRel SVGPathSegLinetoVerticalRel;
#else
typedef struct SVGPathSegLinetoVerticalRel SVGPathSegLinetoVerticalRel;
#endif /* __cplusplus */

#endif 	/* __SVGPathSegLinetoVerticalRel_FWD_DEFINED__ */


#ifndef __ISVGPathSegList_FWD_DEFINED__
#define __ISVGPathSegList_FWD_DEFINED__
typedef interface ISVGPathSegList ISVGPathSegList;

#endif 	/* __ISVGPathSegList_FWD_DEFINED__ */


#ifndef __SVGPathSegList_FWD_DEFINED__
#define __SVGPathSegList_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPathSegList SVGPathSegList;
#else
typedef struct SVGPathSegList SVGPathSegList;
#endif /* __cplusplus */

#endif 	/* __SVGPathSegList_FWD_DEFINED__ */


#ifndef __ISVGPoint_FWD_DEFINED__
#define __ISVGPoint_FWD_DEFINED__
typedef interface ISVGPoint ISVGPoint;

#endif 	/* __ISVGPoint_FWD_DEFINED__ */


#ifndef __SVGPoint_FWD_DEFINED__
#define __SVGPoint_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPoint SVGPoint;
#else
typedef struct SVGPoint SVGPoint;
#endif /* __cplusplus */

#endif 	/* __SVGPoint_FWD_DEFINED__ */


#ifndef __ISVGPointList_FWD_DEFINED__
#define __ISVGPointList_FWD_DEFINED__
typedef interface ISVGPointList ISVGPointList;

#endif 	/* __ISVGPointList_FWD_DEFINED__ */


#ifndef __SVGPointList_FWD_DEFINED__
#define __SVGPointList_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPointList SVGPointList;
#else
typedef struct SVGPointList SVGPointList;
#endif /* __cplusplus */

#endif 	/* __SVGPointList_FWD_DEFINED__ */


#ifndef __SVGRect_FWD_DEFINED__
#define __SVGRect_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGRect SVGRect;
#else
typedef struct SVGRect SVGRect;
#endif /* __cplusplus */

#endif 	/* __SVGRect_FWD_DEFINED__ */


#ifndef __SVGStringList_FWD_DEFINED__
#define __SVGStringList_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGStringList SVGStringList;
#else
typedef struct SVGStringList SVGStringList;
#endif /* __cplusplus */

#endif 	/* __SVGStringList_FWD_DEFINED__ */


#ifndef __ISVGViewSpec_FWD_DEFINED__
#define __ISVGViewSpec_FWD_DEFINED__
typedef interface ISVGViewSpec ISVGViewSpec;

#endif 	/* __ISVGViewSpec_FWD_DEFINED__ */


#ifndef __ISVGTransform_FWD_DEFINED__
#define __ISVGTransform_FWD_DEFINED__
typedef interface ISVGTransform ISVGTransform;

#endif 	/* __ISVGTransform_FWD_DEFINED__ */


#ifndef __SVGTransform_FWD_DEFINED__
#define __SVGTransform_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGTransform SVGTransform;
#else
typedef struct SVGTransform SVGTransform;
#endif /* __cplusplus */

#endif 	/* __SVGTransform_FWD_DEFINED__ */


#ifndef __DispSVGSVGElement_FWD_DEFINED__
#define __DispSVGSVGElement_FWD_DEFINED__
typedef interface DispSVGSVGElement DispSVGSVGElement;

#endif 	/* __DispSVGSVGElement_FWD_DEFINED__ */


#ifndef __SVGSVGElement_FWD_DEFINED__
#define __SVGSVGElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGSVGElement SVGSVGElement;
#else
typedef struct SVGSVGElement SVGSVGElement;
#endif /* __cplusplus */

#endif 	/* __SVGSVGElement_FWD_DEFINED__ */


#ifndef __ISVGElementInstance_FWD_DEFINED__
#define __ISVGElementInstance_FWD_DEFINED__
typedef interface ISVGElementInstance ISVGElementInstance;

#endif 	/* __ISVGElementInstance_FWD_DEFINED__ */


#ifndef __ISVGUseElement_FWD_DEFINED__
#define __ISVGUseElement_FWD_DEFINED__
typedef interface ISVGUseElement ISVGUseElement;

#endif 	/* __ISVGUseElement_FWD_DEFINED__ */


#ifndef __DispSVGUseElement_FWD_DEFINED__
#define __DispSVGUseElement_FWD_DEFINED__
typedef interface DispSVGUseElement DispSVGUseElement;

#endif 	/* __DispSVGUseElement_FWD_DEFINED__ */


#ifndef __SVGUseElement_FWD_DEFINED__
#define __SVGUseElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGUseElement SVGUseElement;
#else
typedef struct SVGUseElement SVGUseElement;
#endif /* __cplusplus */

#endif 	/* __SVGUseElement_FWD_DEFINED__ */


#ifndef __IHTMLStyleSheetRulesAppliedCollection_FWD_DEFINED__
#define __IHTMLStyleSheetRulesAppliedCollection_FWD_DEFINED__
typedef interface IHTMLStyleSheetRulesAppliedCollection IHTMLStyleSheetRulesAppliedCollection;

#endif 	/* __IHTMLStyleSheetRulesAppliedCollection_FWD_DEFINED__ */


#ifndef __IRulesApplied_FWD_DEFINED__
#define __IRulesApplied_FWD_DEFINED__
typedef interface IRulesApplied IRulesApplied;

#endif 	/* __IRulesApplied_FWD_DEFINED__ */


#ifndef __DispHTMLStyleSheetRulesAppliedCollection_FWD_DEFINED__
#define __DispHTMLStyleSheetRulesAppliedCollection_FWD_DEFINED__
typedef interface DispHTMLStyleSheetRulesAppliedCollection DispHTMLStyleSheetRulesAppliedCollection;

#endif 	/* __DispHTMLStyleSheetRulesAppliedCollection_FWD_DEFINED__ */


#ifndef __HTMLStyleSheetRulesAppliedCollection_FWD_DEFINED__
#define __HTMLStyleSheetRulesAppliedCollection_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLStyleSheetRulesAppliedCollection HTMLStyleSheetRulesAppliedCollection;
#else
typedef struct HTMLStyleSheetRulesAppliedCollection HTMLStyleSheetRulesAppliedCollection;
#endif /* __cplusplus */

#endif 	/* __HTMLStyleSheetRulesAppliedCollection_FWD_DEFINED__ */


#ifndef __DispRulesApplied_FWD_DEFINED__
#define __DispRulesApplied_FWD_DEFINED__
typedef interface DispRulesApplied DispRulesApplied;

#endif 	/* __DispRulesApplied_FWD_DEFINED__ */


#ifndef __RulesApplied_FWD_DEFINED__
#define __RulesApplied_FWD_DEFINED__

#ifdef __cplusplus
typedef class RulesApplied RulesApplied;
#else
typedef struct RulesApplied RulesApplied;
#endif /* __cplusplus */

#endif 	/* __RulesApplied_FWD_DEFINED__ */


#ifndef __DispRulesAppliedCollection_FWD_DEFINED__
#define __DispRulesAppliedCollection_FWD_DEFINED__
typedef interface DispRulesAppliedCollection DispRulesAppliedCollection;

#endif 	/* __DispRulesAppliedCollection_FWD_DEFINED__ */


#ifndef __RulesAppliedCollection_FWD_DEFINED__
#define __RulesAppliedCollection_FWD_DEFINED__

#ifdef __cplusplus
typedef class RulesAppliedCollection RulesAppliedCollection;
#else
typedef struct RulesAppliedCollection RulesAppliedCollection;
#endif /* __cplusplus */

#endif 	/* __RulesAppliedCollection_FWD_DEFINED__ */


#ifndef __DispHTMLW3CComputedStyle_FWD_DEFINED__
#define __DispHTMLW3CComputedStyle_FWD_DEFINED__
typedef interface DispHTMLW3CComputedStyle DispHTMLW3CComputedStyle;

#endif 	/* __DispHTMLW3CComputedStyle_FWD_DEFINED__ */


#ifndef __HTMLW3CComputedStyle_FWD_DEFINED__
#define __HTMLW3CComputedStyle_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLW3CComputedStyle HTMLW3CComputedStyle;
#else
typedef struct HTMLW3CComputedStyle HTMLW3CComputedStyle;
#endif /* __cplusplus */

#endif 	/* __HTMLW3CComputedStyle_FWD_DEFINED__ */


#ifndef __SVGTransformList_FWD_DEFINED__
#define __SVGTransformList_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGTransformList SVGTransformList;
#else
typedef struct SVGTransformList SVGTransformList;
#endif /* __cplusplus */

#endif 	/* __SVGTransformList_FWD_DEFINED__ */


#ifndef __ISVGAnimatedPoints_FWD_DEFINED__
#define __ISVGAnimatedPoints_FWD_DEFINED__
typedef interface ISVGAnimatedPoints ISVGAnimatedPoints;

#endif 	/* __ISVGAnimatedPoints_FWD_DEFINED__ */


#ifndef __ISVGCircleElement_FWD_DEFINED__
#define __ISVGCircleElement_FWD_DEFINED__
typedef interface ISVGCircleElement ISVGCircleElement;

#endif 	/* __ISVGCircleElement_FWD_DEFINED__ */


#ifndef __ISVGEllipseElement_FWD_DEFINED__
#define __ISVGEllipseElement_FWD_DEFINED__
typedef interface ISVGEllipseElement ISVGEllipseElement;

#endif 	/* __ISVGEllipseElement_FWD_DEFINED__ */


#ifndef __ISVGLineElement_FWD_DEFINED__
#define __ISVGLineElement_FWD_DEFINED__
typedef interface ISVGLineElement ISVGLineElement;

#endif 	/* __ISVGLineElement_FWD_DEFINED__ */


#ifndef __ISVGRectElement_FWD_DEFINED__
#define __ISVGRectElement_FWD_DEFINED__
typedef interface ISVGRectElement ISVGRectElement;

#endif 	/* __ISVGRectElement_FWD_DEFINED__ */


#ifndef __ISVGPolygonElement_FWD_DEFINED__
#define __ISVGPolygonElement_FWD_DEFINED__
typedef interface ISVGPolygonElement ISVGPolygonElement;

#endif 	/* __ISVGPolygonElement_FWD_DEFINED__ */


#ifndef __ISVGPolylineElement_FWD_DEFINED__
#define __ISVGPolylineElement_FWD_DEFINED__
typedef interface ISVGPolylineElement ISVGPolylineElement;

#endif 	/* __ISVGPolylineElement_FWD_DEFINED__ */


#ifndef __DispSVGCircleElement_FWD_DEFINED__
#define __DispSVGCircleElement_FWD_DEFINED__
typedef interface DispSVGCircleElement DispSVGCircleElement;

#endif 	/* __DispSVGCircleElement_FWD_DEFINED__ */


#ifndef __SVGCircleElement_FWD_DEFINED__
#define __SVGCircleElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGCircleElement SVGCircleElement;
#else
typedef struct SVGCircleElement SVGCircleElement;
#endif /* __cplusplus */

#endif 	/* __SVGCircleElement_FWD_DEFINED__ */


#ifndef __DispSVGEllipseElement_FWD_DEFINED__
#define __DispSVGEllipseElement_FWD_DEFINED__
typedef interface DispSVGEllipseElement DispSVGEllipseElement;

#endif 	/* __DispSVGEllipseElement_FWD_DEFINED__ */


#ifndef __SVGEllipseElement_FWD_DEFINED__
#define __SVGEllipseElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGEllipseElement SVGEllipseElement;
#else
typedef struct SVGEllipseElement SVGEllipseElement;
#endif /* __cplusplus */

#endif 	/* __SVGEllipseElement_FWD_DEFINED__ */


#ifndef __DispSVGLineElement_FWD_DEFINED__
#define __DispSVGLineElement_FWD_DEFINED__
typedef interface DispSVGLineElement DispSVGLineElement;

#endif 	/* __DispSVGLineElement_FWD_DEFINED__ */


#ifndef __SVGLineElement_FWD_DEFINED__
#define __SVGLineElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGLineElement SVGLineElement;
#else
typedef struct SVGLineElement SVGLineElement;
#endif /* __cplusplus */

#endif 	/* __SVGLineElement_FWD_DEFINED__ */


#ifndef __DispSVGRectElement_FWD_DEFINED__
#define __DispSVGRectElement_FWD_DEFINED__
typedef interface DispSVGRectElement DispSVGRectElement;

#endif 	/* __DispSVGRectElement_FWD_DEFINED__ */


#ifndef __SVGRectElement_FWD_DEFINED__
#define __SVGRectElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGRectElement SVGRectElement;
#else
typedef struct SVGRectElement SVGRectElement;
#endif /* __cplusplus */

#endif 	/* __SVGRectElement_FWD_DEFINED__ */


#ifndef __DispSVGPolygonElement_FWD_DEFINED__
#define __DispSVGPolygonElement_FWD_DEFINED__
typedef interface DispSVGPolygonElement DispSVGPolygonElement;

#endif 	/* __DispSVGPolygonElement_FWD_DEFINED__ */


#ifndef __SVGPolygonElement_FWD_DEFINED__
#define __SVGPolygonElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPolygonElement SVGPolygonElement;
#else
typedef struct SVGPolygonElement SVGPolygonElement;
#endif /* __cplusplus */

#endif 	/* __SVGPolygonElement_FWD_DEFINED__ */


#ifndef __DispSVGPolylineElement_FWD_DEFINED__
#define __DispSVGPolylineElement_FWD_DEFINED__
typedef interface DispSVGPolylineElement DispSVGPolylineElement;

#endif 	/* __DispSVGPolylineElement_FWD_DEFINED__ */


#ifndef __SVGPolylineElement_FWD_DEFINED__
#define __SVGPolylineElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPolylineElement SVGPolylineElement;
#else
typedef struct SVGPolylineElement SVGPolylineElement;
#endif /* __cplusplus */

#endif 	/* __SVGPolylineElement_FWD_DEFINED__ */


#ifndef __ISVGGElement_FWD_DEFINED__
#define __ISVGGElement_FWD_DEFINED__
typedef interface ISVGGElement ISVGGElement;

#endif 	/* __ISVGGElement_FWD_DEFINED__ */


#ifndef __DispSVGGElement_FWD_DEFINED__
#define __DispSVGGElement_FWD_DEFINED__
typedef interface DispSVGGElement DispSVGGElement;

#endif 	/* __DispSVGGElement_FWD_DEFINED__ */


#ifndef __SVGGElement_FWD_DEFINED__
#define __SVGGElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGGElement SVGGElement;
#else
typedef struct SVGGElement SVGGElement;
#endif /* __cplusplus */

#endif 	/* __SVGGElement_FWD_DEFINED__ */


#ifndef __ISVGSymbolElement_FWD_DEFINED__
#define __ISVGSymbolElement_FWD_DEFINED__
typedef interface ISVGSymbolElement ISVGSymbolElement;

#endif 	/* __ISVGSymbolElement_FWD_DEFINED__ */


#ifndef __DispSVGSymbolElement_FWD_DEFINED__
#define __DispSVGSymbolElement_FWD_DEFINED__
typedef interface DispSVGSymbolElement DispSVGSymbolElement;

#endif 	/* __DispSVGSymbolElement_FWD_DEFINED__ */


#ifndef __SVGSymbolElement_FWD_DEFINED__
#define __SVGSymbolElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGSymbolElement SVGSymbolElement;
#else
typedef struct SVGSymbolElement SVGSymbolElement;
#endif /* __cplusplus */

#endif 	/* __SVGSymbolElement_FWD_DEFINED__ */


#ifndef __ISVGDefsElement_FWD_DEFINED__
#define __ISVGDefsElement_FWD_DEFINED__
typedef interface ISVGDefsElement ISVGDefsElement;

#endif 	/* __ISVGDefsElement_FWD_DEFINED__ */


#ifndef __DispSVGDefsElement_FWD_DEFINED__
#define __DispSVGDefsElement_FWD_DEFINED__
typedef interface DispSVGDefsElement DispSVGDefsElement;

#endif 	/* __DispSVGDefsElement_FWD_DEFINED__ */


#ifndef __SVGDefsElement_FWD_DEFINED__
#define __SVGDefsElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGDefsElement SVGDefsElement;
#else
typedef struct SVGDefsElement SVGDefsElement;
#endif /* __cplusplus */

#endif 	/* __SVGDefsElement_FWD_DEFINED__ */


#ifndef __ISVGAnimatedPathData_FWD_DEFINED__
#define __ISVGAnimatedPathData_FWD_DEFINED__
typedef interface ISVGAnimatedPathData ISVGAnimatedPathData;

#endif 	/* __ISVGAnimatedPathData_FWD_DEFINED__ */


#ifndef __ISVGPathElement_FWD_DEFINED__
#define __ISVGPathElement_FWD_DEFINED__
typedef interface ISVGPathElement ISVGPathElement;

#endif 	/* __ISVGPathElement_FWD_DEFINED__ */


#ifndef __DispSVGPathElement_FWD_DEFINED__
#define __DispSVGPathElement_FWD_DEFINED__
typedef interface DispSVGPathElement DispSVGPathElement;

#endif 	/* __DispSVGPathElement_FWD_DEFINED__ */


#ifndef __SVGPathElement_FWD_DEFINED__
#define __SVGPathElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPathElement SVGPathElement;
#else
typedef struct SVGPathElement SVGPathElement;
#endif /* __cplusplus */

#endif 	/* __SVGPathElement_FWD_DEFINED__ */


#ifndef __ISVGPreserveAspectRatio_FWD_DEFINED__
#define __ISVGPreserveAspectRatio_FWD_DEFINED__
typedef interface ISVGPreserveAspectRatio ISVGPreserveAspectRatio;

#endif 	/* __ISVGPreserveAspectRatio_FWD_DEFINED__ */


#ifndef __SVGPreserveAspectRatio_FWD_DEFINED__
#define __SVGPreserveAspectRatio_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGPreserveAspectRatio SVGPreserveAspectRatio;
#else
typedef struct SVGPreserveAspectRatio SVGPreserveAspectRatio;
#endif /* __cplusplus */

#endif 	/* __SVGPreserveAspectRatio_FWD_DEFINED__ */


#ifndef __ISVGTextElement_FWD_DEFINED__
#define __ISVGTextElement_FWD_DEFINED__
typedef interface ISVGTextElement ISVGTextElement;

#endif 	/* __ISVGTextElement_FWD_DEFINED__ */


#ifndef __DispSVGTextElement_FWD_DEFINED__
#define __DispSVGTextElement_FWD_DEFINED__
typedef interface DispSVGTextElement DispSVGTextElement;

#endif 	/* __DispSVGTextElement_FWD_DEFINED__ */


#ifndef __SVGTextElement_FWD_DEFINED__
#define __SVGTextElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGTextElement SVGTextElement;
#else
typedef struct SVGTextElement SVGTextElement;
#endif /* __cplusplus */

#endif 	/* __SVGTextElement_FWD_DEFINED__ */


#ifndef __SVGAnimatedPreserveAspectRatio_FWD_DEFINED__
#define __SVGAnimatedPreserveAspectRatio_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGAnimatedPreserveAspectRatio SVGAnimatedPreserveAspectRatio;
#else
typedef struct SVGAnimatedPreserveAspectRatio SVGAnimatedPreserveAspectRatio;
#endif /* __cplusplus */

#endif 	/* __SVGAnimatedPreserveAspectRatio_FWD_DEFINED__ */


#ifndef __ISVGImageElement_FWD_DEFINED__
#define __ISVGImageElement_FWD_DEFINED__
typedef interface ISVGImageElement ISVGImageElement;

#endif 	/* __ISVGImageElement_FWD_DEFINED__ */


#ifndef __DispSVGImageElement_FWD_DEFINED__
#define __DispSVGImageElement_FWD_DEFINED__
typedef interface DispSVGImageElement DispSVGImageElement;

#endif 	/* __DispSVGImageElement_FWD_DEFINED__ */


#ifndef __SVGImageElement_FWD_DEFINED__
#define __SVGImageElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGImageElement SVGImageElement;
#else
typedef struct SVGImageElement SVGImageElement;
#endif /* __cplusplus */

#endif 	/* __SVGImageElement_FWD_DEFINED__ */


#ifndef __ISVGStopElement_FWD_DEFINED__
#define __ISVGStopElement_FWD_DEFINED__
typedef interface ISVGStopElement ISVGStopElement;

#endif 	/* __ISVGStopElement_FWD_DEFINED__ */


#ifndef __DispSVGStopElement_FWD_DEFINED__
#define __DispSVGStopElement_FWD_DEFINED__
typedef interface DispSVGStopElement DispSVGStopElement;

#endif 	/* __DispSVGStopElement_FWD_DEFINED__ */


#ifndef __SVGStopElement_FWD_DEFINED__
#define __SVGStopElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGStopElement SVGStopElement;
#else
typedef struct SVGStopElement SVGStopElement;
#endif /* __cplusplus */

#endif 	/* __SVGStopElement_FWD_DEFINED__ */


#ifndef __ISVGGradientElement_FWD_DEFINED__
#define __ISVGGradientElement_FWD_DEFINED__
typedef interface ISVGGradientElement ISVGGradientElement;

#endif 	/* __ISVGGradientElement_FWD_DEFINED__ */


#ifndef __DispSVGGradientElement_FWD_DEFINED__
#define __DispSVGGradientElement_FWD_DEFINED__
typedef interface DispSVGGradientElement DispSVGGradientElement;

#endif 	/* __DispSVGGradientElement_FWD_DEFINED__ */


#ifndef __SVGGradientElement_FWD_DEFINED__
#define __SVGGradientElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGGradientElement SVGGradientElement;
#else
typedef struct SVGGradientElement SVGGradientElement;
#endif /* __cplusplus */

#endif 	/* __SVGGradientElement_FWD_DEFINED__ */


#ifndef __ISVGLinearGradientElement_FWD_DEFINED__
#define __ISVGLinearGradientElement_FWD_DEFINED__
typedef interface ISVGLinearGradientElement ISVGLinearGradientElement;

#endif 	/* __ISVGLinearGradientElement_FWD_DEFINED__ */


#ifndef __DispSVGLinearGradientElement_FWD_DEFINED__
#define __DispSVGLinearGradientElement_FWD_DEFINED__
typedef interface DispSVGLinearGradientElement DispSVGLinearGradientElement;

#endif 	/* __DispSVGLinearGradientElement_FWD_DEFINED__ */


#ifndef __SVGLinearGradientElement_FWD_DEFINED__
#define __SVGLinearGradientElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGLinearGradientElement SVGLinearGradientElement;
#else
typedef struct SVGLinearGradientElement SVGLinearGradientElement;
#endif /* __cplusplus */

#endif 	/* __SVGLinearGradientElement_FWD_DEFINED__ */


#ifndef __ISVGRadialGradientElement_FWD_DEFINED__
#define __ISVGRadialGradientElement_FWD_DEFINED__
typedef interface ISVGRadialGradientElement ISVGRadialGradientElement;

#endif 	/* __ISVGRadialGradientElement_FWD_DEFINED__ */


#ifndef __DispSVGRadialGradientElement_FWD_DEFINED__
#define __DispSVGRadialGradientElement_FWD_DEFINED__
typedef interface DispSVGRadialGradientElement DispSVGRadialGradientElement;

#endif 	/* __DispSVGRadialGradientElement_FWD_DEFINED__ */


#ifndef __SVGRadialGradientElement_FWD_DEFINED__
#define __SVGRadialGradientElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGRadialGradientElement SVGRadialGradientElement;
#else
typedef struct SVGRadialGradientElement SVGRadialGradientElement;
#endif /* __cplusplus */

#endif 	/* __SVGRadialGradientElement_FWD_DEFINED__ */


#ifndef __ISVGMaskElement_FWD_DEFINED__
#define __ISVGMaskElement_FWD_DEFINED__
typedef interface ISVGMaskElement ISVGMaskElement;

#endif 	/* __ISVGMaskElement_FWD_DEFINED__ */


#ifndef __DispSVGMaskElement_FWD_DEFINED__
#define __DispSVGMaskElement_FWD_DEFINED__
typedef interface DispSVGMaskElement DispSVGMaskElement;

#endif 	/* __DispSVGMaskElement_FWD_DEFINED__ */


#ifndef __SVGMaskElement_FWD_DEFINED__
#define __SVGMaskElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGMaskElement SVGMaskElement;
#else
typedef struct SVGMaskElement SVGMaskElement;
#endif /* __cplusplus */

#endif 	/* __SVGMaskElement_FWD_DEFINED__ */


#ifndef __ISVGMarkerElement_FWD_DEFINED__
#define __ISVGMarkerElement_FWD_DEFINED__
typedef interface ISVGMarkerElement ISVGMarkerElement;

#endif 	/* __ISVGMarkerElement_FWD_DEFINED__ */


#ifndef __DispSVGMarkerElement_FWD_DEFINED__
#define __DispSVGMarkerElement_FWD_DEFINED__
typedef interface DispSVGMarkerElement DispSVGMarkerElement;

#endif 	/* __DispSVGMarkerElement_FWD_DEFINED__ */


#ifndef __SVGMarkerElement_FWD_DEFINED__
#define __SVGMarkerElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGMarkerElement SVGMarkerElement;
#else
typedef struct SVGMarkerElement SVGMarkerElement;
#endif /* __cplusplus */

#endif 	/* __SVGMarkerElement_FWD_DEFINED__ */


#ifndef __ISVGZoomEvent_FWD_DEFINED__
#define __ISVGZoomEvent_FWD_DEFINED__
typedef interface ISVGZoomEvent ISVGZoomEvent;

#endif 	/* __ISVGZoomEvent_FWD_DEFINED__ */


#ifndef __DispSVGZoomEvent_FWD_DEFINED__
#define __DispSVGZoomEvent_FWD_DEFINED__
typedef interface DispSVGZoomEvent DispSVGZoomEvent;

#endif 	/* __DispSVGZoomEvent_FWD_DEFINED__ */


#ifndef __SVGZoomEvent_FWD_DEFINED__
#define __SVGZoomEvent_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGZoomEvent SVGZoomEvent;
#else
typedef struct SVGZoomEvent SVGZoomEvent;
#endif /* __cplusplus */

#endif 	/* __SVGZoomEvent_FWD_DEFINED__ */


#ifndef __ISVGAElement_FWD_DEFINED__
#define __ISVGAElement_FWD_DEFINED__
typedef interface ISVGAElement ISVGAElement;

#endif 	/* __ISVGAElement_FWD_DEFINED__ */


#ifndef __DispSVGAElement_FWD_DEFINED__
#define __DispSVGAElement_FWD_DEFINED__
typedef interface DispSVGAElement DispSVGAElement;

#endif 	/* __DispSVGAElement_FWD_DEFINED__ */


#ifndef __SVGAElement_FWD_DEFINED__
#define __SVGAElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGAElement SVGAElement;
#else
typedef struct SVGAElement SVGAElement;
#endif /* __cplusplus */

#endif 	/* __SVGAElement_FWD_DEFINED__ */


#ifndef __ISVGViewElement_FWD_DEFINED__
#define __ISVGViewElement_FWD_DEFINED__
typedef interface ISVGViewElement ISVGViewElement;

#endif 	/* __ISVGViewElement_FWD_DEFINED__ */


#ifndef __DispSVGViewElement_FWD_DEFINED__
#define __DispSVGViewElement_FWD_DEFINED__
typedef interface DispSVGViewElement DispSVGViewElement;

#endif 	/* __DispSVGViewElement_FWD_DEFINED__ */


#ifndef __SVGViewElement_FWD_DEFINED__
#define __SVGViewElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGViewElement SVGViewElement;
#else
typedef struct SVGViewElement SVGViewElement;
#endif /* __cplusplus */

#endif 	/* __SVGViewElement_FWD_DEFINED__ */


#ifndef __IHTMLMediaError_FWD_DEFINED__
#define __IHTMLMediaError_FWD_DEFINED__
typedef interface IHTMLMediaError IHTMLMediaError;

#endif 	/* __IHTMLMediaError_FWD_DEFINED__ */


#ifndef __IHTMLTimeRanges_FWD_DEFINED__
#define __IHTMLTimeRanges_FWD_DEFINED__
typedef interface IHTMLTimeRanges IHTMLTimeRanges;

#endif 	/* __IHTMLTimeRanges_FWD_DEFINED__ */


#ifndef __IHTMLTimeRanges2_FWD_DEFINED__
#define __IHTMLTimeRanges2_FWD_DEFINED__
typedef interface IHTMLTimeRanges2 IHTMLTimeRanges2;

#endif 	/* __IHTMLTimeRanges2_FWD_DEFINED__ */


#ifndef __IHTMLMediaElement_FWD_DEFINED__
#define __IHTMLMediaElement_FWD_DEFINED__
typedef interface IHTMLMediaElement IHTMLMediaElement;

#endif 	/* __IHTMLMediaElement_FWD_DEFINED__ */


#ifndef __IHTMLMediaElement2_FWD_DEFINED__
#define __IHTMLMediaElement2_FWD_DEFINED__
typedef interface IHTMLMediaElement2 IHTMLMediaElement2;

#endif 	/* __IHTMLMediaElement2_FWD_DEFINED__ */


#ifndef __IHTMLMSMediaElement_FWD_DEFINED__
#define __IHTMLMSMediaElement_FWD_DEFINED__
typedef interface IHTMLMSMediaElement IHTMLMSMediaElement;

#endif 	/* __IHTMLMSMediaElement_FWD_DEFINED__ */


#ifndef __IHTMLSourceElement_FWD_DEFINED__
#define __IHTMLSourceElement_FWD_DEFINED__
typedef interface IHTMLSourceElement IHTMLSourceElement;

#endif 	/* __IHTMLSourceElement_FWD_DEFINED__ */


#ifndef __IHTMLAudioElement_FWD_DEFINED__
#define __IHTMLAudioElement_FWD_DEFINED__
typedef interface IHTMLAudioElement IHTMLAudioElement;

#endif 	/* __IHTMLAudioElement_FWD_DEFINED__ */


#ifndef __IHTMLVideoElement_FWD_DEFINED__
#define __IHTMLVideoElement_FWD_DEFINED__
typedef interface IHTMLVideoElement IHTMLVideoElement;

#endif 	/* __IHTMLVideoElement_FWD_DEFINED__ */


#ifndef __IHTMLAudioElementFactory_FWD_DEFINED__
#define __IHTMLAudioElementFactory_FWD_DEFINED__
typedef interface IHTMLAudioElementFactory IHTMLAudioElementFactory;

#endif 	/* __IHTMLAudioElementFactory_FWD_DEFINED__ */


#ifndef __DispHTMLMediaError_FWD_DEFINED__
#define __DispHTMLMediaError_FWD_DEFINED__
typedef interface DispHTMLMediaError DispHTMLMediaError;

#endif 	/* __DispHTMLMediaError_FWD_DEFINED__ */


#ifndef __HTMLMediaError_FWD_DEFINED__
#define __HTMLMediaError_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLMediaError HTMLMediaError;
#else
typedef struct HTMLMediaError HTMLMediaError;
#endif /* __cplusplus */

#endif 	/* __HTMLMediaError_FWD_DEFINED__ */


#ifndef __DispHTMLTimeRanges_FWD_DEFINED__
#define __DispHTMLTimeRanges_FWD_DEFINED__
typedef interface DispHTMLTimeRanges DispHTMLTimeRanges;

#endif 	/* __DispHTMLTimeRanges_FWD_DEFINED__ */


#ifndef __HTMLTimeRanges_FWD_DEFINED__
#define __HTMLTimeRanges_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLTimeRanges HTMLTimeRanges;
#else
typedef struct HTMLTimeRanges HTMLTimeRanges;
#endif /* __cplusplus */

#endif 	/* __HTMLTimeRanges_FWD_DEFINED__ */


#ifndef __DispHTMLMediaElement_FWD_DEFINED__
#define __DispHTMLMediaElement_FWD_DEFINED__
typedef interface DispHTMLMediaElement DispHTMLMediaElement;

#endif 	/* __DispHTMLMediaElement_FWD_DEFINED__ */


#ifndef __HTMLMediaElement_FWD_DEFINED__
#define __HTMLMediaElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLMediaElement HTMLMediaElement;
#else
typedef struct HTMLMediaElement HTMLMediaElement;
#endif /* __cplusplus */

#endif 	/* __HTMLMediaElement_FWD_DEFINED__ */


#ifndef __DispHTMLSourceElement_FWD_DEFINED__
#define __DispHTMLSourceElement_FWD_DEFINED__
typedef interface DispHTMLSourceElement DispHTMLSourceElement;

#endif 	/* __DispHTMLSourceElement_FWD_DEFINED__ */


#ifndef __HTMLSourceElement_FWD_DEFINED__
#define __HTMLSourceElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLSourceElement HTMLSourceElement;
#else
typedef struct HTMLSourceElement HTMLSourceElement;
#endif /* __cplusplus */

#endif 	/* __HTMLSourceElement_FWD_DEFINED__ */


#ifndef __DispHTMLAudioElement_FWD_DEFINED__
#define __DispHTMLAudioElement_FWD_DEFINED__
typedef interface DispHTMLAudioElement DispHTMLAudioElement;

#endif 	/* __DispHTMLAudioElement_FWD_DEFINED__ */


#ifndef __HTMLAudioElement_FWD_DEFINED__
#define __HTMLAudioElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLAudioElement HTMLAudioElement;
#else
typedef struct HTMLAudioElement HTMLAudioElement;
#endif /* __cplusplus */

#endif 	/* __HTMLAudioElement_FWD_DEFINED__ */


#ifndef __HTMLAudioElementFactory_FWD_DEFINED__
#define __HTMLAudioElementFactory_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLAudioElementFactory HTMLAudioElementFactory;
#else
typedef struct HTMLAudioElementFactory HTMLAudioElementFactory;
#endif /* __cplusplus */

#endif 	/* __HTMLAudioElementFactory_FWD_DEFINED__ */


#ifndef __DispHTMLVideoElement_FWD_DEFINED__
#define __DispHTMLVideoElement_FWD_DEFINED__
typedef interface DispHTMLVideoElement DispHTMLVideoElement;

#endif 	/* __DispHTMLVideoElement_FWD_DEFINED__ */


#ifndef __HTMLVideoElement_FWD_DEFINED__
#define __HTMLVideoElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLVideoElement HTMLVideoElement;
#else
typedef struct HTMLVideoElement HTMLVideoElement;
#endif /* __cplusplus */

#endif 	/* __HTMLVideoElement_FWD_DEFINED__ */


#ifndef __ISVGSwitchElement_FWD_DEFINED__
#define __ISVGSwitchElement_FWD_DEFINED__
typedef interface ISVGSwitchElement ISVGSwitchElement;

#endif 	/* __ISVGSwitchElement_FWD_DEFINED__ */


#ifndef __DispSVGSwitchElement_FWD_DEFINED__
#define __DispSVGSwitchElement_FWD_DEFINED__
typedef interface DispSVGSwitchElement DispSVGSwitchElement;

#endif 	/* __DispSVGSwitchElement_FWD_DEFINED__ */


#ifndef __SVGSwitchElement_FWD_DEFINED__
#define __SVGSwitchElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGSwitchElement SVGSwitchElement;
#else
typedef struct SVGSwitchElement SVGSwitchElement;
#endif /* __cplusplus */

#endif 	/* __SVGSwitchElement_FWD_DEFINED__ */


#ifndef __ISVGDescElement_FWD_DEFINED__
#define __ISVGDescElement_FWD_DEFINED__
typedef interface ISVGDescElement ISVGDescElement;

#endif 	/* __ISVGDescElement_FWD_DEFINED__ */


#ifndef __DispSVGDescElement_FWD_DEFINED__
#define __DispSVGDescElement_FWD_DEFINED__
typedef interface DispSVGDescElement DispSVGDescElement;

#endif 	/* __DispSVGDescElement_FWD_DEFINED__ */


#ifndef __SVGDescElement_FWD_DEFINED__
#define __SVGDescElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGDescElement SVGDescElement;
#else
typedef struct SVGDescElement SVGDescElement;
#endif /* __cplusplus */

#endif 	/* __SVGDescElement_FWD_DEFINED__ */


#ifndef __ISVGTitleElement_FWD_DEFINED__
#define __ISVGTitleElement_FWD_DEFINED__
typedef interface ISVGTitleElement ISVGTitleElement;

#endif 	/* __ISVGTitleElement_FWD_DEFINED__ */


#ifndef __DispSVGTitleElement_FWD_DEFINED__
#define __DispSVGTitleElement_FWD_DEFINED__
typedef interface DispSVGTitleElement DispSVGTitleElement;

#endif 	/* __DispSVGTitleElement_FWD_DEFINED__ */


#ifndef __SVGTitleElement_FWD_DEFINED__
#define __SVGTitleElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGTitleElement SVGTitleElement;
#else
typedef struct SVGTitleElement SVGTitleElement;
#endif /* __cplusplus */

#endif 	/* __SVGTitleElement_FWD_DEFINED__ */


#ifndef __ISVGMetadataElement_FWD_DEFINED__
#define __ISVGMetadataElement_FWD_DEFINED__
typedef interface ISVGMetadataElement ISVGMetadataElement;

#endif 	/* __ISVGMetadataElement_FWD_DEFINED__ */


#ifndef __DispSVGMetadataElement_FWD_DEFINED__
#define __DispSVGMetadataElement_FWD_DEFINED__
typedef interface DispSVGMetadataElement DispSVGMetadataElement;

#endif 	/* __DispSVGMetadataElement_FWD_DEFINED__ */


#ifndef __SVGMetadataElement_FWD_DEFINED__
#define __SVGMetadataElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGMetadataElement SVGMetadataElement;
#else
typedef struct SVGMetadataElement SVGMetadataElement;
#endif /* __cplusplus */

#endif 	/* __SVGMetadataElement_FWD_DEFINED__ */


#ifndef __ISVGElementInstanceList_FWD_DEFINED__
#define __ISVGElementInstanceList_FWD_DEFINED__
typedef interface ISVGElementInstanceList ISVGElementInstanceList;

#endif 	/* __ISVGElementInstanceList_FWD_DEFINED__ */


#ifndef __DispSVGElementInstance_FWD_DEFINED__
#define __DispSVGElementInstance_FWD_DEFINED__
typedef interface DispSVGElementInstance DispSVGElementInstance;

#endif 	/* __DispSVGElementInstance_FWD_DEFINED__ */


#ifndef __SVGElementInstance_FWD_DEFINED__
#define __SVGElementInstance_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGElementInstance SVGElementInstance;
#else
typedef struct SVGElementInstance SVGElementInstance;
#endif /* __cplusplus */

#endif 	/* __SVGElementInstance_FWD_DEFINED__ */


#ifndef __DispSVGElementInstanceList_FWD_DEFINED__
#define __DispSVGElementInstanceList_FWD_DEFINED__
typedef interface DispSVGElementInstanceList DispSVGElementInstanceList;

#endif 	/* __DispSVGElementInstanceList_FWD_DEFINED__ */


#ifndef __SVGElementInstanceList_FWD_DEFINED__
#define __SVGElementInstanceList_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGElementInstanceList SVGElementInstanceList;
#else
typedef struct SVGElementInstanceList SVGElementInstanceList;
#endif /* __cplusplus */

#endif 	/* __SVGElementInstanceList_FWD_DEFINED__ */


#ifndef __IDOMException_FWD_DEFINED__
#define __IDOMException_FWD_DEFINED__
typedef interface IDOMException IDOMException;

#endif 	/* __IDOMException_FWD_DEFINED__ */


#ifndef __DispDOMException_FWD_DEFINED__
#define __DispDOMException_FWD_DEFINED__
typedef interface DispDOMException DispDOMException;

#endif 	/* __DispDOMException_FWD_DEFINED__ */


#ifndef __DOMException_FWD_DEFINED__
#define __DOMException_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMException DOMException;
#else
typedef struct DOMException DOMException;
#endif /* __cplusplus */

#endif 	/* __DOMException_FWD_DEFINED__ */


#ifndef __IRangeException_FWD_DEFINED__
#define __IRangeException_FWD_DEFINED__
typedef interface IRangeException IRangeException;

#endif 	/* __IRangeException_FWD_DEFINED__ */


#ifndef __DispRangeException_FWD_DEFINED__
#define __DispRangeException_FWD_DEFINED__
typedef interface DispRangeException DispRangeException;

#endif 	/* __DispRangeException_FWD_DEFINED__ */


#ifndef __RangeException_FWD_DEFINED__
#define __RangeException_FWD_DEFINED__

#ifdef __cplusplus
typedef class RangeException RangeException;
#else
typedef struct RangeException RangeException;
#endif /* __cplusplus */

#endif 	/* __RangeException_FWD_DEFINED__ */


#ifndef __ISVGException_FWD_DEFINED__
#define __ISVGException_FWD_DEFINED__
typedef interface ISVGException ISVGException;

#endif 	/* __ISVGException_FWD_DEFINED__ */


#ifndef __DispSVGException_FWD_DEFINED__
#define __DispSVGException_FWD_DEFINED__
typedef interface DispSVGException DispSVGException;

#endif 	/* __DispSVGException_FWD_DEFINED__ */


#ifndef __SVGException_FWD_DEFINED__
#define __SVGException_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGException SVGException;
#else
typedef struct SVGException SVGException;
#endif /* __cplusplus */

#endif 	/* __SVGException_FWD_DEFINED__ */


#ifndef __IEventException_FWD_DEFINED__
#define __IEventException_FWD_DEFINED__
typedef interface IEventException IEventException;

#endif 	/* __IEventException_FWD_DEFINED__ */


#ifndef __DispEventException_FWD_DEFINED__
#define __DispEventException_FWD_DEFINED__
typedef interface DispEventException DispEventException;

#endif 	/* __DispEventException_FWD_DEFINED__ */


#ifndef __EventException_FWD_DEFINED__
#define __EventException_FWD_DEFINED__

#ifdef __cplusplus
typedef class EventException EventException;
#else
typedef struct EventException EventException;
#endif /* __cplusplus */

#endif 	/* __EventException_FWD_DEFINED__ */


#ifndef __ISVGScriptElement_FWD_DEFINED__
#define __ISVGScriptElement_FWD_DEFINED__
typedef interface ISVGScriptElement ISVGScriptElement;

#endif 	/* __ISVGScriptElement_FWD_DEFINED__ */


#ifndef __DispSVGScriptElement_FWD_DEFINED__
#define __DispSVGScriptElement_FWD_DEFINED__
typedef interface DispSVGScriptElement DispSVGScriptElement;

#endif 	/* __DispSVGScriptElement_FWD_DEFINED__ */


#ifndef __SVGScriptElement_FWD_DEFINED__
#define __SVGScriptElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGScriptElement SVGScriptElement;
#else
typedef struct SVGScriptElement SVGScriptElement;
#endif /* __cplusplus */

#endif 	/* __SVGScriptElement_FWD_DEFINED__ */


#ifndef __ISVGStyleElement_FWD_DEFINED__
#define __ISVGStyleElement_FWD_DEFINED__
typedef interface ISVGStyleElement ISVGStyleElement;

#endif 	/* __ISVGStyleElement_FWD_DEFINED__ */


#ifndef __DispSVGStyleElement_FWD_DEFINED__
#define __DispSVGStyleElement_FWD_DEFINED__
typedef interface DispSVGStyleElement DispSVGStyleElement;

#endif 	/* __DispSVGStyleElement_FWD_DEFINED__ */


#ifndef __SVGStyleElement_FWD_DEFINED__
#define __SVGStyleElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGStyleElement SVGStyleElement;
#else
typedef struct SVGStyleElement SVGStyleElement;
#endif /* __cplusplus */

#endif 	/* __SVGStyleElement_FWD_DEFINED__ */


#ifndef __ISVGTextContentElement_FWD_DEFINED__
#define __ISVGTextContentElement_FWD_DEFINED__
typedef interface ISVGTextContentElement ISVGTextContentElement;

#endif 	/* __ISVGTextContentElement_FWD_DEFINED__ */


#ifndef __DispSVGTextContentElement_FWD_DEFINED__
#define __DispSVGTextContentElement_FWD_DEFINED__
typedef interface DispSVGTextContentElement DispSVGTextContentElement;

#endif 	/* __DispSVGTextContentElement_FWD_DEFINED__ */


#ifndef __SVGTextContentElement_FWD_DEFINED__
#define __SVGTextContentElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGTextContentElement SVGTextContentElement;
#else
typedef struct SVGTextContentElement SVGTextContentElement;
#endif /* __cplusplus */

#endif 	/* __SVGTextContentElement_FWD_DEFINED__ */


#ifndef __ISVGTextPositioningElement_FWD_DEFINED__
#define __ISVGTextPositioningElement_FWD_DEFINED__
typedef interface ISVGTextPositioningElement ISVGTextPositioningElement;

#endif 	/* __ISVGTextPositioningElement_FWD_DEFINED__ */


#ifndef __DispSVGTextPositioningElement_FWD_DEFINED__
#define __DispSVGTextPositioningElement_FWD_DEFINED__
typedef interface DispSVGTextPositioningElement DispSVGTextPositioningElement;

#endif 	/* __DispSVGTextPositioningElement_FWD_DEFINED__ */


#ifndef __SVGTextPositioningElement_FWD_DEFINED__
#define __SVGTextPositioningElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGTextPositioningElement SVGTextPositioningElement;
#else
typedef struct SVGTextPositioningElement SVGTextPositioningElement;
#endif /* __cplusplus */

#endif 	/* __SVGTextPositioningElement_FWD_DEFINED__ */


#ifndef __DispDOMDocumentType_FWD_DEFINED__
#define __DispDOMDocumentType_FWD_DEFINED__
typedef interface DispDOMDocumentType DispDOMDocumentType;

#endif 	/* __DispDOMDocumentType_FWD_DEFINED__ */


#ifndef __DOMDocumentType_FWD_DEFINED__
#define __DOMDocumentType_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMDocumentType DOMDocumentType;
#else
typedef struct DOMDocumentType DOMDocumentType;
#endif /* __cplusplus */

#endif 	/* __DOMDocumentType_FWD_DEFINED__ */


#ifndef __DispNodeIterator_FWD_DEFINED__
#define __DispNodeIterator_FWD_DEFINED__
typedef interface DispNodeIterator DispNodeIterator;

#endif 	/* __DispNodeIterator_FWD_DEFINED__ */


#ifndef __NodeIterator_FWD_DEFINED__
#define __NodeIterator_FWD_DEFINED__

#ifdef __cplusplus
typedef class NodeIterator NodeIterator;
#else
typedef struct NodeIterator NodeIterator;
#endif /* __cplusplus */

#endif 	/* __NodeIterator_FWD_DEFINED__ */


#ifndef __DispTreeWalker_FWD_DEFINED__
#define __DispTreeWalker_FWD_DEFINED__
typedef interface DispTreeWalker DispTreeWalker;

#endif 	/* __DispTreeWalker_FWD_DEFINED__ */


#ifndef __TreeWalker_FWD_DEFINED__
#define __TreeWalker_FWD_DEFINED__

#ifdef __cplusplus
typedef class TreeWalker TreeWalker;
#else
typedef struct TreeWalker TreeWalker;
#endif /* __cplusplus */

#endif 	/* __TreeWalker_FWD_DEFINED__ */


#ifndef __DispDOMProcessingInstruction_FWD_DEFINED__
#define __DispDOMProcessingInstruction_FWD_DEFINED__
typedef interface DispDOMProcessingInstruction DispDOMProcessingInstruction;

#endif 	/* __DispDOMProcessingInstruction_FWD_DEFINED__ */


#ifndef __DOMProcessingInstruction_FWD_DEFINED__
#define __DOMProcessingInstruction_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMProcessingInstruction DOMProcessingInstruction;
#else
typedef struct DOMProcessingInstruction DOMProcessingInstruction;
#endif /* __cplusplus */

#endif 	/* __DOMProcessingInstruction_FWD_DEFINED__ */


#ifndef __IHTMLPerformanceNavigation_FWD_DEFINED__
#define __IHTMLPerformanceNavigation_FWD_DEFINED__
typedef interface IHTMLPerformanceNavigation IHTMLPerformanceNavigation;

#endif 	/* __IHTMLPerformanceNavigation_FWD_DEFINED__ */


#ifndef __IHTMLPerformanceTiming_FWD_DEFINED__
#define __IHTMLPerformanceTiming_FWD_DEFINED__
typedef interface IHTMLPerformanceTiming IHTMLPerformanceTiming;

#endif 	/* __IHTMLPerformanceTiming_FWD_DEFINED__ */


#ifndef __DispHTMLPerformance_FWD_DEFINED__
#define __DispHTMLPerformance_FWD_DEFINED__
typedef interface DispHTMLPerformance DispHTMLPerformance;

#endif 	/* __DispHTMLPerformance_FWD_DEFINED__ */


#ifndef __HTMLPerformance_FWD_DEFINED__
#define __HTMLPerformance_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLPerformance HTMLPerformance;
#else
typedef struct HTMLPerformance HTMLPerformance;
#endif /* __cplusplus */

#endif 	/* __HTMLPerformance_FWD_DEFINED__ */


#ifndef __DispHTMLPerformanceNavigation_FWD_DEFINED__
#define __DispHTMLPerformanceNavigation_FWD_DEFINED__
typedef interface DispHTMLPerformanceNavigation DispHTMLPerformanceNavigation;

#endif 	/* __DispHTMLPerformanceNavigation_FWD_DEFINED__ */


#ifndef __HTMLPerformanceNavigation_FWD_DEFINED__
#define __HTMLPerformanceNavigation_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLPerformanceNavigation HTMLPerformanceNavigation;
#else
typedef struct HTMLPerformanceNavigation HTMLPerformanceNavigation;
#endif /* __cplusplus */

#endif 	/* __HTMLPerformanceNavigation_FWD_DEFINED__ */


#ifndef __DispHTMLPerformanceTiming_FWD_DEFINED__
#define __DispHTMLPerformanceTiming_FWD_DEFINED__
typedef interface DispHTMLPerformanceTiming DispHTMLPerformanceTiming;

#endif 	/* __DispHTMLPerformanceTiming_FWD_DEFINED__ */


#ifndef __HTMLPerformanceTiming_FWD_DEFINED__
#define __HTMLPerformanceTiming_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLPerformanceTiming HTMLPerformanceTiming;
#else
typedef struct HTMLPerformanceTiming HTMLPerformanceTiming;
#endif /* __cplusplus */

#endif 	/* __HTMLPerformanceTiming_FWD_DEFINED__ */


#ifndef __ISVGTSpanElement_FWD_DEFINED__
#define __ISVGTSpanElement_FWD_DEFINED__
typedef interface ISVGTSpanElement ISVGTSpanElement;

#endif 	/* __ISVGTSpanElement_FWD_DEFINED__ */


#ifndef __DispSVGTSpanElement_FWD_DEFINED__
#define __DispSVGTSpanElement_FWD_DEFINED__
typedef interface DispSVGTSpanElement DispSVGTSpanElement;

#endif 	/* __DispSVGTSpanElement_FWD_DEFINED__ */


#ifndef __SVGTSpanElement_FWD_DEFINED__
#define __SVGTSpanElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGTSpanElement SVGTSpanElement;
#else
typedef struct SVGTSpanElement SVGTSpanElement;
#endif /* __cplusplus */

#endif 	/* __SVGTSpanElement_FWD_DEFINED__ */


#ifndef __ITemplatePrinter_FWD_DEFINED__
#define __ITemplatePrinter_FWD_DEFINED__
typedef interface ITemplatePrinter ITemplatePrinter;

#endif 	/* __ITemplatePrinter_FWD_DEFINED__ */


#ifndef __ITemplatePrinter2_FWD_DEFINED__
#define __ITemplatePrinter2_FWD_DEFINED__
typedef interface ITemplatePrinter2 ITemplatePrinter2;

#endif 	/* __ITemplatePrinter2_FWD_DEFINED__ */


#ifndef __ITemplatePrinter3_FWD_DEFINED__
#define __ITemplatePrinter3_FWD_DEFINED__
typedef interface ITemplatePrinter3 ITemplatePrinter3;

#endif 	/* __ITemplatePrinter3_FWD_DEFINED__ */


#ifndef __IPrintManagerTemplatePrinter_FWD_DEFINED__
#define __IPrintManagerTemplatePrinter_FWD_DEFINED__
typedef interface IPrintManagerTemplatePrinter IPrintManagerTemplatePrinter;

#endif 	/* __IPrintManagerTemplatePrinter_FWD_DEFINED__ */


#ifndef __IPrintManagerTemplatePrinter2_FWD_DEFINED__
#define __IPrintManagerTemplatePrinter2_FWD_DEFINED__
typedef interface IPrintManagerTemplatePrinter2 IPrintManagerTemplatePrinter2;

#endif 	/* __IPrintManagerTemplatePrinter2_FWD_DEFINED__ */


#ifndef __CTemplatePrinter_FWD_DEFINED__
#define __CTemplatePrinter_FWD_DEFINED__

#ifdef __cplusplus
typedef class CTemplatePrinter CTemplatePrinter;
#else
typedef struct CTemplatePrinter CTemplatePrinter;
#endif /* __cplusplus */

#endif 	/* __CTemplatePrinter_FWD_DEFINED__ */


#ifndef __DispCPrintManagerTemplatePrinter_FWD_DEFINED__
#define __DispCPrintManagerTemplatePrinter_FWD_DEFINED__
typedef interface DispCPrintManagerTemplatePrinter DispCPrintManagerTemplatePrinter;

#endif 	/* __DispCPrintManagerTemplatePrinter_FWD_DEFINED__ */


#ifndef __CPrintManagerTemplatePrinter_FWD_DEFINED__
#define __CPrintManagerTemplatePrinter_FWD_DEFINED__

#ifdef __cplusplus
typedef class CPrintManagerTemplatePrinter CPrintManagerTemplatePrinter;
#else
typedef struct CPrintManagerTemplatePrinter CPrintManagerTemplatePrinter;
#endif /* __cplusplus */

#endif 	/* __CPrintManagerTemplatePrinter_FWD_DEFINED__ */


#ifndef __ISVGTextPathElement_FWD_DEFINED__
#define __ISVGTextPathElement_FWD_DEFINED__
typedef interface ISVGTextPathElement ISVGTextPathElement;

#endif 	/* __ISVGTextPathElement_FWD_DEFINED__ */


#ifndef __DispSVGTextPathElement_FWD_DEFINED__
#define __DispSVGTextPathElement_FWD_DEFINED__
typedef interface DispSVGTextPathElement DispSVGTextPathElement;

#endif 	/* __DispSVGTextPathElement_FWD_DEFINED__ */


#ifndef __SVGTextPathElement_FWD_DEFINED__
#define __SVGTextPathElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class SVGTextPathElement SVGTextPathElement;
#else
typedef struct SVGTextPathElement SVGTextPathElement;
#endif /* __cplusplus */

#endif 	/* __SVGTextPathElement_FWD_DEFINED__ */


#ifndef __IDOMXmlSerializer_FWD_DEFINED__
#define __IDOMXmlSerializer_FWD_DEFINED__
typedef interface IDOMXmlSerializer IDOMXmlSerializer;

#endif 	/* __IDOMXmlSerializer_FWD_DEFINED__ */


#ifndef __IDOMParser_FWD_DEFINED__
#define __IDOMParser_FWD_DEFINED__
typedef interface IDOMParser IDOMParser;

#endif 	/* __IDOMParser_FWD_DEFINED__ */


#ifndef __DispXMLSerializer_FWD_DEFINED__
#define __DispXMLSerializer_FWD_DEFINED__
typedef interface DispXMLSerializer DispXMLSerializer;

#endif 	/* __DispXMLSerializer_FWD_DEFINED__ */


#ifndef __XMLSerializer_FWD_DEFINED__
#define __XMLSerializer_FWD_DEFINED__

#ifdef __cplusplus
typedef class XMLSerializer XMLSerializer;
#else
typedef struct XMLSerializer XMLSerializer;
#endif /* __cplusplus */

#endif 	/* __XMLSerializer_FWD_DEFINED__ */


#ifndef __DispDOMParser_FWD_DEFINED__
#define __DispDOMParser_FWD_DEFINED__
typedef interface DispDOMParser DispDOMParser;

#endif 	/* __DispDOMParser_FWD_DEFINED__ */


#ifndef __DOMParser_FWD_DEFINED__
#define __DOMParser_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMParser DOMParser;
#else
typedef struct DOMParser DOMParser;
#endif /* __cplusplus */

#endif 	/* __DOMParser_FWD_DEFINED__ */


#ifndef __IDOMXmlSerializerFactory_FWD_DEFINED__
#define __IDOMXmlSerializerFactory_FWD_DEFINED__
typedef interface IDOMXmlSerializerFactory IDOMXmlSerializerFactory;

#endif 	/* __IDOMXmlSerializerFactory_FWD_DEFINED__ */


#ifndef __IDOMParserFactory_FWD_DEFINED__
#define __IDOMParserFactory_FWD_DEFINED__
typedef interface IDOMParserFactory IDOMParserFactory;

#endif 	/* __IDOMParserFactory_FWD_DEFINED__ */


#ifndef __HTMLDOMXmlSerializerFactory_FWD_DEFINED__
#define __HTMLDOMXmlSerializerFactory_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLDOMXmlSerializerFactory HTMLDOMXmlSerializerFactory;
#else
typedef struct HTMLDOMXmlSerializerFactory HTMLDOMXmlSerializerFactory;
#endif /* __cplusplus */

#endif 	/* __HTMLDOMXmlSerializerFactory_FWD_DEFINED__ */


#ifndef __DOMParserFactory_FWD_DEFINED__
#define __DOMParserFactory_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMParserFactory DOMParserFactory;
#else
typedef struct DOMParserFactory DOMParserFactory;
#endif /* __cplusplus */

#endif 	/* __DOMParserFactory_FWD_DEFINED__ */


#ifndef __DispHTMLSemanticElement_FWD_DEFINED__
#define __DispHTMLSemanticElement_FWD_DEFINED__
typedef interface DispHTMLSemanticElement DispHTMLSemanticElement;

#endif 	/* __DispHTMLSemanticElement_FWD_DEFINED__ */


#ifndef __HTMLSemanticElement_FWD_DEFINED__
#define __HTMLSemanticElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLSemanticElement HTMLSemanticElement;
#else
typedef struct HTMLSemanticElement HTMLSemanticElement;
#endif /* __cplusplus */

#endif 	/* __HTMLSemanticElement_FWD_DEFINED__ */


#ifndef __IHTMLProgressElement_FWD_DEFINED__
#define __IHTMLProgressElement_FWD_DEFINED__
typedef interface IHTMLProgressElement IHTMLProgressElement;

#endif 	/* __IHTMLProgressElement_FWD_DEFINED__ */


#ifndef __DispHTMLProgressElement_FWD_DEFINED__
#define __DispHTMLProgressElement_FWD_DEFINED__
typedef interface DispHTMLProgressElement DispHTMLProgressElement;

#endif 	/* __DispHTMLProgressElement_FWD_DEFINED__ */


#ifndef __HTMLProgressElement_FWD_DEFINED__
#define __HTMLProgressElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLProgressElement HTMLProgressElement;
#else
typedef struct HTMLProgressElement HTMLProgressElement;
#endif /* __cplusplus */

#endif 	/* __HTMLProgressElement_FWD_DEFINED__ */


#ifndef __IDOMMSTransitionEvent_FWD_DEFINED__
#define __IDOMMSTransitionEvent_FWD_DEFINED__
typedef interface IDOMMSTransitionEvent IDOMMSTransitionEvent;

#endif 	/* __IDOMMSTransitionEvent_FWD_DEFINED__ */


#ifndef __DispDOMMSTransitionEvent_FWD_DEFINED__
#define __DispDOMMSTransitionEvent_FWD_DEFINED__
typedef interface DispDOMMSTransitionEvent DispDOMMSTransitionEvent;

#endif 	/* __DispDOMMSTransitionEvent_FWD_DEFINED__ */


#ifndef __DOMMSTransitionEvent_FWD_DEFINED__
#define __DOMMSTransitionEvent_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMMSTransitionEvent DOMMSTransitionEvent;
#else
typedef struct DOMMSTransitionEvent DOMMSTransitionEvent;
#endif /* __cplusplus */

#endif 	/* __DOMMSTransitionEvent_FWD_DEFINED__ */


#ifndef __IDOMMSAnimationEvent_FWD_DEFINED__
#define __IDOMMSAnimationEvent_FWD_DEFINED__
typedef interface IDOMMSAnimationEvent IDOMMSAnimationEvent;

#endif 	/* __IDOMMSAnimationEvent_FWD_DEFINED__ */


#ifndef __DispDOMMSAnimationEvent_FWD_DEFINED__
#define __DispDOMMSAnimationEvent_FWD_DEFINED__
typedef interface DispDOMMSAnimationEvent DispDOMMSAnimationEvent;

#endif 	/* __DispDOMMSAnimationEvent_FWD_DEFINED__ */


#ifndef __DOMMSAnimationEvent_FWD_DEFINED__
#define __DOMMSAnimationEvent_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMMSAnimationEvent DOMMSAnimationEvent;
#else
typedef struct DOMMSAnimationEvent DOMMSAnimationEvent;
#endif /* __cplusplus */

#endif 	/* __DOMMSAnimationEvent_FWD_DEFINED__ */


#ifndef __IWebGeocoordinates_FWD_DEFINED__
#define __IWebGeocoordinates_FWD_DEFINED__
typedef interface IWebGeocoordinates IWebGeocoordinates;

#endif 	/* __IWebGeocoordinates_FWD_DEFINED__ */


#ifndef __IWebGeopositionError_FWD_DEFINED__
#define __IWebGeopositionError_FWD_DEFINED__
typedef interface IWebGeopositionError IWebGeopositionError;

#endif 	/* __IWebGeopositionError_FWD_DEFINED__ */


#ifndef __IWebGeoposition_FWD_DEFINED__
#define __IWebGeoposition_FWD_DEFINED__
typedef interface IWebGeoposition IWebGeoposition;

#endif 	/* __IWebGeoposition_FWD_DEFINED__ */


#ifndef __DispWebGeolocation_FWD_DEFINED__
#define __DispWebGeolocation_FWD_DEFINED__
typedef interface DispWebGeolocation DispWebGeolocation;

#endif 	/* __DispWebGeolocation_FWD_DEFINED__ */


#ifndef __WebGeolocation_FWD_DEFINED__
#define __WebGeolocation_FWD_DEFINED__

#ifdef __cplusplus
typedef class WebGeolocation WebGeolocation;
#else
typedef struct WebGeolocation WebGeolocation;
#endif /* __cplusplus */

#endif 	/* __WebGeolocation_FWD_DEFINED__ */


#ifndef __DispWebGeocoordinates_FWD_DEFINED__
#define __DispWebGeocoordinates_FWD_DEFINED__
typedef interface DispWebGeocoordinates DispWebGeocoordinates;

#endif 	/* __DispWebGeocoordinates_FWD_DEFINED__ */


#ifndef __WebGeocoordinates_FWD_DEFINED__
#define __WebGeocoordinates_FWD_DEFINED__

#ifdef __cplusplus
typedef class WebGeocoordinates WebGeocoordinates;
#else
typedef struct WebGeocoordinates WebGeocoordinates;
#endif /* __cplusplus */

#endif 	/* __WebGeocoordinates_FWD_DEFINED__ */


#ifndef __DispWebGeopositionError_FWD_DEFINED__
#define __DispWebGeopositionError_FWD_DEFINED__
typedef interface DispWebGeopositionError DispWebGeopositionError;

#endif 	/* __DispWebGeopositionError_FWD_DEFINED__ */


#ifndef __WebGeopositionError_FWD_DEFINED__
#define __WebGeopositionError_FWD_DEFINED__

#ifdef __cplusplus
typedef class WebGeopositionError WebGeopositionError;
#else
typedef struct WebGeopositionError WebGeopositionError;
#endif /* __cplusplus */

#endif 	/* __WebGeopositionError_FWD_DEFINED__ */


#ifndef __DispWebGeoposition_FWD_DEFINED__
#define __DispWebGeoposition_FWD_DEFINED__
typedef interface DispWebGeoposition DispWebGeoposition;

#endif 	/* __DispWebGeoposition_FWD_DEFINED__ */


#ifndef __WebGeoposition_FWD_DEFINED__
#define __WebGeoposition_FWD_DEFINED__

#ifdef __cplusplus
typedef class WebGeoposition WebGeoposition;
#else
typedef struct WebGeoposition WebGeoposition;
#endif /* __cplusplus */

#endif 	/* __WebGeoposition_FWD_DEFINED__ */


#ifndef __IClientCaps_FWD_DEFINED__
#define __IClientCaps_FWD_DEFINED__
typedef interface IClientCaps IClientCaps;

#endif 	/* __IClientCaps_FWD_DEFINED__ */


#ifndef __CClientCaps_FWD_DEFINED__
#define __CClientCaps_FWD_DEFINED__

#ifdef __cplusplus
typedef class CClientCaps CClientCaps;
#else
typedef struct CClientCaps CClientCaps;
#endif /* __cplusplus */

#endif 	/* __CClientCaps_FWD_DEFINED__ */


#ifndef __IDOMMSManipulationEvent_FWD_DEFINED__
#define __IDOMMSManipulationEvent_FWD_DEFINED__
typedef interface IDOMMSManipulationEvent IDOMMSManipulationEvent;

#endif 	/* __IDOMMSManipulationEvent_FWD_DEFINED__ */


#ifndef __DispDOMMSManipulationEvent_FWD_DEFINED__
#define __DispDOMMSManipulationEvent_FWD_DEFINED__
typedef interface DispDOMMSManipulationEvent DispDOMMSManipulationEvent;

#endif 	/* __DispDOMMSManipulationEvent_FWD_DEFINED__ */


#ifndef __DOMMSManipulationEvent_FWD_DEFINED__
#define __DOMMSManipulationEvent_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMMSManipulationEvent DOMMSManipulationEvent;
#else
typedef struct DOMMSManipulationEvent DOMMSManipulationEvent;
#endif /* __cplusplus */

#endif 	/* __DOMMSManipulationEvent_FWD_DEFINED__ */


#ifndef __IDOMCloseEvent_FWD_DEFINED__
#define __IDOMCloseEvent_FWD_DEFINED__
typedef interface IDOMCloseEvent IDOMCloseEvent;

#endif 	/* __IDOMCloseEvent_FWD_DEFINED__ */


#ifndef __DispDOMCloseEvent_FWD_DEFINED__
#define __DispDOMCloseEvent_FWD_DEFINED__
typedef interface DispDOMCloseEvent DispDOMCloseEvent;

#endif 	/* __DispDOMCloseEvent_FWD_DEFINED__ */


#ifndef __DOMCloseEvent_FWD_DEFINED__
#define __DOMCloseEvent_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMCloseEvent DOMCloseEvent;
#else
typedef struct DOMCloseEvent DOMCloseEvent;
#endif /* __cplusplus */

#endif 	/* __DOMCloseEvent_FWD_DEFINED__ */


#ifndef __DispApplicationCache_FWD_DEFINED__
#define __DispApplicationCache_FWD_DEFINED__
typedef interface DispApplicationCache DispApplicationCache;

#endif 	/* __DispApplicationCache_FWD_DEFINED__ */


#ifndef __ApplicationCache_FWD_DEFINED__
#define __ApplicationCache_FWD_DEFINED__

#ifdef __cplusplus
typedef class ApplicationCache ApplicationCache;
#else
typedef struct ApplicationCache ApplicationCache;
#endif /* __cplusplus */

#endif 	/* __ApplicationCache_FWD_DEFINED__ */


#ifndef __ICSSFilterSite_FWD_DEFINED__
#define __ICSSFilterSite_FWD_DEFINED__
typedef interface ICSSFilterSite ICSSFilterSite;

#endif 	/* __ICSSFilterSite_FWD_DEFINED__ */


#ifndef __IMarkupPointer_FWD_DEFINED__
#define __IMarkupPointer_FWD_DEFINED__
typedef interface IMarkupPointer IMarkupPointer;

#endif 	/* __IMarkupPointer_FWD_DEFINED__ */


#ifndef __IMarkupContainer_FWD_DEFINED__
#define __IMarkupContainer_FWD_DEFINED__
typedef interface IMarkupContainer IMarkupContainer;

#endif 	/* __IMarkupContainer_FWD_DEFINED__ */


#ifndef __IMarkupContainer2_FWD_DEFINED__
#define __IMarkupContainer2_FWD_DEFINED__
typedef interface IMarkupContainer2 IMarkupContainer2;

#endif 	/* __IMarkupContainer2_FWD_DEFINED__ */


#ifndef __IHTMLChangeLog_FWD_DEFINED__
#define __IHTMLChangeLog_FWD_DEFINED__
typedef interface IHTMLChangeLog IHTMLChangeLog;

#endif 	/* __IHTMLChangeLog_FWD_DEFINED__ */


#ifndef __IHTMLChangeSink_FWD_DEFINED__
#define __IHTMLChangeSink_FWD_DEFINED__
typedef interface IHTMLChangeSink IHTMLChangeSink;

#endif 	/* __IHTMLChangeSink_FWD_DEFINED__ */


#ifndef __IActiveIMMApp_FWD_DEFINED__
#define __IActiveIMMApp_FWD_DEFINED__
typedef interface IActiveIMMApp IActiveIMMApp;

#endif 	/* __IActiveIMMApp_FWD_DEFINED__ */


#ifndef __ISegmentList_FWD_DEFINED__
#define __ISegmentList_FWD_DEFINED__
typedef interface ISegmentList ISegmentList;

#endif 	/* __ISegmentList_FWD_DEFINED__ */


#ifndef __ISegmentListIterator_FWD_DEFINED__
#define __ISegmentListIterator_FWD_DEFINED__
typedef interface ISegmentListIterator ISegmentListIterator;

#endif 	/* __ISegmentListIterator_FWD_DEFINED__ */


#ifndef __IHTMLCaret_FWD_DEFINED__
#define __IHTMLCaret_FWD_DEFINED__
typedef interface IHTMLCaret IHTMLCaret;

#endif 	/* __IHTMLCaret_FWD_DEFINED__ */


#ifndef __ISegment_FWD_DEFINED__
#define __ISegment_FWD_DEFINED__
typedef interface ISegment ISegment;

#endif 	/* __ISegment_FWD_DEFINED__ */


#ifndef __IElementSegment_FWD_DEFINED__
#define __IElementSegment_FWD_DEFINED__
typedef interface IElementSegment IElementSegment;

#endif 	/* __IElementSegment_FWD_DEFINED__ */


#ifndef __IHighlightSegment_FWD_DEFINED__
#define __IHighlightSegment_FWD_DEFINED__
typedef interface IHighlightSegment IHighlightSegment;

#endif 	/* __IHighlightSegment_FWD_DEFINED__ */


#ifndef __IHighlightRenderingServices_FWD_DEFINED__
#define __IHighlightRenderingServices_FWD_DEFINED__
typedef interface IHighlightRenderingServices IHighlightRenderingServices;

#endif 	/* __IHighlightRenderingServices_FWD_DEFINED__ */


#ifndef __ILineInfo_FWD_DEFINED__
#define __ILineInfo_FWD_DEFINED__
typedef interface ILineInfo ILineInfo;

#endif 	/* __ILineInfo_FWD_DEFINED__ */


#ifndef __IDisplayPointer_FWD_DEFINED__
#define __IDisplayPointer_FWD_DEFINED__
typedef interface IDisplayPointer IDisplayPointer;

#endif 	/* __IDisplayPointer_FWD_DEFINED__ */


#ifndef __IDisplayServices_FWD_DEFINED__
#define __IDisplayServices_FWD_DEFINED__
typedef interface IDisplayServices IDisplayServices;

#endif 	/* __IDisplayServices_FWD_DEFINED__ */


#ifndef __IHtmlDlgSafeHelper_FWD_DEFINED__
#define __IHtmlDlgSafeHelper_FWD_DEFINED__
typedef interface IHtmlDlgSafeHelper IHtmlDlgSafeHelper;

#endif 	/* __IHtmlDlgSafeHelper_FWD_DEFINED__ */


#ifndef __IBlockFormats_FWD_DEFINED__
#define __IBlockFormats_FWD_DEFINED__
typedef interface IBlockFormats IBlockFormats;

#endif 	/* __IBlockFormats_FWD_DEFINED__ */


#ifndef __IFontNames_FWD_DEFINED__
#define __IFontNames_FWD_DEFINED__
typedef interface IFontNames IFontNames;

#endif 	/* __IFontNames_FWD_DEFINED__ */


#ifndef __ICSSFilter_FWD_DEFINED__
#define __ICSSFilter_FWD_DEFINED__
typedef interface ICSSFilter ICSSFilter;

#endif 	/* __ICSSFilter_FWD_DEFINED__ */


#ifndef __ISecureUrlHost_FWD_DEFINED__
#define __ISecureUrlHost_FWD_DEFINED__
typedef interface ISecureUrlHost ISecureUrlHost;

#endif 	/* __ISecureUrlHost_FWD_DEFINED__ */


#ifndef __IMarkupServices_FWD_DEFINED__
#define __IMarkupServices_FWD_DEFINED__
typedef interface IMarkupServices IMarkupServices;

#endif 	/* __IMarkupServices_FWD_DEFINED__ */


#ifndef __IMarkupServices2_FWD_DEFINED__
#define __IMarkupServices2_FWD_DEFINED__
typedef interface IMarkupServices2 IMarkupServices2;

#endif 	/* __IMarkupServices2_FWD_DEFINED__ */


#ifndef __IHTMLChangePlayback_FWD_DEFINED__
#define __IHTMLChangePlayback_FWD_DEFINED__
typedef interface IHTMLChangePlayback IHTMLChangePlayback;

#endif 	/* __IHTMLChangePlayback_FWD_DEFINED__ */


#ifndef __IMarkupPointer2_FWD_DEFINED__
#define __IMarkupPointer2_FWD_DEFINED__
typedef interface IMarkupPointer2 IMarkupPointer2;

#endif 	/* __IMarkupPointer2_FWD_DEFINED__ */


#ifndef __IMarkupTextFrags_FWD_DEFINED__
#define __IMarkupTextFrags_FWD_DEFINED__
typedef interface IMarkupTextFrags IMarkupTextFrags;

#endif 	/* __IMarkupTextFrags_FWD_DEFINED__ */


#ifndef __IXMLGenericParse_FWD_DEFINED__
#define __IXMLGenericParse_FWD_DEFINED__
typedef interface IXMLGenericParse IXMLGenericParse;

#endif 	/* __IXMLGenericParse_FWD_DEFINED__ */


#ifndef __IHTMLEditHost_FWD_DEFINED__
#define __IHTMLEditHost_FWD_DEFINED__
typedef interface IHTMLEditHost IHTMLEditHost;

#endif 	/* __IHTMLEditHost_FWD_DEFINED__ */


#ifndef __IHTMLEditHost2_FWD_DEFINED__
#define __IHTMLEditHost2_FWD_DEFINED__
typedef interface IHTMLEditHost2 IHTMLEditHost2;

#endif 	/* __IHTMLEditHost2_FWD_DEFINED__ */


#ifndef __ISequenceNumber_FWD_DEFINED__
#define __ISequenceNumber_FWD_DEFINED__
typedef interface ISequenceNumber ISequenceNumber;

#endif 	/* __ISequenceNumber_FWD_DEFINED__ */


#ifndef __IIMEServices_FWD_DEFINED__
#define __IIMEServices_FWD_DEFINED__
typedef interface IIMEServices IIMEServices;

#endif 	/* __IIMEServices_FWD_DEFINED__ */


#ifndef __ISelectionServicesListener_FWD_DEFINED__
#define __ISelectionServicesListener_FWD_DEFINED__
typedef interface ISelectionServicesListener ISelectionServicesListener;

#endif 	/* __ISelectionServicesListener_FWD_DEFINED__ */


#ifndef __ISelectionServices_FWD_DEFINED__
#define __ISelectionServices_FWD_DEFINED__
typedef interface ISelectionServices ISelectionServices;

#endif 	/* __ISelectionServices_FWD_DEFINED__ */


#ifndef __IHTMLEditDesigner_FWD_DEFINED__
#define __IHTMLEditDesigner_FWD_DEFINED__
typedef interface IHTMLEditDesigner IHTMLEditDesigner;

#endif 	/* __IHTMLEditDesigner_FWD_DEFINED__ */


#ifndef __IHTMLEditServices_FWD_DEFINED__
#define __IHTMLEditServices_FWD_DEFINED__
typedef interface IHTMLEditServices IHTMLEditServices;

#endif 	/* __IHTMLEditServices_FWD_DEFINED__ */


#ifndef __IHTMLEditServices2_FWD_DEFINED__
#define __IHTMLEditServices2_FWD_DEFINED__
typedef interface IHTMLEditServices2 IHTMLEditServices2;

#endif 	/* __IHTMLEditServices2_FWD_DEFINED__ */


#ifndef __IHTMLComputedStyle_FWD_DEFINED__
#define __IHTMLComputedStyle_FWD_DEFINED__
typedef interface IHTMLComputedStyle IHTMLComputedStyle;

#endif 	/* __IHTMLComputedStyle_FWD_DEFINED__ */


#ifndef __HtmlDlgSafeHelper_FWD_DEFINED__
#define __HtmlDlgSafeHelper_FWD_DEFINED__

#ifdef __cplusplus
typedef class HtmlDlgSafeHelper HtmlDlgSafeHelper;
#else
typedef struct HtmlDlgSafeHelper HtmlDlgSafeHelper;
#endif /* __cplusplus */

#endif 	/* __HtmlDlgSafeHelper_FWD_DEFINED__ */


#ifndef __BlockFormats_FWD_DEFINED__
#define __BlockFormats_FWD_DEFINED__

#ifdef __cplusplus
typedef class BlockFormats BlockFormats;
#else
typedef struct BlockFormats BlockFormats;
#endif /* __cplusplus */

#endif 	/* __BlockFormats_FWD_DEFINED__ */


#ifndef __FontNames_FWD_DEFINED__
#define __FontNames_FWD_DEFINED__

#ifdef __cplusplus
typedef class FontNames FontNames;
#else
typedef struct FontNames FontNames;
#endif /* __cplusplus */

#endif 	/* __FontNames_FWD_DEFINED__ */


#ifndef __IDeveloperConsoleMessageReceiver_FWD_DEFINED__
#define __IDeveloperConsoleMessageReceiver_FWD_DEFINED__
typedef interface IDeveloperConsoleMessageReceiver IDeveloperConsoleMessageReceiver;

#endif 	/* __IDeveloperConsoleMessageReceiver_FWD_DEFINED__ */


#ifndef __IScriptEventHandler_FWD_DEFINED__
#define __IScriptEventHandler_FWD_DEFINED__
typedef interface IScriptEventHandler IScriptEventHandler;

#endif 	/* __IScriptEventHandler_FWD_DEFINED__ */


#ifndef __IDebugCallbackNotificationHandler_FWD_DEFINED__
#define __IDebugCallbackNotificationHandler_FWD_DEFINED__
typedef interface IDebugCallbackNotificationHandler IDebugCallbackNotificationHandler;

#endif 	/* __IDebugCallbackNotificationHandler_FWD_DEFINED__ */


#ifndef __IScriptEventHandlerSourceInfo_FWD_DEFINED__
#define __IScriptEventHandlerSourceInfo_FWD_DEFINED__
typedef interface IScriptEventHandlerSourceInfo IScriptEventHandlerSourceInfo;

#endif 	/* __IScriptEventHandlerSourceInfo_FWD_DEFINED__ */


#ifndef __IDOMEventRegistrationCallback_FWD_DEFINED__
#define __IDOMEventRegistrationCallback_FWD_DEFINED__
typedef interface IDOMEventRegistrationCallback IDOMEventRegistrationCallback;

#endif 	/* __IDOMEventRegistrationCallback_FWD_DEFINED__ */


#ifndef __IEventTarget2_FWD_DEFINED__
#define __IEventTarget2_FWD_DEFINED__
typedef interface IEventTarget2 IEventTarget2;

#endif 	/* __IEventTarget2_FWD_DEFINED__ */


#ifndef __HTMLNamespaceEvents_FWD_DEFINED__
#define __HTMLNamespaceEvents_FWD_DEFINED__
typedef interface HTMLNamespaceEvents HTMLNamespaceEvents;

#endif 	/* __HTMLNamespaceEvents_FWD_DEFINED__ */


#ifndef __IHTMLNamespace_FWD_DEFINED__
#define __IHTMLNamespace_FWD_DEFINED__
typedef interface IHTMLNamespace IHTMLNamespace;

#endif 	/* __IHTMLNamespace_FWD_DEFINED__ */


#ifndef __IHTMLNamespaceCollection_FWD_DEFINED__
#define __IHTMLNamespaceCollection_FWD_DEFINED__
typedef interface IHTMLNamespaceCollection IHTMLNamespaceCollection;

#endif 	/* __IHTMLNamespaceCollection_FWD_DEFINED__ */


#ifndef __DispHTMLNamespace_FWD_DEFINED__
#define __DispHTMLNamespace_FWD_DEFINED__
typedef interface DispHTMLNamespace DispHTMLNamespace;

#endif 	/* __DispHTMLNamespace_FWD_DEFINED__ */


#ifndef __HTMLNamespace_FWD_DEFINED__
#define __HTMLNamespace_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLNamespace HTMLNamespace;
#else
typedef struct HTMLNamespace HTMLNamespace;
#endif /* __cplusplus */

#endif 	/* __HTMLNamespace_FWD_DEFINED__ */


#ifndef __DispHTMLNamespaceCollection_FWD_DEFINED__
#define __DispHTMLNamespaceCollection_FWD_DEFINED__
typedef interface DispHTMLNamespaceCollection DispHTMLNamespaceCollection;

#endif 	/* __DispHTMLNamespaceCollection_FWD_DEFINED__ */


#ifndef __HTMLNamespaceCollection_FWD_DEFINED__
#define __HTMLNamespaceCollection_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLNamespaceCollection HTMLNamespaceCollection;
#else
typedef struct HTMLNamespaceCollection HTMLNamespaceCollection;
#endif /* __cplusplus */

#endif 	/* __HTMLNamespaceCollection_FWD_DEFINED__ */


#ifndef __IHTMLPainter_FWD_DEFINED__
#define __IHTMLPainter_FWD_DEFINED__
typedef interface IHTMLPainter IHTMLPainter;

#endif 	/* __IHTMLPainter_FWD_DEFINED__ */


#ifndef __IHTMLPaintSite_FWD_DEFINED__
#define __IHTMLPaintSite_FWD_DEFINED__
typedef interface IHTMLPaintSite IHTMLPaintSite;

#endif 	/* __IHTMLPaintSite_FWD_DEFINED__ */


#ifndef __IHTMLPainterEventInfo_FWD_DEFINED__
#define __IHTMLPainterEventInfo_FWD_DEFINED__
typedef interface IHTMLPainterEventInfo IHTMLPainterEventInfo;

#endif 	/* __IHTMLPainterEventInfo_FWD_DEFINED__ */


#ifndef __IHTMLPainterOverlay_FWD_DEFINED__
#define __IHTMLPainterOverlay_FWD_DEFINED__
typedef interface IHTMLPainterOverlay IHTMLPainterOverlay;

#endif 	/* __IHTMLPainterOverlay_FWD_DEFINED__ */


#ifndef __IHTMLIPrintCollection_FWD_DEFINED__
#define __IHTMLIPrintCollection_FWD_DEFINED__
typedef interface IHTMLIPrintCollection IHTMLIPrintCollection;

#endif 	/* __IHTMLIPrintCollection_FWD_DEFINED__ */


#ifndef __IEnumPrivacyRecords_FWD_DEFINED__
#define __IEnumPrivacyRecords_FWD_DEFINED__
typedef interface IEnumPrivacyRecords IEnumPrivacyRecords;

#endif 	/* __IEnumPrivacyRecords_FWD_DEFINED__ */


#ifndef __IWPCBlockedUrls_FWD_DEFINED__
#define __IWPCBlockedUrls_FWD_DEFINED__
typedef interface IWPCBlockedUrls IWPCBlockedUrls;

#endif 	/* __IWPCBlockedUrls_FWD_DEFINED__ */


#ifndef __IHTMLDOMConstructorCollection_FWD_DEFINED__
#define __IHTMLDOMConstructorCollection_FWD_DEFINED__
typedef interface IHTMLDOMConstructorCollection IHTMLDOMConstructorCollection;

#endif 	/* __IHTMLDOMConstructorCollection_FWD_DEFINED__ */


#ifndef __IHTMLDialog_FWD_DEFINED__
#define __IHTMLDialog_FWD_DEFINED__
typedef interface IHTMLDialog IHTMLDialog;

#endif 	/* __IHTMLDialog_FWD_DEFINED__ */


#ifndef __IHTMLDialog2_FWD_DEFINED__
#define __IHTMLDialog2_FWD_DEFINED__
typedef interface IHTMLDialog2 IHTMLDialog2;

#endif 	/* __IHTMLDialog2_FWD_DEFINED__ */


#ifndef __IHTMLDialog3_FWD_DEFINED__
#define __IHTMLDialog3_FWD_DEFINED__
typedef interface IHTMLDialog3 IHTMLDialog3;

#endif 	/* __IHTMLDialog3_FWD_DEFINED__ */


#ifndef __IHTMLModelessInit_FWD_DEFINED__
#define __IHTMLModelessInit_FWD_DEFINED__
typedef interface IHTMLModelessInit IHTMLModelessInit;

#endif 	/* __IHTMLModelessInit_FWD_DEFINED__ */


#ifndef __ThreadDialogProcParam_FWD_DEFINED__
#define __ThreadDialogProcParam_FWD_DEFINED__

#ifdef __cplusplus
typedef class ThreadDialogProcParam ThreadDialogProcParam;
#else
typedef struct ThreadDialogProcParam ThreadDialogProcParam;
#endif /* __cplusplus */

#endif 	/* __ThreadDialogProcParam_FWD_DEFINED__ */


#ifndef __HTMLDialog_FWD_DEFINED__
#define __HTMLDialog_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLDialog HTMLDialog;
#else
typedef struct HTMLDialog HTMLDialog;
#endif /* __cplusplus */

#endif 	/* __HTMLDialog_FWD_DEFINED__ */


#ifndef __IHTMLPopup_FWD_DEFINED__
#define __IHTMLPopup_FWD_DEFINED__
typedef interface IHTMLPopup IHTMLPopup;

#endif 	/* __IHTMLPopup_FWD_DEFINED__ */


#ifndef __DispHTMLPopup_FWD_DEFINED__
#define __DispHTMLPopup_FWD_DEFINED__
typedef interface DispHTMLPopup DispHTMLPopup;

#endif 	/* __DispHTMLPopup_FWD_DEFINED__ */


#ifndef __HTMLPopup_FWD_DEFINED__
#define __HTMLPopup_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLPopup HTMLPopup;
#else
typedef struct HTMLPopup HTMLPopup;
#endif /* __cplusplus */

#endif 	/* __HTMLPopup_FWD_DEFINED__ */


#ifndef __IHTMLAppBehavior_FWD_DEFINED__
#define __IHTMLAppBehavior_FWD_DEFINED__
typedef interface IHTMLAppBehavior IHTMLAppBehavior;

#endif 	/* __IHTMLAppBehavior_FWD_DEFINED__ */


#ifndef __IHTMLAppBehavior2_FWD_DEFINED__
#define __IHTMLAppBehavior2_FWD_DEFINED__
typedef interface IHTMLAppBehavior2 IHTMLAppBehavior2;

#endif 	/* __IHTMLAppBehavior2_FWD_DEFINED__ */


#ifndef __IHTMLAppBehavior3_FWD_DEFINED__
#define __IHTMLAppBehavior3_FWD_DEFINED__
typedef interface IHTMLAppBehavior3 IHTMLAppBehavior3;

#endif 	/* __IHTMLAppBehavior3_FWD_DEFINED__ */


#ifndef __DispHTMLAppBehavior_FWD_DEFINED__
#define __DispHTMLAppBehavior_FWD_DEFINED__
typedef interface DispHTMLAppBehavior DispHTMLAppBehavior;

#endif 	/* __DispHTMLAppBehavior_FWD_DEFINED__ */


#ifndef __HTMLAppBehavior_FWD_DEFINED__
#define __HTMLAppBehavior_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLAppBehavior HTMLAppBehavior;
#else
typedef struct HTMLAppBehavior HTMLAppBehavior;
#endif /* __cplusplus */

#endif 	/* __HTMLAppBehavior_FWD_DEFINED__ */


#ifndef __OldHTMLDocument_FWD_DEFINED__
#define __OldHTMLDocument_FWD_DEFINED__

#ifdef __cplusplus
typedef class OldHTMLDocument OldHTMLDocument;
#else
typedef struct OldHTMLDocument OldHTMLDocument;
#endif /* __cplusplus */

#endif 	/* __OldHTMLDocument_FWD_DEFINED__ */


#ifndef __OldHTMLFormElement_FWD_DEFINED__
#define __OldHTMLFormElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class OldHTMLFormElement OldHTMLFormElement;
#else
typedef struct OldHTMLFormElement OldHTMLFormElement;
#endif /* __cplusplus */

#endif 	/* __OldHTMLFormElement_FWD_DEFINED__ */


#ifndef __DispIHTMLInputButtonElement_FWD_DEFINED__
#define __DispIHTMLInputButtonElement_FWD_DEFINED__
typedef interface DispIHTMLInputButtonElement DispIHTMLInputButtonElement;

#endif 	/* __DispIHTMLInputButtonElement_FWD_DEFINED__ */


#ifndef __HTMLInputButtonElement_FWD_DEFINED__
#define __HTMLInputButtonElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLInputButtonElement HTMLInputButtonElement;
#else
typedef struct HTMLInputButtonElement HTMLInputButtonElement;
#endif /* __cplusplus */

#endif 	/* __HTMLInputButtonElement_FWD_DEFINED__ */


#ifndef __DispIHTMLInputTextElement_FWD_DEFINED__
#define __DispIHTMLInputTextElement_FWD_DEFINED__
typedef interface DispIHTMLInputTextElement DispIHTMLInputTextElement;

#endif 	/* __DispIHTMLInputTextElement_FWD_DEFINED__ */


#ifndef __HTMLInputTextElement_FWD_DEFINED__
#define __HTMLInputTextElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLInputTextElement HTMLInputTextElement;
#else
typedef struct HTMLInputTextElement HTMLInputTextElement;
#endif /* __cplusplus */

#endif 	/* __HTMLInputTextElement_FWD_DEFINED__ */


#ifndef __DispIHTMLInputFileElement_FWD_DEFINED__
#define __DispIHTMLInputFileElement_FWD_DEFINED__
typedef interface DispIHTMLInputFileElement DispIHTMLInputFileElement;

#endif 	/* __DispIHTMLInputFileElement_FWD_DEFINED__ */


#ifndef __HTMLInputFileElement_FWD_DEFINED__
#define __HTMLInputFileElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLInputFileElement HTMLInputFileElement;
#else
typedef struct HTMLInputFileElement HTMLInputFileElement;
#endif /* __cplusplus */

#endif 	/* __HTMLInputFileElement_FWD_DEFINED__ */


#ifndef __DispIHTMLOptionButtonElement_FWD_DEFINED__
#define __DispIHTMLOptionButtonElement_FWD_DEFINED__
typedef interface DispIHTMLOptionButtonElement DispIHTMLOptionButtonElement;

#endif 	/* __DispIHTMLOptionButtonElement_FWD_DEFINED__ */


#ifndef __HTMLOptionButtonElement_FWD_DEFINED__
#define __HTMLOptionButtonElement_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLOptionButtonElement HTMLOptionButtonElement;
#else
typedef struct HTMLOptionButtonElement HTMLOptionButtonElement;
#endif /* __cplusplus */

#endif 	/* __HTMLOptionButtonElement_FWD_DEFINED__ */


#ifndef __DispIHTMLInputImage_FWD_DEFINED__
#define __DispIHTMLInputImage_FWD_DEFINED__
typedef interface DispIHTMLInputImage DispIHTMLInputImage;

#endif 	/* __DispIHTMLInputImage_FWD_DEFINED__ */


#ifndef __HTMLInputImage_FWD_DEFINED__
#define __HTMLInputImage_FWD_DEFINED__

#ifdef __cplusplus
typedef class HTMLInputImage HTMLInputImage;
#else
typedef struct HTMLInputImage HTMLInputImage;
#endif /* __cplusplus */

#endif 	/* __HTMLInputImage_FWD_DEFINED__ */


#ifndef __IElementNamespace_FWD_DEFINED__
#define __IElementNamespace_FWD_DEFINED__
typedef interface IElementNamespace IElementNamespace;

#endif 	/* __IElementNamespace_FWD_DEFINED__ */


#ifndef __IElementNamespaceTable_FWD_DEFINED__
#define __IElementNamespaceTable_FWD_DEFINED__
typedef interface IElementNamespaceTable IElementNamespaceTable;

#endif 	/* __IElementNamespaceTable_FWD_DEFINED__ */


#ifndef __IElementNamespaceFactory_FWD_DEFINED__
#define __IElementNamespaceFactory_FWD_DEFINED__
typedef interface IElementNamespaceFactory IElementNamespaceFactory;

#endif 	/* __IElementNamespaceFactory_FWD_DEFINED__ */


#ifndef __IElementNamespaceFactory2_FWD_DEFINED__
#define __IElementNamespaceFactory2_FWD_DEFINED__
typedef interface IElementNamespaceFactory2 IElementNamespaceFactory2;

#endif 	/* __IElementNamespaceFactory2_FWD_DEFINED__ */


#ifndef __IElementNamespaceFactoryCallback_FWD_DEFINED__
#define __IElementNamespaceFactoryCallback_FWD_DEFINED__
typedef interface IElementNamespaceFactoryCallback IElementNamespaceFactoryCallback;

#endif 	/* __IElementNamespaceFactoryCallback_FWD_DEFINED__ */


#ifndef __IElementBehaviorSiteOM2_FWD_DEFINED__
#define __IElementBehaviorSiteOM2_FWD_DEFINED__
typedef interface IElementBehaviorSiteOM2 IElementBehaviorSiteOM2;

#endif 	/* __IElementBehaviorSiteOM2_FWD_DEFINED__ */


#ifndef __IElementBehaviorCategory_FWD_DEFINED__
#define __IElementBehaviorCategory_FWD_DEFINED__
typedef interface IElementBehaviorCategory IElementBehaviorCategory;

#endif 	/* __IElementBehaviorCategory_FWD_DEFINED__ */


#ifndef __IElementBehaviorSiteCategory_FWD_DEFINED__
#define __IElementBehaviorSiteCategory_FWD_DEFINED__
typedef interface IElementBehaviorSiteCategory IElementBehaviorSiteCategory;

#endif 	/* __IElementBehaviorSiteCategory_FWD_DEFINED__ */


#ifndef __IElementBehaviorSubmit_FWD_DEFINED__
#define __IElementBehaviorSubmit_FWD_DEFINED__
typedef interface IElementBehaviorSubmit IElementBehaviorSubmit;

#endif 	/* __IElementBehaviorSubmit_FWD_DEFINED__ */


#ifndef __IElementBehaviorFocus_FWD_DEFINED__
#define __IElementBehaviorFocus_FWD_DEFINED__
typedef interface IElementBehaviorFocus IElementBehaviorFocus;

#endif 	/* __IElementBehaviorFocus_FWD_DEFINED__ */


#ifndef __IElementBehaviorLayout_FWD_DEFINED__
#define __IElementBehaviorLayout_FWD_DEFINED__
typedef interface IElementBehaviorLayout IElementBehaviorLayout;

#endif 	/* __IElementBehaviorLayout_FWD_DEFINED__ */


#ifndef __IElementBehaviorLayout2_FWD_DEFINED__
#define __IElementBehaviorLayout2_FWD_DEFINED__
typedef interface IElementBehaviorLayout2 IElementBehaviorLayout2;

#endif 	/* __IElementBehaviorLayout2_FWD_DEFINED__ */


#ifndef __IElementBehaviorSiteLayout_FWD_DEFINED__
#define __IElementBehaviorSiteLayout_FWD_DEFINED__
typedef interface IElementBehaviorSiteLayout IElementBehaviorSiteLayout;

#endif 	/* __IElementBehaviorSiteLayout_FWD_DEFINED__ */


#ifndef __IElementBehaviorSiteLayout2_FWD_DEFINED__
#define __IElementBehaviorSiteLayout2_FWD_DEFINED__
typedef interface IElementBehaviorSiteLayout2 IElementBehaviorSiteLayout2;

#endif 	/* __IElementBehaviorSiteLayout2_FWD_DEFINED__ */


#ifndef __IHostBehaviorInit_FWD_DEFINED__
#define __IHostBehaviorInit_FWD_DEFINED__
typedef interface IHostBehaviorInit IHostBehaviorInit;

#endif 	/* __IHostBehaviorInit_FWD_DEFINED__ */


#ifndef __ISurfacePresenter_FWD_DEFINED__
#define __ISurfacePresenter_FWD_DEFINED__
typedef interface ISurfacePresenter ISurfacePresenter;

#endif 	/* __ISurfacePresenter_FWD_DEFINED__ */


#ifndef __IViewObjectPresentSite_FWD_DEFINED__
#define __IViewObjectPresentSite_FWD_DEFINED__
typedef interface IViewObjectPresentSite IViewObjectPresentSite;

#endif 	/* __IViewObjectPresentSite_FWD_DEFINED__ */


#ifndef __ICanvasPixelArrayData_FWD_DEFINED__
#define __ICanvasPixelArrayData_FWD_DEFINED__
typedef interface ICanvasPixelArrayData ICanvasPixelArrayData;

#endif 	/* __ICanvasPixelArrayData_FWD_DEFINED__ */


#ifndef __IViewObjectPrint_FWD_DEFINED__
#define __IViewObjectPrint_FWD_DEFINED__
typedef interface IViewObjectPrint IViewObjectPrint;

#endif 	/* __IViewObjectPrint_FWD_DEFINED__ */


#ifndef __IViewObjectPresentNotifySite_FWD_DEFINED__
#define __IViewObjectPresentNotifySite_FWD_DEFINED__
typedef interface IViewObjectPresentNotifySite IViewObjectPresentNotifySite;

#endif 	/* __IViewObjectPresentNotifySite_FWD_DEFINED__ */


#ifndef __IViewObjectPresentNotify_FWD_DEFINED__
#define __IViewObjectPresentNotify_FWD_DEFINED__
typedef interface IViewObjectPresentNotify IViewObjectPresentNotify;

#endif 	/* __IViewObjectPresentNotify_FWD_DEFINED__ */


#ifndef __ITrackingProtection_FWD_DEFINED__
#define __ITrackingProtection_FWD_DEFINED__
typedef interface ITrackingProtection ITrackingProtection;

#endif 	/* __ITrackingProtection_FWD_DEFINED__ */


#ifndef __IBFCacheable_FWD_DEFINED__
#define __IBFCacheable_FWD_DEFINED__
typedef interface IBFCacheable IBFCacheable;

#endif 	/* __IBFCacheable_FWD_DEFINED__ */


/* header files for imported files */
#include "ocidl.h"
#include "dimm.h"
#include "shtypes.h"
#include "dispex.h"

#ifdef __cplusplus
extern "C"{
#endif 


/* interface __MIDL_itf_mshtml_0000_0000 */
/* [local] */ 


#include <winapifamily.h>
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#include <dxgitype.h>
#include <olectl.h>
EXTERN_C const GUID CMDSETID_Forms3;
EXTERN_C const GUID CLSID_MHTMLDocument;
EXTERN_C const GUID CLSID_IEXMLDocument;
EXTERN_C const GUID CLSID_SVGDocument;
EXTERN_C const GUID CLSID_XHTMLDocument;
EXTERN_C const GUID CLSID_HTADocument;
EXTERN_C const GUID CLSID_HTMLApplication;
EXTERN_C const GUID CLSID_HTMLPluginDocument;
DEFINE_GUID(SID_SEditCommandTarget,0x3050f4b5,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);
DEFINE_GUID(CGID_EditStateCommands,0x3050f4b6,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
#define SID_STrackingProtection IID_ITrackingProtection
// This information will be the LOWORD of the privacy flags stored in the privacy record
#define COOKIEACTION_NONE           0x00000000
#define COOKIEACTION_ACCEPT         0x00000001
#define COOKIEACTION_REJECT         0x00000002
#define COOKIEACTION_DOWNGRADE      0x00000004
#define COOKIEACTION_LEASH          0x00000008
#define COOKIEACTION_SUPPRESS       0x00000010
#define COOKIEACTION_READ           0x00000020
// Privacy info related to the url
// This information will be the HIWORD of the privacy flags stored in the privacy record
#define PRIVACY_URLISTOPLEVEL          0x00010000                   // Is this a top level url?
#define PRIVACY_URLHASCOMPACTPOLICY    0x00020000                   // Did the url have a compact policy used for privacy evaluations
#define PRIVACY_URLHASPOSTDATA         0x00080000                   // Is this a POST request?
#define PRIVACY_URLHASPOLICYREFLINK    0x00100000                   // Did the url have a privacy ref url in a link tag
#define PRIVACY_URLHASPOLICYREFHEADER  0x00200000                   // Did the url have a privacy ref url in a header tag
#define PRIVACY_URLHASP3PHEADER        0x00400000                   // Did the url have a privacy ref url in a header tag

// Mask for which notifications a callback listener wants to receive
// (For use in IDebugCallbackNotificationHandler::RequestedCallbackTypes

// Receive callbacks on window.setTimeout firing
#define DEBUGCALLBACKNOTIFICATION_TIMEOUT                                0x00000001
// Receive callbacks on window.setInterval firing
#define DEBUGCALLBACKNOTIFICATION_INTERVAL                               0x00000002
// Receive callbacks from (ms)SetImmediate firing
#define DEBUGCALLBACKNOTIFICATION_IMMEDIATE                              0x00000004
// Receive callbacks from (ms)RequestAnimationFrame firing
#define DEBUGCALLBACKNOTIFICATION_ANIMATIONFRAME                         0x00000008
// Receive callbacks from DOM events firing and their listeners being invoked
#define DEBUGCALLBACKNOTIFICATION_DOMEVENT                               0x00000010

// Bitfield indicating the details of an event dispatch completing in IDebugCallbackNotificationHandler
#define DEBUGDOMEVENTPROPAGATIONSTATUS_DEFAULTCANCELED                   0x00000001
#define DEBUGDOMEVENTPROPAGATIONSTATUS_STOPIMMEDIATEPROPAGATION          0x00000002
#define DEBUGDOMEVENTPROPAGATIONSTATUS_STOPPROPAGATION                   0x00000004


extern RPC_IF_HANDLE __MIDL_itf_mshtml_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mshtml_0000_0000_v0_0_s_ifspec;

#ifndef __IHTMLFiltersCollection_INTERFACE_DEFINED__
#define __IHTMLFiltersCollection_INTERFACE_DEFINED__

/* interface IHTMLFiltersCollection */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLFiltersCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f3ee-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLFiltersCollection : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__newEnum( 
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ __RPC__in VARIANT *pvarIndex,
            /* [out][retval] */ __RPC__out VARIANT *pvarResult) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLFiltersCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLFiltersCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLFiltersCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLFiltersCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLFiltersCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLFiltersCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLFiltersCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLFiltersCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLFiltersCollection * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__newEnum )( 
            __RPC__in IHTMLFiltersCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLFiltersCollection * This,
            /* [in] */ __RPC__in VARIANT *pvarIndex,
            /* [out][retval] */ __RPC__out VARIANT *pvarResult);
        
        END_INTERFACE
    } IHTMLFiltersCollectionVtbl;

    interface IHTMLFiltersCollection
    {
        CONST_VTBL struct IHTMLFiltersCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLFiltersCollection_INTERFACE_DEFINED__ */


#ifndef __IIE70DispatchEx_INTERFACE_DEFINED__
#define __IIE70DispatchEx_INTERFACE_DEFINED__

/* interface IIE70DispatchEx */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IIE70DispatchEx;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051046b-98b5-11cf-bb82-00aa00bdce0b")
    IIE70DispatchEx : public IDispatchEx
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct IIE70DispatchExVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IIE70DispatchEx * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IIE70DispatchEx * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IIE70DispatchEx * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IIE70DispatchEx * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IIE70DispatchEx * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IIE70DispatchEx * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IIE70DispatchEx * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetDispID )( 
            __RPC__in IIE70DispatchEx * This,
            /* [in] */ __RPC__in BSTR bstrName,
            /* [in] */ DWORD grfdex,
            /* [out] */ __RPC__out DISPID *pid);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *InvokeEx )( 
            IIE70DispatchEx * This,
            /* [annotation][in] */ 
            _In_  DISPID id,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][in] */ 
            _In_  DISPPARAMS *pdp,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pvarRes,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pei,
            /* [annotation][unique][in] */ 
            _In_opt_  IServiceProvider *pspCaller);
        
        HRESULT ( STDMETHODCALLTYPE *DeleteMemberByName )( 
            __RPC__in IIE70DispatchEx * This,
            /* [in] */ __RPC__in BSTR bstrName,
            /* [in] */ DWORD grfdex);
        
        HRESULT ( STDMETHODCALLTYPE *DeleteMemberByDispID )( 
            __RPC__in IIE70DispatchEx * This,
            /* [in] */ DISPID id);
        
        HRESULT ( STDMETHODCALLTYPE *GetMemberProperties )( 
            __RPC__in IIE70DispatchEx * This,
            /* [in] */ DISPID id,
            /* [in] */ DWORD grfdexFetch,
            /* [out] */ __RPC__out DWORD *pgrfdex);
        
        HRESULT ( STDMETHODCALLTYPE *GetMemberName )( 
            __RPC__in IIE70DispatchEx * This,
            /* [in] */ DISPID id,
            /* [out] */ __RPC__deref_out_opt BSTR *pbstrName);
        
        HRESULT ( STDMETHODCALLTYPE *GetNextDispID )( 
            __RPC__in IIE70DispatchEx * This,
            /* [in] */ DWORD grfdex,
            /* [in] */ DISPID id,
            /* [out] */ __RPC__out DISPID *pid);
        
        HRESULT ( STDMETHODCALLTYPE *GetNameSpaceParent )( 
            __RPC__in IIE70DispatchEx * This,
            /* [out] */ __RPC__deref_out_opt IUnknown **ppunk);
        
        END_INTERFACE
    } IIE70DispatchExVtbl;

    interface IIE70DispatchEx
    {
        CONST_VTBL struct IIE70DispatchExVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIE70DispatchEx_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IIE70DispatchEx_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IIE70DispatchEx_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IIE70DispatchEx_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IIE70DispatchEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IIE70DispatchEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IIE70DispatchEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IIE70DispatchEx_GetDispID(This,bstrName,grfdex,pid)	\
    ( (This)->lpVtbl -> GetDispID(This,bstrName,grfdex,pid) ) 

#define IIE70DispatchEx_InvokeEx(This,id,lcid,wFlags,pdp,pvarRes,pei,pspCaller)	\
    ( (This)->lpVtbl -> InvokeEx(This,id,lcid,wFlags,pdp,pvarRes,pei,pspCaller) ) 

#define IIE70DispatchEx_DeleteMemberByName(This,bstrName,grfdex)	\
    ( (This)->lpVtbl -> DeleteMemberByName(This,bstrName,grfdex) ) 

#define IIE70DispatchEx_DeleteMemberByDispID(This,id)	\
    ( (This)->lpVtbl -> DeleteMemberByDispID(This,id) ) 

#define IIE70DispatchEx_GetMemberProperties(This,id,grfdexFetch,pgrfdex)	\
    ( (This)->lpVtbl -> GetMemberProperties(This,id,grfdexFetch,pgrfdex) ) 

#define IIE70DispatchEx_GetMemberName(This,id,pbstrName)	\
    ( (This)->lpVtbl -> GetMemberName(This,id,pbstrName) ) 

#define IIE70DispatchEx_GetNextDispID(This,grfdex,id,pid)	\
    ( (This)->lpVtbl -> GetNextDispID(This,grfdex,id,pid) ) 

#define IIE70DispatchEx_GetNameSpaceParent(This,ppunk)	\
    ( (This)->lpVtbl -> GetNameSpaceParent(This,ppunk) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IIE70DispatchEx_INTERFACE_DEFINED__ */


#ifndef __IIE80DispatchEx_INTERFACE_DEFINED__
#define __IIE80DispatchEx_INTERFACE_DEFINED__

/* interface IIE80DispatchEx */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IIE80DispatchEx;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051046c-98b5-11cf-bb82-00aa00bdce0b")
    IIE80DispatchEx : public IDispatchEx
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct IIE80DispatchExVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IIE80DispatchEx * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IIE80DispatchEx * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IIE80DispatchEx * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IIE80DispatchEx * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IIE80DispatchEx * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IIE80DispatchEx * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IIE80DispatchEx * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetDispID )( 
            __RPC__in IIE80DispatchEx * This,
            /* [in] */ __RPC__in BSTR bstrName,
            /* [in] */ DWORD grfdex,
            /* [out] */ __RPC__out DISPID *pid);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *InvokeEx )( 
            IIE80DispatchEx * This,
            /* [annotation][in] */ 
            _In_  DISPID id,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][in] */ 
            _In_  DISPPARAMS *pdp,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pvarRes,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pei,
            /* [annotation][unique][in] */ 
            _In_opt_  IServiceProvider *pspCaller);
        
        HRESULT ( STDMETHODCALLTYPE *DeleteMemberByName )( 
            __RPC__in IIE80DispatchEx * This,
            /* [in] */ __RPC__in BSTR bstrName,
            /* [in] */ DWORD grfdex);
        
        HRESULT ( STDMETHODCALLTYPE *DeleteMemberByDispID )( 
            __RPC__in IIE80DispatchEx * This,
            /* [in] */ DISPID id);
        
        HRESULT ( STDMETHODCALLTYPE *GetMemberProperties )( 
            __RPC__in IIE80DispatchEx * This,
            /* [in] */ DISPID id,
            /* [in] */ DWORD grfdexFetch,
            /* [out] */ __RPC__out DWORD *pgrfdex);
        
        HRESULT ( STDMETHODCALLTYPE *GetMemberName )( 
            __RPC__in IIE80DispatchEx * This,
            /* [in] */ DISPID id,
            /* [out] */ __RPC__deref_out_opt BSTR *pbstrName);
        
        HRESULT ( STDMETHODCALLTYPE *GetNextDispID )( 
            __RPC__in IIE80DispatchEx * This,
            /* [in] */ DWORD grfdex,
            /* [in] */ DISPID id,
            /* [out] */ __RPC__out DISPID *pid);
        
        HRESULT ( STDMETHODCALLTYPE *GetNameSpaceParent )( 
            __RPC__in IIE80DispatchEx * This,
            /* [out] */ __RPC__deref_out_opt IUnknown **ppunk);
        
        END_INTERFACE
    } IIE80DispatchExVtbl;

    interface IIE80DispatchEx
    {
        CONST_VTBL struct IIE80DispatchExVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIE80DispatchEx_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IIE80DispatchEx_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IIE80DispatchEx_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IIE80DispatchEx_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IIE80DispatchEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IIE80DispatchEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IIE80DispatchEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IIE80DispatchEx_GetDispID(This,bstrName,grfdex,pid)	\
    ( (This)->lpVtbl -> GetDispID(This,bstrName,grfdex,pid) ) 

#define IIE80DispatchEx_InvokeEx(This,id,lcid,wFlags,pdp,pvarRes,pei,pspCaller)	\
    ( (This)->lpVtbl -> InvokeEx(This,id,lcid,wFlags,pdp,pvarRes,pei,pspCaller) ) 

#define IIE80DispatchEx_DeleteMemberByName(This,bstrName,grfdex)	\
    ( (This)->lpVtbl -> DeleteMemberByName(This,bstrName,grfdex) ) 

#define IIE80DispatchEx_DeleteMemberByDispID(This,id)	\
    ( (This)->lpVtbl -> DeleteMemberByDispID(This,id) ) 

#define IIE80DispatchEx_GetMemberProperties(This,id,grfdexFetch,pgrfdex)	\
    ( (This)->lpVtbl -> GetMemberProperties(This,id,grfdexFetch,pgrfdex) ) 

#define IIE80DispatchEx_GetMemberName(This,id,pbstrName)	\
    ( (This)->lpVtbl -> GetMemberName(This,id,pbstrName) ) 

#define IIE80DispatchEx_GetNextDispID(This,grfdex,id,pid)	\
    ( (This)->lpVtbl -> GetNextDispID(This,grfdex,id,pid) ) 

#define IIE80DispatchEx_GetNameSpaceParent(This,ppunk)	\
    ( (This)->lpVtbl -> GetNameSpaceParent(This,ppunk) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IIE80DispatchEx_INTERFACE_DEFINED__ */



#ifndef __MSHTML_LIBRARY_DEFINED__
#define __MSHTML_LIBRARY_DEFINED__

/* library MSHTML */
/* [uuid][version][helpstring][lcid] */ 












typedef 
enum _htmlDesignMode
    {
        htmlDesignModeInherit	= -2,
        htmlDesignModeOn	= -1,
        htmlDesignModeOff	= 0,
        htmlDesignMode_Max	= 2147483647L
    } 	htmlDesignMode;

typedef 
enum _htmlZOrder
    {
        htmlZOrderFront	= 0,
        htmlZOrderBack	= 1,
        htmlZOrder_Max	= 2147483647L
    } 	htmlZOrder;

typedef 
enum _htmlClear
    {
        htmlClearNotSet	= 0,
        htmlClearAll	= 1,
        htmlClearLeft	= 2,
        htmlClearRight	= 3,
        htmlClearBoth	= 4,
        htmlClearNone	= 5,
        htmlClear_Max	= 2147483647L
    } 	htmlClear;

typedef 
enum _htmlControlAlign
    {
        htmlControlAlignNotSet	= 0,
        htmlControlAlignLeft	= 1,
        htmlControlAlignCenter	= 2,
        htmlControlAlignRight	= 3,
        htmlControlAlignTextTop	= 4,
        htmlControlAlignAbsMiddle	= 5,
        htmlControlAlignBaseline	= 6,
        htmlControlAlignAbsBottom	= 7,
        htmlControlAlignBottom	= 8,
        htmlControlAlignMiddle	= 9,
        htmlControlAlignTop	= 10,
        htmlControlAlign_Max	= 2147483647L
    } 	htmlControlAlign;

typedef 
enum _htmlBlockAlign
    {
        htmlBlockAlignNotSet	= 0,
        htmlBlockAlignLeft	= 1,
        htmlBlockAlignCenter	= 2,
        htmlBlockAlignRight	= 3,
        htmlBlockAlignJustify	= 4,
        htmlBlockAlign_Max	= 2147483647L
    } 	htmlBlockAlign;

typedef 
enum _htmlReadyState
    {
        htmlReadyStateuninitialized	= 0,
        htmlReadyStateloading	= 1,
        htmlReadyStateloaded	= 2,
        htmlReadyStateinteractive	= 3,
        htmlReadyStatecomplete	= 4,
        htmlReadyState_Max	= 2147483647L
    } 	htmlReadyState;

typedef 
enum _htmlLoop
    {
        htmlLoopLoopInfinite	= -1,
        htmlLoop_Max	= 2147483647L
    } 	htmlLoop;

typedef 
enum _mediaType
    {
        mediaTypeNotSet	= 0,
        mediaTypeAll	= 511,
        mediaTypeAural	= 1,
        mediaTypeBraille	= 2,
        mediaTypeEmbossed	= 4,
        mediaTypeHandheld	= 8,
        mediaTypePrint	= 16,
        mediaTypeProjection	= 32,
        mediaTypeScreen	= 64,
        mediaTypeTty	= 128,
        mediaTypeTv	= 256,
        mediaType_Max	= 2147483647L
    } 	mediaType;

typedef 
enum _DomConstructor
    {
        DomConstructorObject	= 0,
        DomConstructorAttr	= 1,
        DomConstructorBehaviorUrnsCollection	= 2,
        DomConstructorBookmarkCollection	= 3,
        DomConstructorCompatibleInfo	= 4,
        DomConstructorCompatibleInfoCollection	= 5,
        DomConstructorControlRangeCollection	= 6,
        DomConstructorCSSCurrentStyleDeclaration	= 7,
        DomConstructorCSSRuleList	= 8,
        DomConstructorCSSRuleStyleDeclaration	= 9,
        DomConstructorCSSStyleDeclaration	= 10,
        DomConstructorCSSStyleRule	= 11,
        DomConstructorCSSStyleSheet	= 12,
        DomConstructorDataTransfer	= 13,
        DomConstructorDOMImplementation	= 14,
        DomConstructorElement	= 15,
        DomConstructorEvent	= 16,
        DomConstructorHistory	= 17,
        DomConstructorHTCElementBehaviorDefaults	= 18,
        DomConstructorHTMLAnchorElement	= 19,
        DomConstructorHTMLAreaElement	= 20,
        DomConstructorHTMLAreasCollection	= 21,
        DomConstructorHTMLBaseElement	= 22,
        DomConstructorHTMLBaseFontElement	= 23,
        DomConstructorHTMLBGSoundElement	= 24,
        DomConstructorHTMLBlockElement	= 25,
        DomConstructorHTMLBodyElement	= 26,
        DomConstructorHTMLBRElement	= 27,
        DomConstructorHTMLButtonElement	= 28,
        DomConstructorHTMLCollection	= 29,
        DomConstructorHTMLCommentElement	= 30,
        DomConstructorHTMLDDElement	= 31,
        DomConstructorHTMLDivElement	= 32,
        DomConstructorHTMLDocument	= 33,
        DomConstructorHTMLDListElement	= 34,
        DomConstructorHTMLDTElement	= 35,
        DomConstructorHTMLEmbedElement	= 36,
        DomConstructorHTMLFieldSetElement	= 37,
        DomConstructorHTMLFontElement	= 38,
        DomConstructorHTMLFormElement	= 39,
        DomConstructorHTMLFrameElement	= 40,
        DomConstructorHTMLFrameSetElement	= 41,
        DomConstructorHTMLGenericElement	= 42,
        DomConstructorHTMLHeadElement	= 43,
        DomConstructorHTMLHeadingElement	= 44,
        DomConstructorHTMLHRElement	= 45,
        DomConstructorHTMLHtmlElement	= 46,
        DomConstructorHTMLIFrameElement	= 47,
        DomConstructorHTMLImageElement	= 48,
        DomConstructorHTMLInputElement	= 49,
        DomConstructorHTMLIsIndexElement	= 50,
        DomConstructorHTMLLabelElement	= 51,
        DomConstructorHTMLLegendElement	= 52,
        DomConstructorHTMLLIElement	= 53,
        DomConstructorHTMLLinkElement	= 54,
        DomConstructorHTMLMapElement	= 55,
        DomConstructorHTMLMarqueeElement	= 56,
        DomConstructorHTMLMetaElement	= 57,
        DomConstructorHTMLModelessDialog	= 58,
        DomConstructorHTMLNamespaceInfo	= 59,
        DomConstructorHTMLNamespaceInfoCollection	= 60,
        DomConstructorHTMLNextIdElement	= 61,
        DomConstructorHTMLNoShowElement	= 62,
        DomConstructorHTMLObjectElement	= 63,
        DomConstructorHTMLOListElement	= 64,
        DomConstructorHTMLOptionElement	= 65,
        DomConstructorHTMLParagraphElement	= 66,
        DomConstructorHTMLParamElement	= 67,
        DomConstructorHTMLPhraseElement	= 68,
        DomConstructorHTMLPluginsCollection	= 69,
        DomConstructorHTMLPopup	= 70,
        DomConstructorHTMLScriptElement	= 71,
        DomConstructorHTMLSelectElement	= 72,
        DomConstructorHTMLSpanElement	= 73,
        DomConstructorHTMLStyleElement	= 74,
        DomConstructorHTMLTableCaptionElement	= 75,
        DomConstructorHTMLTableCellElement	= 76,
        DomConstructorHTMLTableColElement	= 77,
        DomConstructorHTMLTableElement	= 78,
        DomConstructorHTMLTableRowElement	= 79,
        DomConstructorHTMLTableSectionElement	= 80,
        DomConstructorHTMLTextAreaElement	= 81,
        DomConstructorHTMLTextElement	= 82,
        DomConstructorHTMLTitleElement	= 83,
        DomConstructorHTMLUListElement	= 84,
        DomConstructorHTMLUnknownElement	= 85,
        DomConstructorImage	= 86,
        DomConstructorLocation	= 87,
        DomConstructorNamedNodeMap	= 88,
        DomConstructorNavigator	= 89,
        DomConstructorNodeList	= 90,
        DomConstructorOption	= 91,
        DomConstructorScreen	= 92,
        DomConstructorSelection	= 93,
        DomConstructorStaticNodeList	= 94,
        DomConstructorStorage	= 95,
        DomConstructorStyleSheetList	= 96,
        DomConstructorStyleSheetPage	= 97,
        DomConstructorStyleSheetPageList	= 98,
        DomConstructorText	= 99,
        DomConstructorTextRange	= 100,
        DomConstructorTextRangeCollection	= 101,
        DomConstructorTextRectangle	= 102,
        DomConstructorTextRectangleList	= 103,
        DomConstructorWindow	= 104,
        DomConstructorXDomainRequest	= 105,
        DomConstructorXMLHttpRequest	= 106,
        DomConstructorMax	= 107,
        DomConstructor_Max	= 2147483647L
    } 	DomConstructor;


typedef 
enum _styleTextTransform
    {
        styleTextTransformNotSet	= 0,
        styleTextTransformCapitalize	= 1,
        styleTextTransformLowercase	= 2,
        styleTextTransformUppercase	= 3,
        styleTextTransformNone	= 4,
        styleTextTransform_Max	= 2147483647L
    } 	styleTextTransform;

typedef 
enum _styleDataRepeat
    {
        styleDataRepeatNone	= 0,
        styleDataRepeatInner	= 1,
        styleDataRepeat_Max	= 2147483647L
    } 	styleDataRepeat;

typedef 
enum _styleOverflow
    {
        styleOverflowNotSet	= 0,
        styleOverflowAuto	= 1,
        styleOverflowHidden	= 2,
        styleOverflowVisible	= 3,
        styleOverflowScroll	= 4,
        styleOverflow_Max	= 2147483647L
    } 	styleOverflow;

typedef 
enum _styleMsOverflowStyle
    {
        styleMsOverflowStyleNotSet	= 0,
        styleMsOverflowStyleAuto	= 1,
        styleMsOverflowStyleNone	= 2,
        styleMsOverflowStyleScrollbar	= 3,
        styleMsOverflowStyleMsAutoHidingScrollbar	= 4,
        styleMsOverflowStyle_Max	= 2147483647L
    } 	styleMsOverflowStyle;

typedef 
enum _styleTableLayout
    {
        styleTableLayoutNotSet	= 0,
        styleTableLayoutAuto	= 1,
        styleTableLayoutFixed	= 2,
        styleTableLayout_Max	= 2147483647L
    } 	styleTableLayout;

typedef 
enum _styleBorderCollapse
    {
        styleBorderCollapseNotSet	= 0,
        styleBorderCollapseSeparate	= 1,
        styleBorderCollapseCollapse	= 2,
        styleBorderCollapse_Max	= 2147483647L
    } 	styleBorderCollapse;

typedef 
enum _styleCaptionSide
    {
        styleCaptionSideNotSet	= 0,
        styleCaptionSideTop	= 1,
        styleCaptionSideBottom	= 2,
        styleCaptionSideLeft	= 3,
        styleCaptionSideRight	= 4,
        styleCaptionSide_Max	= 2147483647L
    } 	styleCaptionSide;

typedef 
enum _styleEmptyCells
    {
        styleEmptyCellsNotSet	= 0,
        styleEmptyCellsShow	= 1,
        styleEmptyCellsHide	= 2,
        styleEmptyCells_Max	= 2147483647L
    } 	styleEmptyCells;

typedef 
enum _styleFontStyle
    {
        styleFontStyleNotSet	= 0,
        styleFontStyleItalic	= 1,
        styleFontStyleOblique	= 2,
        styleFontStyleNormal	= 3,
        styleFontStyle_Max	= 2147483647L
    } 	styleFontStyle;

typedef 
enum _styleFontVariant
    {
        styleFontVariantNotSet	= 0,
        styleFontVariantSmallCaps	= 1,
        styleFontVariantNormal	= 2,
        styleFontVariant_Max	= 2147483647L
    } 	styleFontVariant;

typedef 
enum _styleBackgroundRepeat
    {
        styleBackgroundRepeatRepeat	= 0,
        styleBackgroundRepeatRepeatX	= 1,
        styleBackgroundRepeatRepeatY	= 2,
        styleBackgroundRepeatNoRepeat	= 3,
        styleBackgroundRepeatNotSet	= 4,
        styleBackgroundRepeat_Max	= 2147483647L
    } 	styleBackgroundRepeat;

typedef 
enum _styleBackgroundAttachment
    {
        styleBackgroundAttachmentFixed	= 0,
        styleBackgroundAttachmentScroll	= 1,
        styleBackgroundAttachmentNotSet	= 2,
        styleBackgroundAttachment_Max	= 2147483647L
    } 	styleBackgroundAttachment;

typedef 
enum _styleBackgroundAttachment3
    {
        styleBackgroundAttachment3Fixed	= 0,
        styleBackgroundAttachment3Scroll	= 1,
        styleBackgroundAttachment3Local	= 2,
        styleBackgroundAttachment3NotSet	= 3,
        styleBackgroundAttachment3_Max	= 2147483647L
    } 	styleBackgroundAttachment3;

typedef 
enum _styleBackgroundClip
    {
        styleBackgroundClipBorderBox	= 0,
        styleBackgroundClipPaddingBox	= 1,
        styleBackgroundClipContentBox	= 2,
        styleBackgroundClipNotSet	= 3,
        styleBackgroundClip_Max	= 2147483647L
    } 	styleBackgroundClip;

typedef 
enum _styleBackgroundOrigin
    {
        styleBackgroundOriginBorderBox	= 0,
        styleBackgroundOriginPaddingBox	= 1,
        styleBackgroundOriginContentBox	= 2,
        styleBackgroundOriginNotSet	= 3,
        styleBackgroundOrigin_Max	= 2147483647L
    } 	styleBackgroundOrigin;

typedef 
enum _styleVerticalAlign
    {
        styleVerticalAlignAuto	= 0,
        styleVerticalAlignBaseline	= 1,
        styleVerticalAlignSub	= 2,
        styleVerticalAlignSuper	= 3,
        styleVerticalAlignTop	= 4,
        styleVerticalAlignTextTop	= 5,
        styleVerticalAlignMiddle	= 6,
        styleVerticalAlignBottom	= 7,
        styleVerticalAlignTextBottom	= 8,
        styleVerticalAlignInherit	= 9,
        styleVerticalAlignNotSet	= 10,
        styleVerticalAlign_Max	= 2147483647L
    } 	styleVerticalAlign;

typedef 
enum _styleFontWeight
    {
        styleFontWeightNotSet	= 0,
        styleFontWeight100	= 1,
        styleFontWeight200	= 2,
        styleFontWeight300	= 3,
        styleFontWeight400	= 4,
        styleFontWeight500	= 5,
        styleFontWeight600	= 6,
        styleFontWeight700	= 7,
        styleFontWeight800	= 8,
        styleFontWeight900	= 9,
        styleFontWeightNormal	= 10,
        styleFontWeightBold	= 11,
        styleFontWeightBolder	= 12,
        styleFontWeightLighter	= 13,
        styleFontWeight_Max	= 2147483647L
    } 	styleFontWeight;

typedef 
enum _styleFontSize
    {
        styleFontSizeXXSmall	= 0,
        styleFontSizeXSmall	= 1,
        styleFontSizeSmall	= 2,
        styleFontSizeMedium	= 3,
        styleFontSizeLarge	= 4,
        styleFontSizeXLarge	= 5,
        styleFontSizeXXLarge	= 6,
        styleFontSizeSmaller	= 7,
        styleFontSizeLarger	= 8,
        styleFontSize_Max	= 2147483647L
    } 	styleFontSize;

typedef 
enum _styleZIndex
    {
        styleZIndexAuto	= -2147483647,
        styleZIndex_Max	= 2147483647L
    } 	styleZIndex;

typedef 
enum _styleWidowsOrphans
    {
        styleWidowsOrphansNotSet	= -2147483647,
        styleWidowsOrphans_Max	= 2147483647L
    } 	styleWidowsOrphans;

typedef 
enum _styleAuto
    {
        styleAutoAuto	= 0,
        styleAuto_Max	= 2147483647L
    } 	styleAuto;

typedef 
enum _styleNone
    {
        styleNoneNone	= 0,
        styleNone_Max	= 2147483647L
    } 	styleNone;

typedef 
enum _styleNormal
    {
        styleNormalNormal	= 0,
        styleNormal_Max	= 2147483647L
    } 	styleNormal;

typedef 
enum _styleBorderWidth
    {
        styleBorderWidthThin	= 0,
        styleBorderWidthMedium	= 1,
        styleBorderWidthThick	= 2,
        styleBorderWidth_Max	= 2147483647L
    } 	styleBorderWidth;

typedef 
enum _stylePosition
    {
        stylePositionNotSet	= 0,
        stylePositionstatic	= 1,
        stylePositionrelative	= 2,
        stylePositionabsolute	= 3,
        stylePositionfixed	= 4,
        stylePositionMsPage	= 5,
        stylePositionMsDeviceFixed	= 6,
        stylePosition_Max	= 2147483647L
    } 	stylePosition;

typedef 
enum _styleBorderStyle
    {
        styleBorderStyleNotSet	= 0,
        styleBorderStyleDotted	= 1,
        styleBorderStyleDashed	= 2,
        styleBorderStyleSolid	= 3,
        styleBorderStyleDouble	= 4,
        styleBorderStyleGroove	= 5,
        styleBorderStyleRidge	= 6,
        styleBorderStyleInset	= 7,
        styleBorderStyleOutset	= 8,
        styleBorderStyleWindowInset	= 9,
        styleBorderStyleNone	= 10,
        styleBorderStyleHidden	= 11,
        styleBorderStyle_Max	= 2147483647L
    } 	styleBorderStyle;

typedef 
enum _styleOutlineStyle
    {
        styleOutlineStyleNotSet	= 0,
        styleOutlineStyleDotted	= 1,
        styleOutlineStyleDashed	= 2,
        styleOutlineStyleSolid	= 3,
        styleOutlineStyleDouble	= 4,
        styleOutlineStyleGroove	= 5,
        styleOutlineStyleRidge	= 6,
        styleOutlineStyleInset	= 7,
        styleOutlineStyleOutset	= 8,
        styleOutlineStyleWindowInset	= 9,
        styleOutlineStyleNone	= 10,
        styleOutlineStyle_Max	= 2147483647L
    } 	styleOutlineStyle;

typedef 
enum _styleStyleFloat
    {
        styleStyleFloatNotSet	= 0,
        styleStyleFloatLeft	= 1,
        styleStyleFloatRight	= 2,
        styleStyleFloatNone	= 3,
        styleStyleFloat_Max	= 2147483647L
    } 	styleStyleFloat;

typedef 
enum _styleDisplay
    {
        styleDisplayNotSet	= 0,
        styleDisplayBlock	= 1,
        styleDisplayInline	= 2,
        styleDisplayListItem	= 3,
        styleDisplayNone	= 4,
        styleDisplayTableHeaderGroup	= 5,
        styleDisplayTableFooterGroup	= 6,
        styleDisplayInlineBlock	= 7,
        styleDisplayTable	= 8,
        styleDisplayInlineTable	= 9,
        styleDisplayTableRow	= 10,
        styleDisplayTableRowGroup	= 11,
        styleDisplayTableColumn	= 12,
        styleDisplayTableColumnGroup	= 13,
        styleDisplayTableCell	= 14,
        styleDisplayTableCaption	= 15,
        styleDisplayRunIn	= 16,
        styleDisplayRuby	= 17,
        styleDisplayRubyBase	= 18,
        styleDisplayRubyText	= 19,
        styleDisplayRubyBaseContainer	= 20,
        styleDisplayRubyTextContainer	= 21,
        styleDisplayMsFlexbox	= 22,
        styleDisplayMsInlineFlexbox	= 23,
        styleDisplayMsGrid	= 24,
        styleDisplayMsInlineGrid	= 25,
        styleDisplayFlex	= 26,
        styleDisplayInlineFlex	= 27,
        styleDisplayWebkitBox	= 28,
        styleDisplayWebkitInlineBox	= 29,
        styleDisplay_Max	= 2147483647L
    } 	styleDisplay;

typedef 
enum _styleVisibility
    {
        styleVisibilityNotSet	= 0,
        styleVisibilityInherit	= 1,
        styleVisibilityVisible	= 2,
        styleVisibilityHidden	= 3,
        styleVisibilityCollapse	= 4,
        styleVisibility_Max	= 2147483647L
    } 	styleVisibility;

typedef 
enum _styleListStyleType
    {
        styleListStyleTypeNotSet	= 0,
        styleListStyleTypeDisc	= 1,
        styleListStyleTypeCircle	= 2,
        styleListStyleTypeSquare	= 3,
        styleListStyleTypeDecimal	= 4,
        styleListStyleTypeLowerRoman	= 5,
        styleListStyleTypeUpperRoman	= 6,
        styleListStyleTypeLowerAlpha	= 7,
        styleListStyleTypeUpperAlpha	= 8,
        styleListStyleTypeNone	= 9,
        styleListStyleTypeDecimalLeadingZero	= 10,
        styleListStyleTypeGeorgian	= 11,
        styleListStyleTypeArmenian	= 12,
        styleListStyleTypeUpperLatin	= 13,
        styleListStyleTypeLowerLatin	= 14,
        styleListStyleTypeUpperGreek	= 15,
        styleListStyleTypeLowerGreek	= 16,
        styleListStyleType_Max	= 2147483647L
    } 	styleListStyleType;

typedef 
enum _styleListStylePosition
    {
        styleListStylePositionNotSet	= 0,
        styleListStylePositionInside	= 1,
        styleListStylePositionOutSide	= 2,
        styleListStylePosition_Max	= 2147483647L
    } 	styleListStylePosition;

typedef 
enum _styleWhiteSpace
    {
        styleWhiteSpaceNotSet	= 0,
        styleWhiteSpaceNormal	= 1,
        styleWhiteSpacePre	= 2,
        styleWhiteSpaceNowrap	= 3,
        styleWhiteSpacePreline	= 4,
        styleWhiteSpacePrewrap	= 5,
        styleWhiteSpace_Max	= 2147483647L
    } 	styleWhiteSpace;

typedef 
enum _stylePageBreak
    {
        stylePageBreakNotSet	= 0,
        stylePageBreakAuto	= 1,
        stylePageBreakAlways	= 2,
        stylePageBreakLeft	= 3,
        stylePageBreakRight	= 4,
        stylePageBreakAvoid	= 5,
        stylePageBreak_Max	= 2147483647L
    } 	stylePageBreak;

typedef 
enum _stylePageBreakInside
    {
        stylePageBreakInsideNotSet	= 0,
        stylePageBreakInsideAuto	= 1,
        stylePageBreakInsideAvoid	= 2,
        stylePageBreakInside_Max	= 2147483647L
    } 	stylePageBreakInside;

typedef 
enum _styleCursor
    {
        styleCursorAuto	= 0,
        styleCursorCrosshair	= 1,
        styleCursorDefault	= 2,
        styleCursorHand	= 3,
        styleCursorMove	= 4,
        styleCursorE_resize	= 5,
        styleCursorNe_resize	= 6,
        styleCursorNw_resize	= 7,
        styleCursorN_resize	= 8,
        styleCursorSe_resize	= 9,
        styleCursorSw_resize	= 10,
        styleCursorS_resize	= 11,
        styleCursorW_resize	= 12,
        styleCursorText	= 13,
        styleCursorWait	= 14,
        styleCursorHelp	= 15,
        styleCursorPointer	= 16,
        styleCursorProgress	= 17,
        styleCursorNot_allowed	= 18,
        styleCursorNo_drop	= 19,
        styleCursorVertical_text	= 20,
        styleCursorall_scroll	= 21,
        styleCursorcol_resize	= 22,
        styleCursorrow_resize	= 23,
        styleCursorNone	= 24,
        styleCursorContext_menu	= 25,
        styleCursorEw_resize	= 26,
        styleCursorNs_resize	= 27,
        styleCursorNesw_resize	= 28,
        styleCursorNwse_resize	= 29,
        styleCursorCell	= 30,
        styleCursorCopy	= 31,
        styleCursorAlias	= 32,
        styleCursorcustom	= 33,
        styleCursorNotSet	= 34,
        styleCursor_Max	= 2147483647L
    } 	styleCursor;

typedef 
enum _styleDir
    {
        styleDirNotSet	= 0,
        styleDirLeftToRight	= 1,
        styleDirRightToLeft	= 2,
        styleDirInherit	= 3,
        styleDir_Max	= 2147483647L
    } 	styleDir;

typedef 
enum _styleBidi
    {
        styleBidiNotSet	= 0,
        styleBidiNormal	= 1,
        styleBidiEmbed	= 2,
        styleBidiOverride	= 3,
        styleBidiInherit	= 4,
        styleBidi_Max	= 2147483647L
    } 	styleBidi;

typedef 
enum _styleImeMode
    {
        styleImeModeAuto	= 0,
        styleImeModeActive	= 1,
        styleImeModeInactive	= 2,
        styleImeModeDisabled	= 3,
        styleImeModeNotSet	= 4,
        styleImeMode_Max	= 2147483647L
    } 	styleImeMode;

typedef 
enum _styleRubyAlign
    {
        styleRubyAlignNotSet	= 0,
        styleRubyAlignAuto	= 1,
        styleRubyAlignLeft	= 2,
        styleRubyAlignCenter	= 3,
        styleRubyAlignRight	= 4,
        styleRubyAlignDistributeLetter	= 5,
        styleRubyAlignDistributeSpace	= 6,
        styleRubyAlignLineEdge	= 7,
        styleRubyAlign_Max	= 2147483647L
    } 	styleRubyAlign;

typedef 
enum _styleRubyPosition
    {
        styleRubyPositionNotSet	= 0,
        styleRubyPositionAbove	= 1,
        styleRubyPositionInline	= 2,
        styleRubyPosition_Max	= 2147483647L
    } 	styleRubyPosition;

typedef 
enum _styleRubyOverhang
    {
        styleRubyOverhangNotSet	= 0,
        styleRubyOverhangAuto	= 1,
        styleRubyOverhangWhitespace	= 2,
        styleRubyOverhangNone	= 3,
        styleRubyOverhang_Max	= 2147483647L
    } 	styleRubyOverhang;

typedef 
enum _styleLayoutGridChar
    {
        styleLayoutGridCharNotSet	= 0,
        styleLayoutGridCharAuto	= 1,
        styleLayoutGridCharNone	= 2,
        styleLayoutGridChar_Max	= 2147483647L
    } 	styleLayoutGridChar;

typedef 
enum _styleLayoutGridLine
    {
        styleLayoutGridLineNotSet	= 0,
        styleLayoutGridLineAuto	= 1,
        styleLayoutGridLineNone	= 2,
        styleLayoutGridLine_Max	= 2147483647L
    } 	styleLayoutGridLine;

typedef 
enum _styleLayoutGridMode
    {
        styleLayoutGridModeNotSet	= 0,
        styleLayoutGridModeChar	= 1,
        styleLayoutGridModeLine	= 2,
        styleLayoutGridModeBoth	= 3,
        styleLayoutGridModeNone	= 4,
        styleLayoutGridMode_Max	= 2147483647L
    } 	styleLayoutGridMode;

typedef 
enum _styleLayoutGridType
    {
        styleLayoutGridTypeNotSet	= 0,
        styleLayoutGridTypeLoose	= 1,
        styleLayoutGridTypeStrict	= 2,
        styleLayoutGridTypeFixed	= 3,
        styleLayoutGridType_Max	= 2147483647L
    } 	styleLayoutGridType;

typedef 
enum _styleLineBreak
    {
        styleLineBreakNotSet	= 0,
        styleLineBreakNormal	= 1,
        styleLineBreakStrict	= 2,
        styleLineBreak_Max	= 2147483647L
    } 	styleLineBreak;

typedef 
enum _styleWordBreak
    {
        styleWordBreakNotSet	= 0,
        styleWordBreakNormal	= 1,
        styleWordBreakBreakAll	= 2,
        styleWordBreakKeepAll	= 3,
        styleWordBreak_Max	= 2147483647L
    } 	styleWordBreak;

typedef 
enum _styleWordWrap
    {
        styleWordWrapNotSet	= 0,
        styleWordWrapOff	= 1,
        styleWordWrapOn	= 2,
        styleWordWrap_Max	= 2147483647L
    } 	styleWordWrap;

typedef 
enum _styleTextJustify
    {
        styleTextJustifyNotSet	= 0,
        styleTextJustifyInterWord	= 1,
        styleTextJustifyNewspaper	= 2,
        styleTextJustifyDistribute	= 3,
        styleTextJustifyDistributeAllLines	= 4,
        styleTextJustifyInterIdeograph	= 5,
        styleTextJustifyInterCluster	= 6,
        styleTextJustifyKashida	= 7,
        styleTextJustifyAuto	= 8,
        styleTextJustify_Max	= 2147483647L
    } 	styleTextJustify;

typedef 
enum _styleTextAlignLast
    {
        styleTextAlignLastNotSet	= 0,
        styleTextAlignLastLeft	= 1,
        styleTextAlignLastCenter	= 2,
        styleTextAlignLastRight	= 3,
        styleTextAlignLastJustify	= 4,
        styleTextAlignLastAuto	= 5,
        styleTextAlignLast_Max	= 2147483647L
    } 	styleTextAlignLast;

typedef 
enum _styleTextJustifyTrim
    {
        styleTextJustifyTrimNotSet	= 0,
        styleTextJustifyTrimNone	= 1,
        styleTextJustifyTrimPunctuation	= 2,
        styleTextJustifyTrimPunctAndKana	= 3,
        styleTextJustifyTrim_Max	= 2147483647L
    } 	styleTextJustifyTrim;

typedef 
enum _styleAccelerator
    {
        styleAcceleratorFalse	= 0,
        styleAcceleratorTrue	= 1,
        styleAccelerator_Max	= 2147483647L
    } 	styleAccelerator;

typedef 
enum _styleLayoutFlow
    {
        styleLayoutFlowHorizontal	= 0,
        styleLayoutFlowVerticalIdeographic	= 1,
        styleLayoutFlowNotSet	= 2,
        styleLayoutFlow_Max	= 2147483647L
    } 	styleLayoutFlow;

typedef 
enum _styleBlockProgression
    {
        styleBlockProgressionTb	= 0,
        styleBlockProgressionRl	= 1,
        styleBlockProgressionBt	= 2,
        styleBlockProgressionLr	= 3,
        styleBlockProgressionNotSet	= 4,
        styleBlockProgression_Max	= 2147483647L
    } 	styleBlockProgression;

typedef 
enum _styleWritingMode
    {
        styleWritingModeLrtb	= 0,
        styleWritingModeTbrl	= 1,
        styleWritingModeRltb	= 2,
        styleWritingModeBtrl	= 3,
        styleWritingModeNotSet	= 4,
        styleWritingModeTblr	= 5,
        styleWritingModeBtlr	= 6,
        styleWritingModeLrbt	= 7,
        styleWritingModeRlbt	= 8,
        styleWritingModeLr	= 9,
        styleWritingModeRl	= 10,
        styleWritingModeTb	= 11,
        styleWritingMode_Max	= 2147483647L
    } 	styleWritingMode;

typedef 
enum _styleBool
    {
        styleBoolFalse	= 0,
        styleBoolTrue	= 1,
        styleBool_Max	= 2147483647L
    } 	styleBool;

typedef 
enum _styleTextUnderlinePosition
    {
        styleTextUnderlinePositionBelow	= 0,
        styleTextUnderlinePositionAbove	= 1,
        styleTextUnderlinePositionAuto	= 2,
        styleTextUnderlinePositionNotSet	= 3,
        styleTextUnderlinePosition_Max	= 2147483647L
    } 	styleTextUnderlinePosition;

typedef 
enum _styleTextOverflow
    {
        styleTextOverflowClip	= 0,
        styleTextOverflowEllipsis	= 1,
        styleTextOverflowNotSet	= 2,
        styleTextOverflow_Max	= 2147483647L
    } 	styleTextOverflow;

typedef 
enum _styleInterpolation
    {
        styleInterpolationNotSet	= 0,
        styleInterpolationNN	= 1,
        styleInterpolationBCH	= 2,
        styleInterpolation_Max	= 2147483647L
    } 	styleInterpolation;

typedef 
enum _styleBoxSizing
    {
        styleBoxSizingNotSet	= 0,
        styleBoxSizingContentBox	= 1,
        styleBoxSizingBorderBox	= 2,
        styleBoxSizing_Max	= 2147483647L
    } 	styleBoxSizing;

typedef 
enum _styleFlex
    {
        styleFlexNone	= 0,
        styleFlexNotSet	= 1,
        styleFlex_Max	= 2147483647L
    } 	styleFlex;

typedef 
enum _styleFlexBasis
    {
        styleFlexBasisAuto	= 0,
        styleFlexBasisNotSet	= 1,
        styleFlexBasis_Max	= 2147483647L
    } 	styleFlexBasis;

typedef 
enum _styleFlexDirection
    {
        styleFlexDirectionRow	= 0,
        styleFlexDirectionRowReverse	= 1,
        styleFlexDirectionColumn	= 2,
        styleFlexDirectionColumnReverse	= 3,
        styleFlexDirectionNotSet	= 4,
        styleFlexDirection_Max	= 2147483647L
    } 	styleFlexDirection;

typedef 
enum _styleWebkitBoxOrient
    {
        styleWebkitBoxOrientHorizontal	= 0,
        styleWebkitBoxOrientInlineAxis	= 1,
        styleWebkitBoxOrientVertical	= 2,
        styleWebkitBoxOrientBlockAxis	= 3,
        styleWebkitBoxOrientNotSet	= 4,
        styleWebkitBoxOrient_Max	= 2147483647L
    } 	styleWebkitBoxOrient;

typedef 
enum _styleWebkitBoxDirection
    {
        styleWebkitBoxDirectionNormal	= 0,
        styleWebkitBoxDirectionReverse	= 1,
        styleWebkitBoxDirectionNotSet	= 2,
        styleWebkitBoxDirection_Max	= 2147483647L
    } 	styleWebkitBoxDirection;

typedef 
enum _styleFlexWrap
    {
        styleFlexWrapNowrap	= 0,
        styleFlexWrapWrap	= 1,
        styleFlexWrapWrapReverse	= 2,
        styleFlexWrapNotSet	= 3,
        styleFlexWrap_Max	= 2147483647L
    } 	styleFlexWrap;

typedef 
enum _styleAlignItems
    {
        styleAlignItemsFlexStart	= 0,
        styleAlignItemsFlexEnd	= 1,
        styleAlignItemsCenter	= 2,
        styleAlignItemsBaseline	= 3,
        styleAlignItemsStretch	= 4,
        styleAlignItemsNotSet	= 5,
        styleAlignItems_Max	= 2147483647L
    } 	styleAlignItems;

typedef 
enum _styleMsFlexAlign
    {
        styleMsFlexAlignStart	= 0,
        styleMsFlexAlignEnd	= 1,
        styleMsFlexAlignCenter	= 2,
        styleMsFlexAlignBaseline	= 3,
        styleMsFlexAlignStretch	= 4,
        styleMsFlexAlignNotSet	= 5,
        styleMsFlexAlign_Max	= 2147483647L
    } 	styleMsFlexAlign;

typedef 
enum _styleMsFlexItemAlign
    {
        styleMsFlexItemAlignStart	= 0,
        styleMsFlexItemAlignEnd	= 1,
        styleMsFlexItemAlignCenter	= 2,
        styleMsFlexItemAlignBaseline	= 3,
        styleMsFlexItemAlignStretch	= 4,
        styleMsFlexItemAlignAuto	= 5,
        styleMsFlexItemAlignNotSet	= 6,
        styleMsFlexItemAlign_Max	= 2147483647L
    } 	styleMsFlexItemAlign;

typedef 
enum _styleAlignSelf
    {
        styleAlignSelfFlexStart	= 0,
        styleAlignSelfFlexEnd	= 1,
        styleAlignSelfCenter	= 2,
        styleAlignSelfBaseline	= 3,
        styleAlignSelfStretch	= 4,
        styleAlignSelfAuto	= 5,
        styleAlignSelfNotSet	= 6,
        styleAlignSelf_Max	= 2147483647L
    } 	styleAlignSelf;

typedef 
enum _styleJustifyContent
    {
        styleJustifyContentFlexStart	= 0,
        styleJustifyContentFlexEnd	= 1,
        styleJustifyContentCenter	= 2,
        styleJustifyContentSpaceBetween	= 3,
        styleJustifyContentSpaceAround	= 4,
        styleJustifyContentNotSet	= 5,
        styleJustifyContent_Max	= 2147483647L
    } 	styleJustifyContent;

typedef 
enum _styleMsFlexPack
    {
        styleMsFlexPackStart	= 0,
        styleMsFlexPackEnd	= 1,
        styleMsFlexPackCenter	= 2,
        styleMsFlexPackJustify	= 3,
        styleMsFlexPackDistribute	= 4,
        styleMsFlexPackNotSet	= 5,
        styleMsFlexPack_Max	= 2147483647L
    } 	styleMsFlexPack;

typedef 
enum _styleWebkitBoxPack
    {
        styleWebkitBoxPackStart	= 0,
        styleWebkitBoxPackEnd	= 1,
        styleWebkitBoxPackCenter	= 2,
        styleWebkitBoxPackJustify	= 3,
        styleWebkitBoxPackNotSet	= 5,
        styleWebkitBoxPack_Max	= 2147483647L
    } 	styleWebkitBoxPack;

typedef 
enum _styleMsFlexLinePack
    {
        styleMsFlexLinePackStart	= 0,
        styleMsFlexLinePackEnd	= 1,
        styleMsFlexLinePackCenter	= 2,
        styleMsFlexLinePackJustify	= 3,
        styleMsFlexLinePackDistribute	= 4,
        styleMsFlexLinePackStretch	= 5,
        styleMsFlexLinePackNotSet	= 6,
        styleMsFlexLinePack_Max	= 2147483647L
    } 	styleMsFlexLinePack;

typedef 
enum _styleAlignContent
    {
        styleAlignContentFlexStart	= 0,
        styleAlignContentFlexEnd	= 1,
        styleAlignContentCenter	= 2,
        styleAlignContentSpaceBetween	= 3,
        styleAlignContentSpaceAround	= 4,
        styleAlignContentStretch	= 5,
        styleAlignContentNotSet	= 6,
        styleAlignContent_Max	= 2147483647L
    } 	styleAlignContent;

typedef 
enum _styleColumnFill
    {
        styleColumnFillAuto	= 0,
        styleColumnFillBalance	= 1,
        styleColumnFillNotSet	= 2,
        styleColumnFill_Max	= 2147483647L
    } 	styleColumnFill;

typedef 
enum _styleColumnSpan
    {
        styleColumnSpanNone	= 0,
        styleColumnSpanAll	= 1,
        styleColumnSpanOne	= 2,
        styleColumnSpanNotSet	= 3,
        styleColumnSpan_Max	= 2147483647L
    } 	styleColumnSpan;

typedef 
enum _styleBreak
    {
        styleBreakNotSet	= 0,
        styleBreakAuto	= 1,
        styleBreakAlways	= 2,
        styleBreakAvoid	= 3,
        styleBreakLeft	= 4,
        styleBreakRight	= 5,
        styleBreakPage	= 6,
        styleBreakColumn	= 7,
        styleBreakAvoidPage	= 8,
        styleBreakAvoidColumn	= 9,
        styleBreak_Max	= 2147483647L
    } 	styleBreak;

typedef 
enum _styleBreakInside
    {
        styleBreakInsideNotSet	= 0,
        styleBreakInsideAuto	= 1,
        styleBreakInsideAvoid	= 2,
        styleBreakInsideAvoidPage	= 3,
        styleBreakInsideAvoidColumn	= 4,
        styleBreakInside_Max	= 2147483647L
    } 	styleBreakInside;

typedef 
enum _styleMsScrollChaining
    {
        styleMsScrollChainingNotSet	= 0,
        styleMsScrollChainingNone	= 1,
        styleMsScrollChainingChained	= 2,
        styleMsScrollChaining_Max	= 2147483647L
    } 	styleMsScrollChaining;

typedef 
enum _styleMsContentZooming
    {
        styleMsContentZoomingNotSet	= 0,
        styleMsContentZoomingNone	= 1,
        styleMsContentZoomingZoom	= 2,
        styleMsContentZooming_Max	= 2147483647L
    } 	styleMsContentZooming;

typedef 
enum _styleMsContentZoomSnapType
    {
        styleMsContentZoomSnapTypeNotSet	= 0,
        styleMsContentZoomSnapTypeNone	= 1,
        styleMsContentZoomSnapTypeMandatory	= 2,
        styleMsContentZoomSnapTypeProximity	= 3,
        styleMsContentZoomSnapType_Max	= 2147483647L
    } 	styleMsContentZoomSnapType;

typedef 
enum _styleMsScrollRails
    {
        styleMsScrollRailsNotSet	= 0,
        styleMsScrollRailsNone	= 1,
        styleMsScrollRailsRailed	= 2,
        styleMsScrollRails_Max	= 2147483647L
    } 	styleMsScrollRails;

typedef 
enum _styleMsContentZoomChaining
    {
        styleMsContentZoomChainingNotSet	= 0,
        styleMsContentZoomChainingNone	= 1,
        styleMsContentZoomChainingChained	= 2,
        styleMsContentZoomChaining_Max	= 2147483647L
    } 	styleMsContentZoomChaining;

typedef 
enum _styleMsScrollSnapType
    {
        styleMsScrollSnapTypeNotSet	= 0,
        styleMsScrollSnapTypeNone	= 1,
        styleMsScrollSnapTypeMandatory	= 2,
        styleMsScrollSnapTypeProximity	= 3,
        styleMsScrollSnapType_Max	= 2147483647L
    } 	styleMsScrollSnapType;

typedef 
enum _styleGridColumn
    {
        styleGridColumnNotSet	= 0,
        styleGridColumn_Max	= 2147483647L
    } 	styleGridColumn;

typedef 
enum _styleGridColumnAlign
    {
        styleGridColumnAlignCenter	= 0,
        styleGridColumnAlignEnd	= 1,
        styleGridColumnAlignStart	= 2,
        styleGridColumnAlignStretch	= 3,
        styleGridColumnAlignNotSet	= 4,
        styleGridColumnAlign_Max	= 2147483647L
    } 	styleGridColumnAlign;

typedef 
enum _styleGridColumnSpan
    {
        styleGridColumnSpanNotSet	= 0,
        styleGridColumnSpan_Max	= 2147483647L
    } 	styleGridColumnSpan;

typedef 
enum _styleGridRow
    {
        styleGridRowNotSet	= 0,
        styleGridRow_Max	= 2147483647L
    } 	styleGridRow;

typedef 
enum _styleGridRowAlign
    {
        styleGridRowAlignCenter	= 0,
        styleGridRowAlignEnd	= 1,
        styleGridRowAlignStart	= 2,
        styleGridRowAlignStretch	= 3,
        styleGridRowAlignNotSet	= 4,
        styleGridRowAlign_Max	= 2147483647L
    } 	styleGridRowAlign;

typedef 
enum _styleGridRowSpan
    {
        styleGridRowSpanNotSet	= 0,
        styleGridRowSpan_Max	= 2147483647L
    } 	styleGridRowSpan;

typedef 
enum _styleWrapThrough
    {
        styleWrapThroughNotSet	= 0,
        styleWrapThroughWrap	= 1,
        styleWrapThroughNone	= 2,
        styleWrapThrough_Max	= 2147483647L
    } 	styleWrapThrough;

typedef 
enum _styleWrapFlow
    {
        styleWrapFlowNotSet	= 0,
        styleWrapFlowAuto	= 1,
        styleWrapFlowBoth	= 2,
        styleWrapFlowStart	= 3,
        styleWrapFlowEnd	= 4,
        styleWrapFlowClear	= 5,
        styleWrapFlowMinimum	= 6,
        styleWrapFlowMaximum	= 7,
        styleWrapFlow_Max	= 2147483647L
    } 	styleWrapFlow;

typedef 
enum _styleAlignmentBaseline
    {
        styleAlignmentBaselineNotSet	= 0,
        styleAlignmentBaselineAfterEdge	= 1,
        styleAlignmentBaselineAlphabetic	= 2,
        styleAlignmentBaselineAuto	= 3,
        styleAlignmentBaselineBaseline	= 4,
        styleAlignmentBaselineBeforeEdge	= 5,
        styleAlignmentBaselineCentral	= 6,
        styleAlignmentBaselineHanging	= 7,
        styleAlignmentBaselineMathematical	= 8,
        styleAlignmentBaselineMiddle	= 9,
        styleAlignmentBaselineTextAfterEdge	= 10,
        styleAlignmentBaselineTextBeforeEdge	= 11,
        styleAlignmentBaselineIdeographic	= 12,
        styleAlignmentBaseline_Max	= 2147483647L
    } 	styleAlignmentBaseline;

typedef 
enum _styleBaselineShift
    {
        styleBaselineShiftBaseline	= 0,
        styleBaselineShiftSub	= 1,
        styleBaselineShiftSuper	= 2,
        styleBaselineShift_Max	= 2147483647L
    } 	styleBaselineShift;

typedef 
enum _styleClipRule
    {
        styleClipRuleNotSet	= 0,
        styleClipRuleNonZero	= 1,
        styleClipRuleEvenOdd	= 2,
        styleClipRule_Max	= 2147483647L
    } 	styleClipRule;

typedef 
enum _styleDominantBaseline
    {
        styleDominantBaselineNotSet	= 0,
        styleDominantBaselineAlphabetic	= 1,
        styleDominantBaselineAuto	= 2,
        styleDominantBaselineCentral	= 3,
        styleDominantBaselineHanging	= 4,
        styleDominantBaselineIdeographic	= 5,
        styleDominantBaselineMathematical	= 6,
        styleDominantBaselineMiddle	= 7,
        styleDominantBaselineNoChange	= 8,
        styleDominantBaselineResetSize	= 9,
        styleDominantBaselineTextAfterEdge	= 10,
        styleDominantBaselineTextBeforeEdge	= 11,
        styleDominantBaselineUseScript	= 12,
        styleDominantBaseline_Max	= 2147483647L
    } 	styleDominantBaseline;

typedef 
enum _styleFillRule
    {
        styleFillRuleNotSet	= 0,
        styleFillRuleNonZero	= 1,
        styleFillRuleEvenOdd	= 2,
        styleFillRule_Max	= 2147483647L
    } 	styleFillRule;

typedef 
enum _styleFontStretch
    {
        styleFontStretchNotSet	= 0,
        styleFontStretchWider	= 1,
        styleFontStretchNarrower	= 2,
        styleFontStretchUltraCondensed	= 3,
        styleFontStretchExtraCondensed	= 4,
        styleFontStretchCondensed	= 5,
        styleFontStretchSemiCondensed	= 6,
        styleFontStretchNormal	= 7,
        styleFontStretchSemiExpanded	= 8,
        styleFontStretchExpanded	= 9,
        styleFontStretchExtraExpanded	= 10,
        styleFontStretchUltraExpanded	= 11,
        styleFontStretch_Max	= 2147483647L
    } 	styleFontStretch;

typedef 
enum _stylePointerEvents
    {
        stylePointerEventsNotSet	= 0,
        stylePointerEventsVisiblePainted	= 1,
        stylePointerEventsVisibleFill	= 2,
        stylePointerEventsVisibleStroke	= 3,
        stylePointerEventsVisible	= 4,
        stylePointerEventsPainted	= 5,
        stylePointerEventsFill	= 6,
        stylePointerEventsStroke	= 7,
        stylePointerEventsAll	= 8,
        stylePointerEventsNone	= 9,
        stylePointerEventsInitial	= 10,
        stylePointerEventsAuto	= 11,
        stylePointerEvents_Max	= 2147483647L
    } 	stylePointerEvents;

typedef 
enum _styleEnableBackground
    {
        styleEnableBackgroundNotSet	= 0,
        styleEnableBackgroundAccumulate	= 1,
        styleEnableBackgroundNew	= 2,
        styleEnableBackgroundInherit	= 3,
        styleEnableBackground_Max	= 2147483647L
    } 	styleEnableBackground;

typedef 
enum _styleStrokeLinecap
    {
        styleStrokeLinecapNotSet	= 0,
        styleStrokeLinecapButt	= 1,
        styleStrokeLinecapRound	= 2,
        styleStrokeLinecapSquare	= 3,
        styleStrokeLinecap_Max	= 2147483647L
    } 	styleStrokeLinecap;

typedef 
enum _styleStrokeLinejoin
    {
        styleStrokeLinejoinNotSet	= 0,
        styleStrokeLinejoinMiter	= 1,
        styleStrokeLinejoinRound	= 2,
        styleStrokeLinejoinBevel	= 3,
        styleStrokeLinejoin_Max	= 2147483647L
    } 	styleStrokeLinejoin;

typedef 
enum _styleTextAnchor
    {
        styleTextAnchorNotSet	= 0,
        styleTextAnchorStart	= 1,
        styleTextAnchorMiddle	= 2,
        styleTextAnchorEnd	= 3,
        styleTextAnchor_Max	= 2147483647L
    } 	styleTextAnchor;

typedef 
enum _styleAttrType
    {
        styleAttrTypeString	= 0,
        styleAttrTypeColor	= 1,
        styleAttrTypeUrl	= 2,
        styleAttrTypeInteger	= 3,
        styleAttrTypeNumber	= 4,
        styleAttrTypeLength	= 5,
        styleAttrTypePx	= 6,
        styleAttrTypeEm	= 7,
        styleAttrTypeEx	= 8,
        styleAttrTypeIn	= 9,
        styleAttrTypeCm	= 10,
        styleAttrTypeMm	= 11,
        styleAttrTypePt	= 12,
        styleAttrTypePc	= 13,
        styleAttrTypeRem	= 14,
        styleAttrTypeCh	= 15,
        styleAttrTypeVh	= 16,
        styleAttrTypeVw	= 17,
        styleAttrTypeVmin	= 18,
        styleAttrTypePercentage	= 19,
        styleAttrTypeAngle	= 20,
        styleAttrTypeDeg	= 21,
        styleAttrTypeRad	= 22,
        styleAttrTypeGrad	= 23,
        styleAttrTypeTime	= 24,
        styleAttrTypeS	= 25,
        styleAttrTypeMs	= 26,
        styleAttrType_Max	= 2147483647L
    } 	styleAttrType;

typedef 
enum _styleInitialColor
    {
        styleInitialColorNoInitial	= 0,
        styleInitialColorColorProperty	= 1,
        styleInitialColorTransparent	= 2,
        styleInitialColorInvert	= 3,
        styleInitialColor_Max	= 2147483647L
    } 	styleInitialColor;

typedef 
enum _styleInitialString
    {
        styleInitialStringNoInitial	= 0,
        styleInitialStringNone	= 1,
        styleInitialStringAuto	= 2,
        styleInitialStringNormal	= 3,
        styleInitialString_Max	= 2147483647L
    } 	styleInitialString;

typedef 
enum _styleTransformOriginX
    {
        styleTransformOriginXNotSet	= 0,
        styleTransformOriginXLeft	= 1,
        styleTransformOriginXCenter	= 2,
        styleTransformOriginXRight	= 3,
        styleTransformOriginX_Max	= 2147483647L
    } 	styleTransformOriginX;

typedef 
enum _styleTransformOriginY
    {
        styleTransformOriginYNotSet	= 0,
        styleTransformOriginYTop	= 1,
        styleTransformOriginYCenter	= 2,
        styleTransformOriginYBottom	= 3,
        styleTransformOriginY_Max	= 2147483647L
    } 	styleTransformOriginY;

typedef 
enum _stylePerspectiveOriginX
    {
        stylePerspectiveOriginXNotSet	= 0,
        stylePerspectiveOriginXLeft	= 1,
        stylePerspectiveOriginXCenter	= 2,
        stylePerspectiveOriginXRight	= 3,
        stylePerspectiveOriginX_Max	= 2147483647L
    } 	stylePerspectiveOriginX;

typedef 
enum _stylePerspectiveOriginY
    {
        stylePerspectiveOriginYNotSet	= 0,
        stylePerspectiveOriginYTop	= 1,
        stylePerspectiveOriginYCenter	= 2,
        stylePerspectiveOriginYBottom	= 3,
        stylePerspectiveOriginY_Max	= 2147483647L
    } 	stylePerspectiveOriginY;

typedef 
enum _styleTransformStyle
    {
        styleTransformStyleFlat	= 0,
        styleTransformStylePreserve3D	= 1,
        styleTransformStyleNotSet	= 2,
        styleTransformStyle_Max	= 2147483647L
    } 	styleTransformStyle;

typedef 
enum _styleBackfaceVisibility
    {
        styleBackfaceVisibilityVisible	= 0,
        styleBackfaceVisibilityHidden	= 1,
        styleBackfaceVisibilityNotSet	= 2,
        styleBackfaceVisibility_Max	= 2147483647L
    } 	styleBackfaceVisibility;

typedef 
enum _styleTextSizeAdjust
    {
        styleTextSizeAdjustNone	= 0,
        styleTextSizeAdjustAuto	= 1,
        styleTextSizeAdjust_Max	= 2147483647L
    } 	styleTextSizeAdjust;

typedef 
enum _styleColorInterpolationFilters
    {
        styleColorInterpolationFiltersAuto	= 0,
        styleColorInterpolationFiltersSRgb	= 1,
        styleColorInterpolationFiltersLinearRgb	= 2,
        styleColorInterpolationFiltersNotSet	= 3,
        styleColorInterpolationFilters_Max	= 2147483647L
    } 	styleColorInterpolationFilters;

typedef 
enum _styleHyphens
    {
        styleHyphensNone	= 0,
        styleHyphensManual	= 1,
        styleHyphensAuto	= 2,
        styleHyphensNotSet	= 3,
        styleHyphens_Max	= 2147483647L
    } 	styleHyphens;

typedef 
enum _styleHyphenateLimitLines
    {
        styleHyphenateLimitLinesNoLimit	= 0,
        styleHyphenateLimitLines_Max	= 2147483647L
    } 	styleHyphenateLimitLines;

typedef 
enum _styleMsAnimationPlayState
    {
        styleMsAnimationPlayStateRunning	= 0,
        styleMsAnimationPlayStatePaused	= 1,
        styleMsAnimationPlayStateNotSet	= 2,
        styleMsAnimationPlayState_Max	= 2147483647L
    } 	styleMsAnimationPlayState;

typedef 
enum _styleMsAnimationDirection
    {
        styleMsAnimationDirectionNormal	= 0,
        styleMsAnimationDirectionAlternate	= 1,
        styleMsAnimationDirectionReverse	= 2,
        styleMsAnimationDirectionAlternateReverse	= 3,
        styleMsAnimationDirectionNotSet	= 4,
        styleMsAnimationDirection_Max	= 2147483647L
    } 	styleMsAnimationDirection;

typedef 
enum _styleMsAnimationFillMode
    {
        styleMsAnimationFillModeNone	= 0,
        styleMsAnimationFillModeForwards	= 1,
        styleMsAnimationFillModeBackwards	= 2,
        styleMsAnimationFillModeBoth	= 3,
        styleMsAnimationFillModeNotSet	= 4,
        styleMsAnimationFillMode_Max	= 2147483647L
    } 	styleMsAnimationFillMode;

typedef 
enum _styleMsHighContrastAdjust
    {
        styleMsHighContrastAdjustNotSet	= 0,
        styleMsHighContrastAdjustAuto	= 1,
        styleMsHighContrastAdjustNone	= 2,
        styleMsHighContrastAdjust_Max	= 2147483647L
    } 	styleMsHighContrastAdjust;

typedef 
enum _styleMsUserSelect
    {
        styleMsUserSelectAuto	= 0,
        styleMsUserSelectText	= 1,
        styleMsUserSelectElement	= 2,
        styleMsUserSelectNone	= 3,
        styleMsUserSelectNotSet	= 4,
        styleMsUserSelect_Max	= 2147483647L
    } 	styleMsUserSelect;

typedef 
enum _styleMsTouchAction
    {
        styleMsTouchActionNotSet	= -1,
        styleMsTouchActionNone	= 0,
        styleMsTouchActionAuto	= 1,
        styleMsTouchActionManipulation	= 2,
        styleMsTouchActionDoubleTapZoom	= 4,
        styleMsTouchActionPanX	= 8,
        styleMsTouchActionPanY	= 16,
        styleMsTouchActionPinchZoom	= 32,
        styleMsTouchActionCrossSlideX	= 64,
        styleMsTouchActionCrossSlideY	= 128,
        styleMsTouchAction_Max	= 2147483647L
    } 	styleMsTouchAction;

typedef 
enum _styleMsTouchSelect
    {
        styleMsTouchSelectGrippers	= 0,
        styleMsTouchSelectNone	= 1,
        styleMsTouchSelectNotSet	= 2,
        styleMsTouchSelect_Max	= 2147483647L
    } 	styleMsTouchSelect;

typedef 
enum _styleMsScrollTranslation
    {
        styleMsScrollTranslationNotSet	= 0,
        styleMsScrollTranslationNone	= 1,
        styleMsScrollTranslationVtoH	= 2,
        styleMsScrollTranslation_Max	= 2147483647L
    } 	styleMsScrollTranslation;

typedef 
enum _styleBorderImageRepeat
    {
        styleBorderImageRepeatStretch	= 0,
        styleBorderImageRepeatRepeat	= 1,
        styleBorderImageRepeatRound	= 2,
        styleBorderImageRepeatSpace	= 3,
        styleBorderImageRepeatNotSet	= 4,
        styleBorderImageRepeat_Max	= 2147483647L
    } 	styleBorderImageRepeat;

typedef 
enum _styleBorderImageSliceFill
    {
        styleBorderImageSliceFillNotSet	= 0,
        styleBorderImageSliceFillFill	= 1,
        styleBorderImageSliceFill_Max	= 2147483647L
    } 	styleBorderImageSliceFill;

typedef 
enum _styleMsImeAlign
    {
        styleMsImeAlignAuto	= 0,
        styleMsImeAlignAfter	= 1,
        styleMsImeAlignNotSet	= 2,
        styleMsImeAlign_Max	= 2147483647L
    } 	styleMsImeAlign;

typedef 
enum _styleMsTextCombineHorizontal
    {
        styleMsTextCombineHorizontalNone	= 0,
        styleMsTextCombineHorizontalAll	= 1,
        styleMsTextCombineHorizontalDigits	= 2,
        styleMsTextCombineHorizontalNotSet	= 3,
        styleMsTextCombineHorizontal_Max	= 2147483647L
    } 	styleMsTextCombineHorizontal;

typedef 
enum _styleWebkitAppearance
    {
        styleWebkitAppearanceNone	= 0,
        styleWebkitAppearanceCapsLockIndicator	= 1,
        styleWebkitAppearanceButton	= 2,
        styleWebkitAppearanceButtonBevel	= 3,
        styleWebkitAppearanceCaret	= 4,
        styleWebkitAppearanceCheckbox	= 5,
        styleWebkitAppearanceDefaultButton	= 6,
        styleWebkitAppearanceListbox	= 7,
        styleWebkitAppearanceListitem	= 8,
        styleWebkitAppearanceMediaFullscreenButton	= 9,
        styleWebkitAppearanceMediaMuteButton	= 10,
        styleWebkitAppearanceMediaPlayButton	= 11,
        styleWebkitAppearanceMediaSeekBackButton	= 12,
        styleWebkitAppearanceMediaSeekForwardButton	= 13,
        styleWebkitAppearanceMediaSlider	= 14,
        styleWebkitAppearanceMediaSliderthumb	= 15,
        styleWebkitAppearanceMenulist	= 16,
        styleWebkitAppearanceMenulistButton	= 17,
        styleWebkitAppearanceMenulistText	= 18,
        styleWebkitAppearanceMenulistTextfield	= 19,
        styleWebkitAppearancePushButton	= 20,
        styleWebkitAppearanceRadio	= 21,
        styleWebkitAppearanceSearchfield	= 22,
        styleWebkitAppearanceSearchfieldCancelButton	= 23,
        styleWebkitAppearanceSearchfieldDecoration	= 24,
        styleWebkitAppearanceSearchfieldResultsButton	= 25,
        styleWebkitAppearanceSearchfieldResultsDecoration	= 26,
        styleWebkitAppearanceSliderHorizontal	= 27,
        styleWebkitAppearanceSliderVertical	= 28,
        styleWebkitAppearanceSliderthumbHorizontal	= 29,
        styleWebkitAppearanceSliderthumbVertical	= 30,
        styleWebkitAppearanceSquareButton	= 31,
        styleWebkitAppearanceTextarea	= 32,
        styleWebkitAppearanceTextfield	= 33,
        styleWebkitAppearanceNotSet	= 34,
        styleWebkitAppearance_Max	= 2147483647L
    } 	styleWebkitAppearance;


EXTERN_C const GUID CLSID_CCSSStyleDeclaration;
EXTERN_C const GUID CLSID_CStyle;
EXTERN_C const GUID CLSID_CRuleStyle;
typedef 
enum _styleViewportSize
    {
        styleViewportSizeAuto	= 0,
        styleViewportSizeDeviceWidth	= 1,
        styleViewportSizeDeviceHeight	= 2,
        styleViewportSize_Max	= 2147483647L
    } 	styleViewportSize;

typedef 
enum _styleUserZoom
    {
        styleUserZoomNotSet	= 0,
        styleUserZoomZoom	= 1,
        styleUserZoomFixed	= 2,
        styleUserZoom_Max	= 2147483647L
    } 	styleUserZoom;




EXTERN_C const GUID CLSID_CCSSRule;
EXTERN_C const GUID CLSID_CCSSImportRule;
EXTERN_C const GUID CLSID_CCSSMediaRule;
EXTERN_C const GUID CLSID_CCSSMediaList;
EXTERN_C const GUID CLSID_CCSSNamespaceRule;
EXTERN_C const GUID CLSID_CMSCSSKeyframeRule;
EXTERN_C const GUID CLSID_CMSCSSKeyframesRule;
typedef 
enum _styleTextLineThroughStyle
    {
        styleTextLineThroughStyleUndefined	= 0,
        styleTextLineThroughStyleSingle	= 1,
        styleTextLineThroughStyleDouble	= 2,
        styleTextLineThroughStyle_Max	= 2147483647L
    } 	styleTextLineThroughStyle;

typedef 
enum _styleTextUnderlineStyle
    {
        styleTextUnderlineStyleUndefined	= 0,
        styleTextUnderlineStyleSingle	= 1,
        styleTextUnderlineStyleDouble	= 2,
        styleTextUnderlineStyleWords	= 3,
        styleTextUnderlineStyleDotted	= 4,
        styleTextUnderlineStyleThick	= 5,
        styleTextUnderlineStyleDash	= 6,
        styleTextUnderlineStyleDotDash	= 7,
        styleTextUnderlineStyleDotDotDash	= 8,
        styleTextUnderlineStyleWave	= 9,
        styleTextUnderlineStyleSingleAccounting	= 10,
        styleTextUnderlineStyleDoubleAccounting	= 11,
        styleTextUnderlineStyleThickDash	= 12,
        styleTextUnderlineStyle_Max	= 2147483647L
    } 	styleTextUnderlineStyle;

typedef 
enum _styleTextEffect
    {
        styleTextEffectNone	= 0,
        styleTextEffectEmboss	= 1,
        styleTextEffectEngrave	= 2,
        styleTextEffectOutline	= 3,
        styleTextEffect_Max	= 2147483647L
    } 	styleTextEffect;

typedef 
enum _styleDefaultTextSelection
    {
        styleDefaultTextSelectionFalse	= 0,
        styleDefaultTextSelectionTrue	= 1,
        styleDefaultTextSelection_Max	= 2147483647L
    } 	styleDefaultTextSelection;

typedef 
enum _styleTextDecoration
    {
        styleTextDecorationNone	= 0,
        styleTextDecorationUnderline	= 1,
        styleTextDecorationOverline	= 2,
        styleTextDecorationLineThrough	= 3,
        styleTextDecorationBlink	= 4,
        styleTextDecoration_Max	= 2147483647L
    } 	styleTextDecoration;

EXTERN_C const GUID CLSID_CRenderStyle;
typedef 
enum _textDecoration
    {
        textDecorationNone	= 0,
        textDecorationUnderline	= 1,
        textDecorationOverline	= 2,
        textDecorationLineThrough	= 3,
        textDecorationBlink	= 4,
        textDecoration_Max	= 2147483647L
    } 	textDecoration;

EXTERN_C const GUID CLSID_CCurrentStyle;






EXTERN_C const GUID CLSID_CAttribute;
EXTERN_C const GUID CLSID_CDOMTextNode;
EXTERN_C const GUID CLSID_CDOMImplementation;
EXTERN_C const GUID CLSID_CAttrCollectionator;
EXTERN_C const GUID CLSID_CStaticNodeList;
EXTERN_C const GUID CLSID_CDOMChildrenCollection;
typedef 
enum _htmlListType
    {
        htmlListTypeNotSet	= 0,
        htmlListTypeLargeAlpha	= 1,
        htmlListTypeSmallAlpha	= 2,
        htmlListTypeLargeRoman	= 3,
        htmlListTypeSmallRoman	= 4,
        htmlListTypeNumbers	= 5,
        htmlListTypeDisc	= 6,
        htmlListTypeCircle	= 7,
        htmlListTypeSquare	= 8,
        htmlListType_Max	= 2147483647L
    } 	htmlListType;

typedef 
enum _htmlMethod
    {
        htmlMethodNotSet	= 0,
        htmlMethodGet	= 1,
        htmlMethodPost	= 2,
        htmlMethod_Max	= 2147483647L
    } 	htmlMethod;

typedef 
enum _htmlWrap
    {
        htmlWrapOff	= 1,
        htmlWrapSoft	= 2,
        htmlWrapHard	= 3,
        htmlWrap_Max	= 2147483647L
    } 	htmlWrap;

typedef 
enum _htmlDir
    {
        htmlDirNotSet	= 0,
        htmlDirLeftToRight	= 1,
        htmlDirRightToLeft	= 2,
        htmlDir_Max	= 2147483647L
    } 	htmlDir;

typedef 
enum _htmlEditable
    {
        htmlEditableInherit	= 0,
        htmlEditableTrue	= 1,
        htmlEditableFalse	= 2,
        htmlEditable_Max	= 2147483647L
    } 	htmlEditable;

typedef 
enum _htmlInput
    {
        htmlInputNotSet	= 0,
        htmlInputButton	= 1,
        htmlInputCheckbox	= 2,
        htmlInputFile	= 3,
        htmlInputHidden	= 4,
        htmlInputImage	= 5,
        htmlInputPassword	= 6,
        htmlInputRadio	= 7,
        htmlInputReset	= 8,
        htmlInputSelectOne	= 9,
        htmlInputSelectMultiple	= 10,
        htmlInputSubmit	= 11,
        htmlInputText	= 12,
        htmlInputTextarea	= 13,
        htmlInputRichtext	= 14,
        htmlInputRange	= 15,
        htmlInputUrl	= 16,
        htmlInputEmail	= 17,
        htmlInputNumber	= 18,
        htmlInputTel	= 19,
        htmlInputSearch	= 20,
        htmlInput_Max	= 2147483647L
    } 	htmlInput;

typedef 
enum _htmlSpellCheck
    {
        htmlSpellCheckNotSet	= 0,
        htmlSpellCheckTrue	= 1,
        htmlSpellCheckFalse	= 2,
        htmlSpellCheckDefault	= 3,
        htmlSpellCheck_Max	= 2147483647L
    } 	htmlSpellCheck;

typedef 
enum _htmlEncoding
    {
        htmlEncodingURL	= 0,
        htmlEncodingMultipart	= 1,
        htmlEncodingText	= 2,
        htmlEncoding_Max	= 2147483647L
    } 	htmlEncoding;

typedef 
enum _htmlAdjacency
    {
        htmlAdjacencyBeforeBegin	= 1,
        htmlAdjacencyAfterBegin	= 2,
        htmlAdjacencyBeforeEnd	= 3,
        htmlAdjacencyAfterEnd	= 4,
        htmlAdjacency_Max	= 2147483647L
    } 	htmlAdjacency;

typedef 
enum _htmlTabIndex
    {
        htmlTabIndexNotSet	= -32768,
        htmlTabIndex_Max	= 2147483647L
    } 	htmlTabIndex;

typedef 
enum _htmlComponent
    {
        htmlComponentClient	= 0,
        htmlComponentSbLeft	= 1,
        htmlComponentSbPageLeft	= 2,
        htmlComponentSbHThumb	= 3,
        htmlComponentSbPageRight	= 4,
        htmlComponentSbRight	= 5,
        htmlComponentSbUp	= 6,
        htmlComponentSbPageUp	= 7,
        htmlComponentSbVThumb	= 8,
        htmlComponentSbPageDown	= 9,
        htmlComponentSbDown	= 10,
        htmlComponentSbLeft2	= 11,
        htmlComponentSbPageLeft2	= 12,
        htmlComponentSbRight2	= 13,
        htmlComponentSbPageRight2	= 14,
        htmlComponentSbUp2	= 15,
        htmlComponentSbPageUp2	= 16,
        htmlComponentSbDown2	= 17,
        htmlComponentSbPageDown2	= 18,
        htmlComponentSbTop	= 19,
        htmlComponentSbBottom	= 20,
        htmlComponentOutside	= 21,
        htmlComponentGHTopLeft	= 22,
        htmlComponentGHLeft	= 23,
        htmlComponentGHTop	= 24,
        htmlComponentGHBottomLeft	= 25,
        htmlComponentGHTopRight	= 26,
        htmlComponentGHBottom	= 27,
        htmlComponentGHRight	= 28,
        htmlComponentGHBottomRight	= 29,
        htmlComponent_Max	= 2147483647L
    } 	htmlComponent;

typedef 
enum _htmlApplyLocation
    {
        htmlApplyLocationInside	= 0,
        htmlApplyLocationOutside	= 1,
        htmlApplyLocation_Max	= 2147483647L
    } 	htmlApplyLocation;

typedef 
enum _htmlGlyphMode
    {
        htmlGlyphModeNone	= 0,
        htmlGlyphModeBegin	= 1,
        htmlGlyphModeEnd	= 2,
        htmlGlyphModeBoth	= 3,
        htmlGlyphMode_Max	= 2147483647L
    } 	htmlGlyphMode;

typedef 
enum _htmlDraggable
    {
        htmlDraggableAuto	= 0,
        htmlDraggableTrue	= 1,
        htmlDraggableFalse	= 2,
        htmlDraggable_Max	= 2147483647L
    } 	htmlDraggable;






EXTERN_C const GUID CLSID_CDefaults;

EXTERN_C const GUID CLSID_CHtmlComponentDD;
EXTERN_C const GUID CLSID_CHtmlComponentProperty;
EXTERN_C const GUID CLSID_CHtmlComponentMethod;
EXTERN_C const GUID CLSID_CHtmlComponentEvent;
EXTERN_C const GUID CLSID_CHtmlComponentAttach;
EXTERN_C const GUID CLSID_CHtmlComponentDesc;
EXTERN_C const GUID CLSID_CPeerUrnCollection;
EXTERN_C const GUID CLSID_CGenericElement;
EXTERN_C const GUID CLSID_CStyleSheetRule;
EXTERN_C const GUID CLSID_CStyleSheetRuleArray;
EXTERN_C const GUID CLSID_CStyleSheetPage;
EXTERN_C const GUID CLSID_CStyleSheetPageArray;

EXTERN_C const GUID CLSID_CStyleSheet;
EXTERN_C const GUID CLSID_CStyleSheetArray;
EXTERN_C const GUID CLSID_CLinkElement;
typedef 
enum _htmlUnit
    {
        htmlUnitCharacter	= 1,
        htmlUnitWord	= 2,
        htmlUnitSentence	= 3,
        htmlUnitTextEdit	= 6,
        htmlUnit_Max	= 2147483647L
    } 	htmlUnit;

typedef 
enum _htmlEndPoints
    {
        htmlEndPointsStartToStart	= 1,
        htmlEndPointsStartToEnd	= 2,
        htmlEndPointsEndToStart	= 3,
        htmlEndPointsEndToEnd	= 4,
        htmlEndPoints_Max	= 2147483647L
    } 	htmlEndPoints;

typedef 
enum _htmlDirection
    {
        htmlDirectionForward	= 99999,
        htmlDirectionBackward	= -99999,
        htmlDirection_Max	= 2147483647L
    } 	htmlDirection;

EXTERN_C const GUID CLSID_CDomRange;
EXTERN_C const GUID CLSID_CFormElement;
typedef 
enum _htmlStart
    {
        htmlStartfileopen	= 0,
        htmlStartmouseover	= 1,
        htmlStart_Max	= 2147483647L
    } 	htmlStart;

EXTERN_C const GUID CLSID_CTextElement;
EXTERN_C const GUID CLSID_CImgElement;
EXTERN_C const GUID CLSID_CImageElementFactory;
typedef 
enum _bodyScroll
    {
        bodyScrollyes	= 1,
        bodyScrollno	= 2,
        bodyScrollauto	= 4,
        bodyScrolldefault	= 3,
        bodyScroll_Max	= 2147483647L
    } 	bodyScroll;

EXTERN_C const GUID CLSID_CBodyElement;
EXTERN_C const GUID CLSID_CFontElement;
EXTERN_C const GUID CLSID_CAnchorElement;
EXTERN_C const GUID CLSID_CLabelElement;
EXTERN_C const GUID CLSID_CListElement;
EXTERN_C const GUID CLSID_CUListElement;
EXTERN_C const GUID CLSID_COListElement;
EXTERN_C const GUID CLSID_CLIElement;
EXTERN_C const GUID CLSID_CBlockElement;
EXTERN_C const GUID CLSID_CDivElement;
EXTERN_C const GUID CLSID_CDDElement;
EXTERN_C const GUID CLSID_CDTElement;
EXTERN_C const GUID CLSID_CBRElement;
EXTERN_C const GUID CLSID_CDListElement;
EXTERN_C const GUID CLSID_CHRElement;
EXTERN_C const GUID CLSID_CParaElement;
EXTERN_C const GUID CLSID_CElementCollection;
EXTERN_C const GUID CLSID_CHeaderElement;
typedef 
enum _htmlSelectType
    {
        htmlSelectTypeSelectOne	= 1,
        htmlSelectTypeSelectMultiple	= 2,
        htmlSelectType_Max	= 2147483647L
    } 	htmlSelectType;

typedef 
enum _htmlSelectExFlag
    {
        htmlSelectExFlagNone	= 0,
        htmlSelectExFlagHideSelectionInDesign	= 0x1,
        htmlSelectExFlag_Max	= 2147483647L
    } 	htmlSelectExFlag;


EXTERN_C const GUID CLSID_CSelectElement;
EXTERN_C const GUID CLSID_CWndSelectElement;
typedef 
enum _htmlSelection
    {
        htmlSelectionNone	= 0,
        htmlSelectionText	= 1,
        htmlSelectionControl	= 2,
        htmlSelectionTable	= 3,
        htmlSelection_Max	= 2147483647L
    } 	htmlSelection;

EXTERN_C const GUID CLSID_COptionElement;
EXTERN_C const GUID CLSID_COptionElementFactory;
EXTERN_C const GUID CLSID_CWndOptionElement;
EXTERN_C const GUID CLSID_CInput;
EXTERN_C const GUID CLSID_CTextArea;
EXTERN_C const GUID CLSID_CRichtext;
EXTERN_C const GUID CLSID_CButton;
typedef 
enum _htmlMarqueeBehavior
    {
        htmlMarqueeBehaviorscroll	= 1,
        htmlMarqueeBehaviorslide	= 2,
        htmlMarqueeBehavioralternate	= 3,
        htmlMarqueeBehavior_Max	= 2147483647L
    } 	htmlMarqueeBehavior;

typedef 
enum _htmlMarqueeDirection
    {
        htmlMarqueeDirectionleft	= 1,
        htmlMarqueeDirectionright	= 3,
        htmlMarqueeDirectionup	= 5,
        htmlMarqueeDirectiondown	= 7,
        htmlMarqueeDirection_Max	= 2147483647L
    } 	htmlMarqueeDirection;

EXTERN_C const GUID CLSID_CMarquee;
EXTERN_C const GUID CLSID_CHtmlElement;
EXTERN_C const GUID CLSID_CHeadElement;
EXTERN_C const GUID CLSID_CTitleElement;
EXTERN_C const GUID CLSID_CMetaElement;
EXTERN_C const GUID CLSID_CBaseElement;
EXTERN_C const GUID CLSID_CIsIndexElement;
EXTERN_C const GUID CLSID_CNextIdElement;
EXTERN_C const GUID CLSID_CBaseFontElement;
EXTERN_C const GUID CLSID_CUnknownElement;



EXTERN_C const GUID CLSID_COmHistory;
EXTERN_C const GUID CLSID_COpsProfile;
EXTERN_C const GUID CLSID_COmNavigator;
EXTERN_C const GUID CLSID_COmLocation;
EXTERN_C const GUID CLSID_CMimeTypes;
EXTERN_C const GUID CLSID_CPlugins;
typedef 
enum _htmlPersistState
    {
        htmlPersistStateNormal	= 0,
        htmlPersistStateFavorite	= 1,
        htmlPersistStateHistory	= 2,
        htmlPersistStateSnapshot	= 3,
        htmlPersistStateUserData	= 4,
        htmlPersistState_Max	= 2147483647L
    } 	htmlPersistState;

typedef 
enum _htmlDropEffect
    {
        htmlDropEffectCopy	= 0,
        htmlDropEffectLink	= 1,
        htmlDropEffectMove	= 2,
        htmlDropEffectNone	= 3,
        htmlDropEffect_Max	= 2147483647L
    } 	htmlDropEffect;

typedef 
enum _htmlEffectAllowed
    {
        htmlEffectAllowedCopy	= 0,
        htmlEffectAllowedLink	= 1,
        htmlEffectAllowedMove	= 2,
        htmlEffectAllowedCopyLink	= 3,
        htmlEffectAllowedCopyMove	= 4,
        htmlEffectAllowedLinkMove	= 5,
        htmlEffectAllowedAll	= 6,
        htmlEffectAllowedNone	= 7,
        htmlEffectAllowedUninitialized	= 8,
        htmlEffectAllowed_Max	= 2147483647L
    } 	htmlEffectAllowed;

EXTERN_C const GUID CLSID_CEventObj;
EXTERN_C const GUID CLSID_CStyleMedia;
EXTERN_C const GUID CLSID_CFramesCollection;










EXTERN_C const GUID CLSID_CScreen;
EXTERN_C const GUID CLSID_CWindow;
EXTERN_C const GUID CLSID_COmWindowProxy;
EXTERN_C const GUID CLSID_CDocumentVersion;
EXTERN_C const GUID CLSID_CDocumentVersionCollection;
typedef 
enum _htmlCompatMode
    {
        htmlCompatModeBackCompat	= 0,
        htmlCompatModeCSS1Compat	= 1,
        htmlCompatMode_Max	= 2147483647L
    } 	htmlCompatMode;





EXTERN_C const GUID CLSID_CDocument;
EXTERN_C const GUID CLSID_CScriptlet;
typedef 
enum _BoolValue
    {
        True	= 1,
        False	= 0,
        BoolValue_Max	= 2147483647L
    } 	BoolValue;

EXTERN_C const GUID CLSID_CPluginSite;
EXTERN_C const GUID CLSID_CAreasCollection;
EXTERN_C const GUID CLSID_CMapElement;
EXTERN_C const GUID CLSID_CAreaElement;
typedef 
enum _htmlCaptionAlign
    {
        htmlCaptionAlignNotSet	= 0,
        htmlCaptionAlignLeft	= 1,
        htmlCaptionAlignCenter	= 2,
        htmlCaptionAlignRight	= 3,
        htmlCaptionAlignJustify	= 4,
        htmlCaptionAlignTop	= 5,
        htmlCaptionAlignBottom	= 6,
        htmlCaptionAlign_Max	= 2147483647L
    } 	htmlCaptionAlign;

typedef 
enum _htmlCaptionVAlign
    {
        htmlCaptionVAlignNotSet	= 0,
        htmlCaptionVAlignTop	= 1,
        htmlCaptionVAlignBottom	= 2,
        htmlCaptionVAlign_Max	= 2147483647L
    } 	htmlCaptionVAlign;

EXTERN_C const GUID CLSID_CTableCaption;
EXTERN_C const GUID CLSID_CCommentElement;
EXTERN_C const GUID CLSID_CPhraseElement;
EXTERN_C const GUID CLSID_CSpanElement;
typedef 
enum _htmlFrame
    {
        htmlFrameNotSet	= 0,
        htmlFramevoid	= 1,
        htmlFrameabove	= 2,
        htmlFramebelow	= 3,
        htmlFramehsides	= 4,
        htmlFramelhs	= 5,
        htmlFramerhs	= 6,
        htmlFramevsides	= 7,
        htmlFramebox	= 8,
        htmlFrameborder	= 9,
        htmlFrame_Max	= 2147483647L
    } 	htmlFrame;

typedef 
enum _htmlRules
    {
        htmlRulesNotSet	= 0,
        htmlRulesnone	= 1,
        htmlRulesgroups	= 2,
        htmlRulesrows	= 3,
        htmlRulescols	= 4,
        htmlRulesall	= 5,
        htmlRules_Max	= 2147483647L
    } 	htmlRules;

typedef 
enum _htmlCellAlign
    {
        htmlCellAlignNotSet	= 0,
        htmlCellAlignLeft	= 1,
        htmlCellAlignCenter	= 2,
        htmlCellAlignRight	= 3,
        htmlCellAlignMiddle	= htmlCellAlignCenter,
        htmlCellAlign_Max	= 2147483647L
    } 	htmlCellAlign;

typedef 
enum _htmlCellVAlign
    {
        htmlCellVAlignNotSet	= 0,
        htmlCellVAlignTop	= 1,
        htmlCellVAlignMiddle	= 2,
        htmlCellVAlignBottom	= 3,
        htmlCellVAlignBaseline	= 4,
        htmlCellVAlignCenter	= htmlCellVAlignMiddle,
        htmlCellVAlign_Max	= 2147483647L
    } 	htmlCellVAlign;


EXTERN_C const GUID CLSID_CTable;
EXTERN_C const GUID CLSID_CTableCol;
EXTERN_C const GUID CLSID_CTableSection;
EXTERN_C const GUID CLSID_CTableRow;
EXTERN_C const GUID CLSID_CTableCell;
EXTERN_C const GUID CLSID_CScriptElement;
EXTERN_C const GUID CLSID_CNoShowElement;
EXTERN_C const GUID CLSID_CObjectElement;
EXTERN_C const GUID CLSID_CParamElement;
typedef 
enum _frameScrolling
    {
        frameScrollingyes	= 1,
        frameScrollingno	= 2,
        frameScrollingauto	= 4,
        frameScrolling_Max	= 2147483647L
    } 	frameScrolling;

EXTERN_C const GUID CLSID_CFrameSite;
EXTERN_C const GUID CLSID_CFrameElement;
typedef 
enum _sandboxAllow
    {
        sandboxAllowScripts	= 0,
        sandboxAllowSameOrigin	= 1,
        sandboxAllowTopNavigation	= 2,
        sandboxAllowForms	= 3,
        sandboxAllowPopups	= 4,
        sandboxAllow_Max	= 2147483647L
    } 	sandboxAllow;

EXTERN_C const GUID CLSID_CIFrameElement;
EXTERN_C const GUID CLSID_C1DElement;
EXTERN_C const GUID CLSID_CFieldSetElement;
EXTERN_C const GUID CLSID_CLegendElement;
EXTERN_C const GUID CLSID_CSpanSite;
EXTERN_C const GUID CLSID_CFrameSetSite;
EXTERN_C const GUID CLSID_CBGsound;
EXTERN_C const GUID CLSID_CStyleElement;
EXTERN_C const GUID CLSID_CFontFace;
EXTERN_C const GUID CLSID_CXDomainRequest;
EXTERN_C const GUID CLSID_CXDomainRequestFactory;
EXTERN_C const GUID CLSID_CStorage;
EXTERN_C const GUID CLSID_CDOMEvent;
EXTERN_C const GUID CLSID_CDOMUIEvent;
EXTERN_C const GUID CLSID_CDOMMouseEvent;
EXTERN_C const GUID CLSID_CDOMDragEvent;
EXTERN_C const GUID CLSID_CDOMMouseWheelEvent;
EXTERN_C const GUID CLSID_CDOMWheelEvent;
EXTERN_C const GUID CLSID_CDOMTextEvent;
EXTERN_C const GUID CLSID_CDOMKeyboardEvent;
EXTERN_C const GUID CLSID_CDOMCompositionEvent;
EXTERN_C const GUID CLSID_CDOMMutationEvent;
EXTERN_C const GUID CLSID_CDOMBeforeUnloadEvent;
EXTERN_C const GUID CLSID_CDOMFocusEvent;
EXTERN_C const GUID CLSID_CDOMCustomEvent;

EXTERN_C const GUID CLSID_CCanvasGradient;
EXTERN_C const GUID CLSID_CCanvasPattern;
EXTERN_C const GUID CLSID_CCanvasTextMetrics;
EXTERN_C const GUID CLSID_CCanvasImageData;
EXTERN_C const GUID CLSID_CCanvasRenderingContext2D;
EXTERN_C const GUID CLSID_CHTMLCanvasElement;
EXTERN_C const GUID CLSID_CDOMProgressEvent;
EXTERN_C const GUID CLSID_CDOMMessageEvent;
EXTERN_C const GUID CLSID_CDOMSiteModeEvent;
EXTERN_C const GUID CLSID_CDOMStorageEvent;
EXTERN_C const GUID CLSID_CXMLHttpRequestEventTarget;
EXTERN_C const GUID CLSID_CXMLHttpRequest;
EXTERN_C const GUID CLSID_CXMLHttpRequestFactory;
typedef 
enum _svgAngleType
    {
        SVG_ANGLETYPE_UNKNOWN	= 0,
        SVG_ANGLETYPE_UNSPECIFIED	= 1,
        SVG_ANGLETYPE_DEG	= 2,
        SVG_ANGLETYPE_RAD	= 3,
        SVG_ANGLETYPE_GRAD	= 4,
        svgAngleType_Max	= 2147483647L
    } 	svgAngleType;

EXTERN_C const GUID CLSID_CSVGAngle;
typedef 
enum _svgExternalResourcesRequired
    {
        svgExternalResourcesRequiredFalse	= 0,
        svgExternalResourcesRequiredTrue	= 1,
        svgExternalResourcesRequired_Max	= 2147483647L
    } 	svgExternalResourcesRequired;











EXTERN_C const GUID CLSID_CSVGAnimatedAngle;

EXTERN_C const GUID CLSID_CSVGAnimatedTransformList;
EXTERN_C const GUID CLSID_CSVGAnimatedBoolean;
EXTERN_C const GUID CLSID_CSVGAnimatedEnumeration;
EXTERN_C const GUID CLSID_CSVGAnimatedInteger;

EXTERN_C const GUID CLSID_CSVGAnimatedLength;

EXTERN_C const GUID CLSID_CSVGAnimatedLengthList;

EXTERN_C const GUID CLSID_CSVGAnimatedNumber;

EXTERN_C const GUID CLSID_CSVGAnimatedNumberList;

EXTERN_C const GUID CLSID_CSVGAnimatedRect;
EXTERN_C const GUID CLSID_CSVGAnimatedString;
EXTERN_C const GUID CLSID_CSVGClipPathElement;
typedef 
enum _svgFocusable
    {
        svgFocusableNotSet	= 0,
        svgFocusableAuto	= 1,
        svgFocusableTrue	= 2,
        svgFocusableFalse	= 3,
        svgFocusable_Max	= 2147483647L
    } 	svgFocusable;


EXTERN_C const GUID CLSID_CSVGElement;
typedef 
enum _svgLengthType
    {
        SVG_LENGTHTYPE_UNKNOWN	= 0,
        SVG_LENGTHTYPE_NUMBER	= 1,
        SVG_LENGTHTYPE_PERCENTAGE	= 2,
        SVG_LENGTHTYPE_EMS	= 3,
        SVG_LENGTHTYPE_EXS	= 4,
        SVG_LENGTHTYPE_PX	= 5,
        SVG_LENGTHTYPE_CM	= 6,
        SVG_LENGTHTYPE_MM	= 7,
        SVG_LENGTHTYPE_IN	= 8,
        SVG_LENGTHTYPE_PT	= 9,
        SVG_LENGTHTYPE_PC	= 10,
        svgLengthType_Max	= 2147483647L
    } 	svgLengthType;

EXTERN_C const GUID CLSID_CSVGLength;

EXTERN_C const GUID CLSID_CSVGLengthList;
EXTERN_C const GUID CLSID_CSVGMatrix;
EXTERN_C const GUID CLSID_CSVGNumber;

EXTERN_C const GUID CLSID_CSVGNumberList;
EXTERN_C const GUID CLSID_CSVGPatternElement;
typedef 
enum _svgPathSegType
    {
        PATHSEG_UNKNOWN	= 0,
        PATHSEG_CLOSEPATH	= 1,
        PATHSEG_MOVETO_ABS	= 2,
        PATHSEG_MOVETO_REL	= 3,
        PATHSEG_LINETO_ABS	= 4,
        PATHSEG_LINETO_REL	= 5,
        PATHSEG_CURVETO_CUBIC_ABS	= 6,
        PATHSEG_CURVETO_CUBIC_REL	= 7,
        PATHSEG_CURVETO_QUADRATIC_ABS	= 8,
        PATHSEG_CURVETO_QUADRATIC_REL	= 9,
        PATHSEG_ARC_ABS	= 10,
        PATHSEG_ARC_REL	= 11,
        PATHSEG_LINETO_HORIZONTAL_ABS	= 12,
        PATHSEG_LINETO_HORIZONTAL_REL	= 13,
        PATHSEG_LINETO_VERTICAL_ABS	= 14,
        PATHSEG_LINETO_VERTICAL_REL	= 15,
        PATHSEG_CURVETO_CUBIC_SMOOTH_ABS	= 16,
        PATHSEG_CURVETO_CUBIC_SMOOTH_REL	= 17,
        PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS	= 18,
        PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL	= 19,
        svgPathSegType_Max	= 2147483647L
    } 	svgPathSegType;

EXTERN_C const GUID CLSID_CSVGPathSeg;
EXTERN_C const GUID CLSID_CSVGPathSegArcAbs;
EXTERN_C const GUID CLSID_CSVGPathSegArcRel;
EXTERN_C const GUID CLSID_CSVGPathSegClosePath;
EXTERN_C const GUID CLSID_CSVGPathSegMovetoAbs;
EXTERN_C const GUID CLSID_CSVGPathSegMovetoRel;
EXTERN_C const GUID CLSID_CSVGPathSegLinetoAbs;
EXTERN_C const GUID CLSID_CSVGPathSegLinetoRel;
EXTERN_C const GUID CLSID_CSVGPathSegCurvetoCubicAbs;
EXTERN_C const GUID CLSID_CSVGPathSegCurvetoCubicRel;
EXTERN_C const GUID CLSID_CSVGPathSegCurvetoCubicSmoothAbs;
EXTERN_C const GUID CLSID_CSVGPathSegCurvetoCubicSmoothRel;
EXTERN_C const GUID CLSID_CSVGPathSegCurvetoQuadraticAbs;
EXTERN_C const GUID CLSID_CSVGPathSegCurvetoQuadraticRel;
EXTERN_C const GUID CLSID_CSVGPathSegCurvetoQuadraticSmoothAbs;
EXTERN_C const GUID CLSID_CSVGPathSegCurvetoQuadraticSmoothRel;
EXTERN_C const GUID CLSID_CSVGPathSegLinetoHorizontalAbs;
EXTERN_C const GUID CLSID_CSVGPathSegLinetoHorizontalRel;
EXTERN_C const GUID CLSID_CSVGPathSegLinetoVerticalAbs;
EXTERN_C const GUID CLSID_CSVGPathSegLinetoVerticalRel;

EXTERN_C const GUID CLSID_CSVGPathSegList;

EXTERN_C const GUID CLSID_CSVGPoint;

EXTERN_C const GUID CLSID_CSVGPointList;
EXTERN_C const GUID CLSID_CSVGRect;
EXTERN_C const GUID CLSID_CSVGStringList;
typedef 
enum _svgTransformType
    {
        SVG_TRANSFORM_UNKNOWN	= 0,
        SVG_TRANSFORM_MATRIX	= 1,
        SVG_TRANSFORM_TRANSLATE	= 2,
        SVG_TRANSFORM_SCALE	= 3,
        SVG_TRANSFORM_ROTATE	= 4,
        SVG_TRANSFORM_SKEWX	= 5,
        SVG_TRANSFORM_SKEWY	= 6,
        svgTransformType_Max	= 2147483647L
    } 	svgTransformType;


EXTERN_C const GUID CLSID_CSVGTransform;

EXTERN_C const GUID CLSID_CSVGSVGElement;

EXTERN_C const GUID CLSID_CSVGUseElement;



EXTERN_C const GUID CLSID_CHTMLStyleSheetRulesAppliedCollection;
EXTERN_C const GUID CLSID_CRulesApplied;
EXTERN_C const GUID CLSID_CRulesAppliedCollection;
EXTERN_C const GUID CLSID_CW3CComputedStyle;


EXTERN_C const GUID CLSID_CSVGTransformList;

EXTERN_C const GUID CLSID_CSVGCircleElement;
EXTERN_C const GUID CLSID_CSVGEllipseElement;
EXTERN_C const GUID CLSID_CSVGLineElement;
EXTERN_C const GUID CLSID_CSVGRectElement;
EXTERN_C const GUID CLSID_CSVGPolygonElement;
EXTERN_C const GUID CLSID_CSVGPolylineElement;
EXTERN_C const GUID CLSID_CSVGGElement;
EXTERN_C const GUID CLSID_CSVGSymbolElement;
EXTERN_C const GUID CLSID_CSVGDefsElement;
EXTERN_C const GUID CLSID_CSVGPathElement;
typedef 
enum _svgPreserveAspectRatioAlignType
    {
        SVG_PRESERVEASPECTRATIO_UNKNOWN	= 0,
        SVG_PRESERVEASPECTRATIO_NONE	= 1,
        SVG_PRESERVEASPECTRATIO_XMINYMIN	= 2,
        SVG_PRESERVEASPECTRATIO_XMIDYMIN	= 3,
        SVG_PRESERVEASPECTRATIO_XMAXYMIN	= 4,
        SVG_PRESERVEASPECTRATIO_XMINYMID	= 5,
        SVG_PRESERVEASPECTRATIO_XMIDYMID	= 6,
        SVG_PRESERVEASPECTRATIO_XMAXYMID	= 7,
        SVG_PRESERVEASPECTRATIO_XMINYMAX	= 8,
        SVG_PRESERVEASPECTRATIO_XMIDYMAX	= 9,
        SVG_PRESERVEASPECTRATIO_XMAXYMAX	= 10,
        svgPreserveAspectRatioAlignType_Max	= 2147483647L
    } 	svgPreserveAspectRatioAlignType;

typedef 
enum _svgPreserveAspectMeetOrSliceType
    {
        SVG_MEETORSLICE_UNKNOWN	= 0,
        SVG_MEETORSLICE_MEET	= 1,
        SVG_MEETORSLICE_SLICE	= 2,
        svgPreserveAspectMeetOrSliceType_Max	= 2147483647L
    } 	svgPreserveAspectMeetOrSliceType;

EXTERN_C const GUID CLSID_CSVGPreserveAspectRatio;
EXTERN_C const GUID CLSID_CSVGTextElement;

EXTERN_C const GUID CLSID_CSVGAnimatedPreserveAspectRatio;
EXTERN_C const GUID CLSID_CSVGImageElement;
typedef 
enum _svgUnitTypes
    {
        SVG_UNITTYPE_UNKNOWN	= 0,
        SVG_UNITTYPE_USERSPACEONUSE	= 1,
        SVG_UNITTYPE_OBJECTBOUNDINGBOX	= 2,
        svgUnitTypes_Max	= 2147483647L
    } 	svgUnitTypes;

EXTERN_C const GUID CLSID_CSVGStopElement;
typedef 
enum _svgSpreadMethod
    {
        SVG_SPREADMETHOD_UNKNOWN	= 0,
        SVG_SPREADMETHOD_PAD	= 1,
        SVG_SPREADMETHOD_REFLECT	= 2,
        SVG_SPREADMETHOD_REPEAT	= 3,
        svgSpreadMethod_Max	= 2147483647L
    } 	svgSpreadMethod;

EXTERN_C const GUID CLSID_CSVGGradientElement;
EXTERN_C const GUID CLSID_CSVGLinearGradientElement;
EXTERN_C const GUID CLSID_CSVGRadialGradientElement;
EXTERN_C const GUID CLSID_CSVGMaskElement;
typedef 
enum _svgFeblendMode
    {
        SVG_FEBLEND_MODE_UNKNOWN	= 0,
        SVG_FEBLEND_MODE_NORMAL	= 1,
        SVG_FEBLEND_MODE_MULTIPLY	= 2,
        SVG_FEBLEND_MODE_SCREEN	= 3,
        SVG_FEBLEND_MODE_DARKEN	= 4,
        SVG_FEBLEND_MODE_LIGHTEN	= 5,
        svgFeblendMode_Max	= 2147483647L
    } 	svgFeblendMode;

typedef 
enum _svgFecolormatrixType
    {
        SVG_FECOLORMATRIX_TYPE_UNKNOWN	= 0,
        SVG_FECOLORMATRIX_TYPE_MATRIX	= 1,
        SVG_FECOLORMATRIX_TYPE_SATURATE	= 2,
        SVG_FECOLORMATRIX_TYPE_HUEROTATE	= 3,
        SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA	= 4,
        svgFecolormatrixType_Max	= 2147483647L
    } 	svgFecolormatrixType;

typedef 
enum _svgFecomponenttransferType
    {
        SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN	= 0,
        SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY	= 1,
        SVG_FECOMPONENTTRANSFER_TYPE_TABLE	= 2,
        SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE	= 3,
        SVG_FECOMPONENTTRANSFER_TYPE_LINEAR	= 4,
        SVG_FECOMPONENTTRANSFER_TYPE_GAMMA	= 5,
        svgFecomponenttransferType_Max	= 2147483647L
    } 	svgFecomponenttransferType;

typedef 
enum _svgFecompositeOperator
    {
        SVG_FECOMPOSITE_OPERATOR_UNKNOWN	= 0,
        SVG_FECOMPOSITE_OPERATOR_OVER	= 1,
        SVG_FECOMPOSITE_OPERATOR_IN	= 2,
        SVG_FECOMPOSITE_OPERATOR_OUT	= 3,
        SVG_FECOMPOSITE_OPERATOR_ATOP	= 4,
        SVG_FECOMPOSITE_OPERATOR_XOR	= 5,
        SVG_FECOMPOSITE_OPERATOR_ARITHMETIC	= 6,
        svgFecompositeOperator_Max	= 2147483647L
    } 	svgFecompositeOperator;

typedef 
enum _svgEdgemode
    {
        SVG_EDGEMODE_UNKNOWN	= 0,
        SVG_EDGEMODE_DUPLICATE	= 1,
        SVG_EDGEMODE_WRAP	= 2,
        SVG_EDGEMODE_NONE	= 3,
        svgEdgemode_Max	= 2147483647L
    } 	svgEdgemode;

typedef 
enum _svgPreserveAlpha
    {
        SVG_PRESERVEALPHA_FALSE	= 0,
        SVG_PRESERVEALPHA_TRUE	= 1,
        svgPreserveAlpha_Max	= 2147483647L
    } 	svgPreserveAlpha;

typedef 
enum _svgChannel
    {
        SVG_CHANNEL_UNKNOWN	= 0,
        SVG_CHANNEL_R	= 1,
        SVG_CHANNEL_G	= 2,
        SVG_CHANNEL_B	= 3,
        SVG_CHANNEL_A	= 4,
        svgChannel_Max	= 2147483647L
    } 	svgChannel;

typedef 
enum _svgMorphologyOperator
    {
        SVG_MORPHOLOGY_OPERATOR_UNKNOWN	= 0,
        SVG_MORPHOLOGY_OPERATOR_ERODE	= 1,
        SVG_MORPHOLOGY_OPERATOR_DILATE	= 2,
        svgMorphologyOperator_Max	= 2147483647L
    } 	svgMorphologyOperator;

typedef 
enum _svgTurbulenceType
    {
        SVG_TURBULENCE_TYPE_UNKNOWN	= 0,
        SVG_TURBULENCE_TYPE_FACTALNOISE	= 1,
        SVG_TURBULENCE_TYPE_TURBULENCE	= 2,
        svgTurbulenceType_Max	= 2147483647L
    } 	svgTurbulenceType;

typedef 
enum _svgStitchtype
    {
        SVG_STITCHTYPE_UNKNOWN	= 0,
        SVG_STITCHTYPE_STITCH	= 1,
        SVG_STITCHTYPE_NOSTITCH	= 2,
        svgStitchtype_Max	= 2147483647L
    } 	svgStitchtype;

typedef 
enum _svgMarkerUnits
    {
        SVG_MARKERUNITS_UNKNOWN	= 0,
        SVG_MARKERUNITS_USERSPACEONUSE	= 1,
        SVG_MARKERUNITS_STROKEWIDTH	= 2,
        svgMarkerUnits_Max	= 2147483647L
    } 	svgMarkerUnits;

typedef 
enum _svgMarkerOrient
    {
        SVG_MARKER_ORIENT_UNKNOWN	= 0,
        SVG_MARKER_ORIENT_AUTO	= 1,
        SVG_MARKER_ORIENT_ANGLE	= 2,
        svgMarkerOrient_Max	= 2147483647L
    } 	svgMarkerOrient;

typedef 
enum _svgMarkerOrientAttribute
    {
        svgMarkerOrientAttributeAuto	= 0,
        svgMarkerOrientAttribute_Max	= 2147483647L
    } 	svgMarkerOrientAttribute;

EXTERN_C const GUID CLSID_CSVGMarkerElement;
EXTERN_C const GUID CLSID_CSVGZoomEvent;
EXTERN_C const GUID CLSID_CSVGAElement;
EXTERN_C const GUID CLSID_CSVGViewElement;
typedef 
enum _htmlMediaNetworkState
    {
        htmlMediaNetworkStateEmpty	= 0,
        htmlMediaNetworkStateIdle	= 1,
        htmlMediaNetworkStateLoading	= 2,
        htmlMediaNetworkStateNoSource	= 3,
        htmlMediaNetworkState_Max	= 2147483647L
    } 	htmlMediaNetworkState;

typedef 
enum _htmlMediaReadyState
    {
        htmlMediaReadyStateHaveNothing	= 0,
        htmlMediaReadyStateHaveMetadata	= 1,
        htmlMediaReadyStateHaveCurrentData	= 2,
        htmlMediaReadyStateHaveFutureData	= 3,
        htmlMediaReadyStateHaveEnoughData	= 4,
        htmlMediaReadyState_Max	= 2147483647L
    } 	htmlMediaReadyState;

typedef 
enum _htmlMediaErr
    {
        htmlMediaErrAborted	= 0,
        htmlMediaErrNetwork	= 1,
        htmlMediaErrDecode	= 2,
        htmlMediaErrSrcNotSupported	= 3,
        htmlMediaErr_Max	= 2147483647L
    } 	htmlMediaErr;

EXTERN_C const GUID CLSID_CMediaError;
EXTERN_C const GUID CLSID_CTimeRanges;
EXTERN_C const GUID CLSID_CMediaElement;
EXTERN_C const GUID CLSID_CSourceElement;
EXTERN_C const GUID CLSID_CAudioElement;
EXTERN_C const GUID CLSID_CAudioElementFactory;
EXTERN_C const GUID CLSID_CVideoElement;
EXTERN_C const GUID CLSID_CSVGSwitchElement;
EXTERN_C const GUID CLSID_CSVGDescElement;
EXTERN_C const GUID CLSID_CSVGTitleElement;
EXTERN_C const GUID CLSID_CSVGMetadataElement;



EXTERN_C const GUID CLSID_CSVGElementInstance;

EXTERN_C const GUID CLSID_CSVGElementInstanceList;
EXTERN_C const GUID CLSID_CDOMException;
EXTERN_C const GUID CLSID_CRangeException;
EXTERN_C const GUID CLSID_CSVGException;
EXTERN_C const GUID CLSID_CEventException;
EXTERN_C const GUID CLSID_CSVGScriptElement;
EXTERN_C const GUID CLSID_CSVGStyleElement;
typedef 
enum _lengthAdjust
    {
        LENGTHADJUST_UNKNOWN	= 0,
        LENGTHADJUST_SPACING	= 1,
        LENGTHADJUST_SPACINGANDGLYPHS	= 2,
        lengthAdjust_Max	= 2147483647L
    } 	lengthAdjust;

EXTERN_C const GUID CLSID_CSVGTextContentElement;
EXTERN_C const GUID CLSID_CSVGTextPositioningElement;
EXTERN_C const GUID CLSID_CDocumentType;
EXTERN_C const GUID CLSID_CTraversalNodeIterator;
EXTERN_C const GUID CLSID_CTraversalTreeWalker;
EXTERN_C const GUID CLSID_CProcessingInstruction;



EXTERN_C const GUID CLSID_CMSPerformance;
EXTERN_C const GUID CLSID_CMSPerformanceNavigation;
EXTERN_C const GUID CLSID_CMSPerformanceTiming;
EXTERN_C const GUID CLSID_CSVGTSpanElement;
EXTERN_C const GUID CLSID_CTemplatePrinter;
EXTERN_C const GUID CLSID_CPrintManagerTemplatePrinter;
typedef 
enum _textpathMethodtype
    {
        TEXTPATH_METHODTYPE_UNKNOWN	= 0,
        TEXTPATH_METHODTYPE_ALIGN	= 1,
        TEXTPATH_METHODTYPE_STRETCH	= 2,
        textpathMethodtype_Max	= 2147483647L
    } 	textpathMethodtype;

typedef 
enum _textpathSpacingtype
    {
        TEXTPATH_SPACINGTYPE_UNKNOWN	= 0,
        TEXTPATH_SPACINGTYPE_AUTO	= 1,
        TEXTPATH_SPACINGTYPE_EXACT	= 2,
        textpathSpacingtype_Max	= 2147483647L
    } 	textpathSpacingtype;

EXTERN_C const GUID CLSID_CSVGTextPathElement;
EXTERN_C const GUID CLSID_CDOMXmlSerializer;
EXTERN_C const GUID CLSID_CDOMParser;
EXTERN_C const GUID CLSID_CDOMXmlSerializerFactory;
EXTERN_C const GUID CLSID_CDOMParserFactory;
EXTERN_C const GUID CLSID_CSemanticElement;
EXTERN_C const GUID CLSID_CProgressElement;
EXTERN_C const GUID CLSID_CDOMMSTransitionEvent;
EXTERN_C const GUID CLSID_CDOMMSAnimationEvent;
EXTERN_C const GUID CLSID_CWebGeolocation;
EXTERN_C const GUID CLSID_CWebGeocoordinates;
EXTERN_C const GUID CLSID_CWebGeopositionError;
EXTERN_C const GUID CLSID_CWebGeoposition;
EXTERN_C const GUID CLSID_CClientCaps;
EXTERN_C const GUID CLSID_CDOMMSManipulationEvent;
EXTERN_C const GUID CLSID_CDOMCloseEvent;
EXTERN_C const GUID CLSID_CApplicationCache;
typedef 
enum _ELEMENT_CORNER
    {
        ELEMENT_CORNER_NONE	= 0,
        ELEMENT_CORNER_TOP	= 1,
        ELEMENT_CORNER_LEFT	= 2,
        ELEMENT_CORNER_BOTTOM	= 3,
        ELEMENT_CORNER_RIGHT	= 4,
        ELEMENT_CORNER_TOPLEFT	= 5,
        ELEMENT_CORNER_TOPRIGHT	= 6,
        ELEMENT_CORNER_BOTTOMLEFT	= 7,
        ELEMENT_CORNER_BOTTOMRIGHT	= 8,
        ELEMENT_CORNER_Max	= 2147483647L
    } 	ELEMENT_CORNER;

typedef 
enum _SECUREURLHOSTVALIDATE_FLAGS
    {
        SUHV_PROMPTBEFORENO	= 0x1,
        SUHV_SILENTYES	= 0x2,
        SUHV_UNSECURESOURCE	= 0x4,
        SECUREURLHOSTVALIDATE_FLAGS_Max	= 2147483647L
    } 	SECUREURLHOSTVALIDATE_FLAGS;

typedef 
enum _POINTER_GRAVITY
    {
        POINTER_GRAVITY_Left	= 0,
        POINTER_GRAVITY_Right	= 1,
        POINTER_GRAVITY_Max	= 2147483647L
    } 	POINTER_GRAVITY;

typedef 
enum _ELEMENT_ADJACENCY
    {
        ELEM_ADJ_BeforeBegin	= 0,
        ELEM_ADJ_AfterBegin	= 1,
        ELEM_ADJ_BeforeEnd	= 2,
        ELEM_ADJ_AfterEnd	= 3,
        ELEMENT_ADJACENCY_Max	= 2147483647L
    } 	ELEMENT_ADJACENCY;

typedef 
enum _MARKUP_CONTEXT_TYPE
    {
        CONTEXT_TYPE_None	= 0,
        CONTEXT_TYPE_Text	= 1,
        CONTEXT_TYPE_EnterScope	= 2,
        CONTEXT_TYPE_ExitScope	= 3,
        CONTEXT_TYPE_NoScope	= 4,
        MARKUP_CONTEXT_TYPE_Max	= 2147483647L
    } 	MARKUP_CONTEXT_TYPE;

typedef 
enum _FINDTEXT_FLAGS
    {
        FINDTEXT_BACKWARDS	= 0x1,
        FINDTEXT_WHOLEWORD	= 0x2,
        FINDTEXT_MATCHCASE	= 0x4,
        FINDTEXT_RAW	= 0x20000,
        FINDTEXT_MATCHREPEATEDWHITESPACE	= 0x40000,
        FINDTEXT_MATCHDIAC	= 0x20000000,
        FINDTEXT_MATCHKASHIDA	= 0x40000000,
        FINDTEXT_MATCHALEFHAMZA	= 0x80000000,
        FINDTEXT_FLAGS_Max	= 2147483647L
    } 	FINDTEXT_FLAGS;

typedef 
enum _MOVEUNIT_ACTION
    {
        MOVEUNIT_PREVCHAR	= 0,
        MOVEUNIT_NEXTCHAR	= 1,
        MOVEUNIT_PREVCLUSTERBEGIN	= 2,
        MOVEUNIT_NEXTCLUSTERBEGIN	= 3,
        MOVEUNIT_PREVCLUSTEREND	= 4,
        MOVEUNIT_NEXTCLUSTEREND	= 5,
        MOVEUNIT_PREVWORDBEGIN	= 6,
        MOVEUNIT_NEXTWORDBEGIN	= 7,
        MOVEUNIT_PREVWORDEND	= 8,
        MOVEUNIT_NEXTWORDEND	= 9,
        MOVEUNIT_PREVPROOFWORD	= 10,
        MOVEUNIT_NEXTPROOFWORD	= 11,
        MOVEUNIT_NEXTURLBEGIN	= 12,
        MOVEUNIT_PREVURLBEGIN	= 13,
        MOVEUNIT_NEXTURLEND	= 14,
        MOVEUNIT_PREVURLEND	= 15,
        MOVEUNIT_PREVSENTENCE	= 16,
        MOVEUNIT_NEXTSENTENCE	= 17,
        MOVEUNIT_PREVBLOCK	= 18,
        MOVEUNIT_NEXTBLOCK	= 19,
        MOVEUNIT_ACTION_Max	= 2147483647L
    } 	MOVEUNIT_ACTION;

typedef 
enum _PARSE_FLAGS
    {
        PARSE_ABSOLUTIFYIE40URLS	= 0x1,
        PARSE_DISABLEVML	= 0x2,
        PARSE_FLAGS_Max	= 2147483647L
    } 	PARSE_FLAGS;

typedef 
enum _ELEMENT_TAG_ID
    {
        TAGID_NULL	= 0,
        TAGID_UNKNOWN	= 1,
        TAGID_A	= 2,
        TAGID_ACRONYM	= 3,
        TAGID_ADDRESS	= 4,
        TAGID_APPLET	= 5,
        TAGID_AREA	= 6,
        TAGID_B	= 7,
        TAGID_BASE	= 8,
        TAGID_BASEFONT	= 9,
        TAGID_BDO	= 10,
        TAGID_BGSOUND	= 11,
        TAGID_BIG	= 12,
        TAGID_BLINK	= 13,
        TAGID_BLOCKQUOTE	= 14,
        TAGID_BODY	= 15,
        TAGID_BR	= 16,
        TAGID_BUTTON	= 17,
        TAGID_CAPTION	= 18,
        TAGID_CENTER	= 19,
        TAGID_CITE	= 20,
        TAGID_CODE	= 21,
        TAGID_COL	= 22,
        TAGID_COLGROUP	= 23,
        TAGID_COMMENT	= 24,
        TAGID_COMMENT_RAW	= 25,
        TAGID_DD	= 26,
        TAGID_DEL	= 27,
        TAGID_DFN	= 28,
        TAGID_DIR	= 29,
        TAGID_DIV	= 30,
        TAGID_DL	= 31,
        TAGID_DT	= 32,
        TAGID_EM	= 33,
        TAGID_EMBED	= 34,
        TAGID_FIELDSET	= 35,
        TAGID_FONT	= 36,
        TAGID_FORM	= 37,
        TAGID_FRAME	= 38,
        TAGID_FRAMESET	= 39,
        TAGID_GENERIC	= 40,
        TAGID_H1	= 41,
        TAGID_H2	= 42,
        TAGID_H3	= 43,
        TAGID_H4	= 44,
        TAGID_H5	= 45,
        TAGID_H6	= 46,
        TAGID_HEAD	= 47,
        TAGID_HR	= 48,
        TAGID_HTML	= 49,
        TAGID_I	= 50,
        TAGID_IFRAME	= 51,
        TAGID_IMG	= 52,
        TAGID_INPUT	= 53,
        TAGID_INS	= 54,
        TAGID_KBD	= 55,
        TAGID_LABEL	= 56,
        TAGID_LEGEND	= 57,
        TAGID_LI	= 58,
        TAGID_LINK	= 59,
        TAGID_LISTING	= 60,
        TAGID_MAP	= 61,
        TAGID_MARQUEE	= 62,
        TAGID_MENU	= 63,
        TAGID_META	= 64,
        TAGID_NEXTID	= 65,
        TAGID_NOBR	= 66,
        TAGID_NOEMBED	= 67,
        TAGID_NOFRAMES	= 68,
        TAGID_NOSCRIPT	= 69,
        TAGID_OBJECT	= 70,
        TAGID_OL	= 71,
        TAGID_OPTION	= 72,
        TAGID_P	= 73,
        TAGID_PARAM	= 74,
        TAGID_PLAINTEXT	= 75,
        TAGID_PRE	= 76,
        TAGID_Q	= 77,
        TAGID_RP	= 78,
        TAGID_RT	= 79,
        TAGID_RUBY	= 80,
        TAGID_S	= 81,
        TAGID_SAMP	= 82,
        TAGID_SCRIPT	= 83,
        TAGID_SELECT	= 84,
        TAGID_SMALL	= 85,
        TAGID_SPAN	= 86,
        TAGID_STRIKE	= 87,
        TAGID_STRONG	= 88,
        TAGID_STYLE	= 89,
        TAGID_SUB	= 90,
        TAGID_SUP	= 91,
        TAGID_TABLE	= 92,
        TAGID_TBODY	= 93,
        TAGID_TC	= 94,
        TAGID_TD	= 95,
        TAGID_TEXTAREA	= 96,
        TAGID_TFOOT	= 97,
        TAGID_TH	= 98,
        TAGID_THEAD	= 99,
        TAGID_TITLE	= 100,
        TAGID_TR	= 101,
        TAGID_TT	= 102,
        TAGID_U	= 103,
        TAGID_UL	= 104,
        TAGID_VAR	= 105,
        TAGID_WBR	= 106,
        TAGID_XMP	= 107,
        TAGID_ROOT	= 108,
        TAGID_OPTGROUP	= 109,
        TAGID_ABBR	= 110,
        TAGID_SVG_A	= 111,
        TAGID_SVG_ALTGLYPH	= 112,
        TAGID_SVG_ALTGLYPHDEF	= 113,
        TAGID_SVG_ALTGLYPHITEM	= 114,
        TAGID_SVG_ANIMATE	= 115,
        TAGID_SVG_ANIMATECOLOR	= 116,
        TAGID_SVG_ANIMATEMOTION	= 117,
        TAGID_SVG_ANIMATETRANSFORM	= 118,
        TAGID_SVG_CIRCLE	= 119,
        TAGID_SVG_CLIPPATH	= 120,
        TAGID_SVG_COLOR_PROFILE	= 121,
        TAGID_SVG_CURSOR	= 122,
        TAGID_SVG_DEFINITION_SRC	= 123,
        TAGID_SVG_DEFS	= 124,
        TAGID_SVG_DESC	= 125,
        TAGID_SVG_ELLIPSE	= 126,
        TAGID_SVG_FEBLEND	= 127,
        TAGID_SVG_FECOLORMATRIX	= 128,
        TAGID_SVG_FECOMPONENTTRANSFER	= 129,
        TAGID_SVG_FECOMPOSITE	= 130,
        TAGID_SVG_FECONVOLVEMATRIX	= 131,
        TAGID_SVG_FEDIFFUSELIGHTING	= 132,
        TAGID_SVG_FEDISPLACEMENTMAP	= 133,
        TAGID_SVG_FEDISTANTLIGHT	= 134,
        TAGID_SVG_FEFLOOD	= 135,
        TAGID_SVG_FEFUNCA	= 136,
        TAGID_SVG_FEFUNCB	= 137,
        TAGID_SVG_FEFUNCG	= 138,
        TAGID_SVG_FEFUNCR	= 139,
        TAGID_SVG_FEGAUSSIANBLUR	= 140,
        TAGID_SVG_FEIMAGE	= 141,
        TAGID_SVG_FEMERGE	= 142,
        TAGID_SVG_FEMERGENODE	= 143,
        TAGID_SVG_FEMORPHOLOGY	= 144,
        TAGID_SVG_FEOFFSET	= 145,
        TAGID_SVG_FEPOINTLIGHT	= 146,
        TAGID_SVG_FESPECULARLIGHTING	= 147,
        TAGID_SVG_FESPOTLIGHT	= 148,
        TAGID_SVG_FETILE	= 149,
        TAGID_SVG_FETURBULENCE	= 150,
        TAGID_SVG_FILTER	= 151,
        TAGID_SVG_FONT	= 152,
        TAGID_SVG_FONT_FACE	= 153,
        TAGID_SVG_FONT_FACE_FORMAT	= 154,
        TAGID_SVG_FONT_FACE_NAME	= 155,
        TAGID_SVG_FONT_FACE_SRC	= 156,
        TAGID_SVG_FONT_FACE_URI	= 157,
        TAGID_SVG_FOREIGNOBJECT	= 158,
        TAGID_SVG_G	= 159,
        TAGID_SVG_GLYPH	= 160,
        TAGID_SVG_GLYPHREF	= 161,
        TAGID_SVG_HKERN	= 162,
        TAGID_SVG_IMAGE	= 163,
        TAGID_SVG_LINE	= 164,
        TAGID_SVG_LINEARGRADIENT	= 165,
        TAGID_SVG_MARKER	= 166,
        TAGID_SVG_MASK	= 167,
        TAGID_SVG_METADATA	= 168,
        TAGID_SVG_MISSING_GLYPH	= 169,
        TAGID_SVG_MPATH	= 170,
        TAGID_SVG_PATH	= 171,
        TAGID_SVG_PATTERN	= 172,
        TAGID_SVG_POLYGON	= 173,
        TAGID_SVG_POLYLINE	= 174,
        TAGID_SVG_RADIALGRADIENT	= 175,
        TAGID_SVG_RECT	= 176,
        TAGID_SVG_SCRIPT	= 177,
        TAGID_SVG_SET	= 178,
        TAGID_SVG_STOP	= 179,
        TAGID_SVG_STYLE	= 180,
        TAGID_SVG_SVG	= 181,
        TAGID_SVG_SWITCH	= 182,
        TAGID_SVG_SYMBOL	= 183,
        TAGID_SVG_TEXT	= 184,
        TAGID_SVG_TEXTPATH	= 185,
        TAGID_SVG_TITLE	= 186,
        TAGID_SVG_TREF	= 187,
        TAGID_SVG_TSPAN	= 188,
        TAGID_SVG_USE	= 189,
        TAGID_SVG_VIEW	= 190,
        TAGID_SVG_VKERN	= 191,
        TAGID_AUDIO	= 192,
        TAGID_SOURCE	= 193,
        TAGID_VIDEO	= 194,
        TAGID_CANVAS	= 195,
        TAGID_DOCTYPE	= 196,
        TAGID_KEYGEN	= 197,
        TAGID_PROCESSINGINSTRUCTION	= 198,
        TAGID_ARTICLE	= 199,
        TAGID_ASIDE	= 200,
        TAGID_FIGCAPTION	= 201,
        TAGID_FIGURE	= 202,
        TAGID_FOOTER	= 203,
        TAGID_HEADER	= 204,
        TAGID_HGROUP	= 205,
        TAGID_MARK	= 206,
        TAGID_NAV	= 207,
        TAGID_SECTION	= 208,
        TAGID_PROGRESS	= 209,
        TAGID_MATHML_ANNOTATION_XML	= 210,
        TAGID_MATHML_MATH	= 211,
        TAGID_MATHML_MI	= 212,
        TAGID_MATHML_MN	= 213,
        TAGID_MATHML_MO	= 214,
        TAGID_MATHML_MS	= 215,
        TAGID_MATHML_MTEXT	= 216,
        TAGID_DATALIST	= 217,
        TAGID_TRACK	= 218,
        TAGID_ISINDEX	= 219,
        TAGID_COMMAND	= 220,
        TAGID_DETAILS	= 221,
        TAGID_SUMMARY	= 222,
        TAGID_X_MS_WEBVIEW	= 223,
        TAGID_COUNT	= 224,
        TAGID_LAST_PREDEFINED	= 10000,
        ELEMENT_TAG_ID_Max	= 2147483647L
    } 	ELEMENT_TAG_ID;

typedef 
enum _SELECTION_TYPE
    {
        SELECTION_TYPE_None	= 0,
        SELECTION_TYPE_Caret	= 1,
        SELECTION_TYPE_Text	= 2,
        SELECTION_TYPE_Control	= 3,
        SELECTION_TYPE_Max	= 2147483647L
    } 	SELECTION_TYPE;

typedef 
enum _SAVE_SEGMENTS_FLAGS
    {
        SAVE_SEGMENTS_NoIE4SelectionCompat	= 0x1,
        SAVE_SEGMENTS_FLAGS_Max	= 2147483647L
    } 	SAVE_SEGMENTS_FLAGS;

typedef 
enum _CARET_DIRECTION
    {
        CARET_DIRECTION_INDETERMINATE	= 0,
        CARET_DIRECTION_SAME	= 1,
        CARET_DIRECTION_BACKWARD	= 2,
        CARET_DIRECTION_FORWARD	= 3,
        CARET_DIRECTION_Max	= 2147483647L
    } 	CARET_DIRECTION;

typedef 
enum _LINE_DIRECTION
    {
        LINE_DIRECTION_RightToLeft	= 1,
        LINE_DIRECTION_LeftToRight	= 2,
        LINE_DIRECTION_Max	= 2147483647L
    } 	LINE_DIRECTION;

typedef 
enum _HT_OPTIONS
    {
        HT_OPT_AllowAfterEOL	= 0x1,
        HT_OPTIONS_Max	= 2147483647L
    } 	HT_OPTIONS;

typedef 
enum _HT_RESULTS
    {
        HT_RESULTS_Glyph	= 0x1,
        HT_RESULTS_Max	= 2147483647L
    } 	HT_RESULTS;

typedef 
enum _DISPLAY_MOVEUNIT
    {
        DISPLAY_MOVEUNIT_PreviousLine	= 1,
        DISPLAY_MOVEUNIT_NextLine	= 2,
        DISPLAY_MOVEUNIT_CurrentLineStart	= 3,
        DISPLAY_MOVEUNIT_CurrentLineEnd	= 4,
        DISPLAY_MOVEUNIT_TopOfWindow	= 5,
        DISPLAY_MOVEUNIT_BottomOfWindow	= 6,
        DISPLAY_MOVEUNIT_Max	= 2147483647L
    } 	DISPLAY_MOVEUNIT;

typedef 
enum _DISPLAY_GRAVITY
    {
        DISPLAY_GRAVITY_PreviousLine	= 1,
        DISPLAY_GRAVITY_NextLine	= 2,
        DISPLAY_GRAVITY_Max	= 2147483647L
    } 	DISPLAY_GRAVITY;

typedef 
enum _DISPLAY_BREAK
    {
        DISPLAY_BREAK_None	= 0,
        DISPLAY_BREAK_Block	= 0x1,
        DISPLAY_BREAK_Break	= 0x2,
        DISPLAY_BREAK_Max	= 2147483647L
    } 	DISPLAY_BREAK;

typedef 
enum _COORD_SYSTEM
    {
        COORD_SYSTEM_GLOBAL	= 0,
        COORD_SYSTEM_PARENT	= 1,
        COORD_SYSTEM_CONTAINER	= 2,
        COORD_SYSTEM_CONTENT	= 3,
        COORD_SYSTEM_FRAME	= 4,
        COORD_SYSTEM_CLIENT	= 5,
        COORD_SYSTEM_Max	= 2147483647L
    } 	COORD_SYSTEM;























EXTERN_C const GUID CLSID_HtmlDlgSafeHelper;
EXTERN_C const GUID CLSID_BlockFormats;
EXTERN_C const GUID CLSID_FontNames;
typedef 
enum _DEV_CONSOLE_MESSAGE_LEVEL
    {
        DCML_INFORMATIONAL	= 0,
        DCML_WARNING	= 0x1,
        DCML_ERROR	= 0x2,
        DEV_CONSOLE_MESSAGE_LEVEL_Max	= 2147483647L
    } 	DEV_CONSOLE_MESSAGE_LEVEL;


typedef 
enum _DOM_EVENT_PHASE
    {
        DEP_CAPTURING_PHASE	= 0x1,
        DEP_AT_TARGET	= 0x2,
        DEP_BUBBLING_PHASE	= 0x3,
        DOM_EVENT_PHASE_Max	= 2147483647L
    } 	DOM_EVENT_PHASE;

typedef 
enum _SCRIPT_TIMER_TYPE
    {
        STT_TIMEOUT	= 0,
        STT_INTERVAL	= 0x1,
        STT_IMMEDIATE	= 0x2,
        STT_ANIMATION_FRAME	= 0x3,
        SCRIPT_TIMER_TYPE_Max	= 2147483647L
    } 	SCRIPT_TIMER_TYPE;

EXTERN_C const GUID CLSID_CHTMLNamespace;
EXTERN_C const GUID CLSID_CHTMLNamespaceCollection;
typedef 
enum _HTML_PAINTER
    {
        HTMLPAINTER_OPAQUE	= 0x1,
        HTMLPAINTER_TRANSPARENT	= 0x2,
        HTMLPAINTER_ALPHA	= 0x4,
        HTMLPAINTER_COMPLEX	= 0x8,
        HTMLPAINTER_OVERLAY	= 0x10,
        HTMLPAINTER_HITTEST	= 0x20,
        HTMLPAINTER_SURFACE	= 0x100,
        HTMLPAINTER_3DSURFACE	= 0x200,
        HTMLPAINTER_NOBAND	= 0x400,
        HTMLPAINTER_NODC	= 0x1000,
        HTMLPAINTER_NOPHYSICALCLIP	= 0x2000,
        HTMLPAINTER_NOSAVEDC	= 0x4000,
        HTMLPAINTER_SUPPORTS_XFORM	= 0x8000,
        HTMLPAINTER_EXPAND	= 0x10000,
        HTMLPAINTER_NOSCROLLBITS	= 0x20000,
        HTML_PAINTER_Max	= 2147483647L
    } 	HTML_PAINTER;

typedef 
enum _HTML_PAINT_ZORDER
    {
        HTMLPAINT_ZORDER_NONE	= 0,
        HTMLPAINT_ZORDER_REPLACE_ALL	= 1,
        HTMLPAINT_ZORDER_REPLACE_CONTENT	= 2,
        HTMLPAINT_ZORDER_REPLACE_BACKGROUND	= 3,
        HTMLPAINT_ZORDER_BELOW_CONTENT	= 4,
        HTMLPAINT_ZORDER_BELOW_FLOW	= 5,
        HTMLPAINT_ZORDER_ABOVE_FLOW	= 6,
        HTMLPAINT_ZORDER_ABOVE_CONTENT	= 7,
        HTMLPAINT_ZORDER_WINDOW_TOP	= 8,
        HTML_PAINT_ZORDER_Max	= 2147483647L
    } 	HTML_PAINT_ZORDER;

typedef 
enum _HTML_PAINT_DRAW_FLAGS
    {
        HTMLPAINT_DRAW_UPDATEREGION	= 0x1,
        HTMLPAINT_DRAW_USE_XFORM	= 0x2,
        HTML_PAINT_DRAW_FLAGS_Max	= 2147483647L
    } 	HTML_PAINT_DRAW_FLAGS;

typedef 
enum _HTML_PAINT_EVENT_FLAGS
    {
        HTMLPAINT_EVENT_TARGET	= 0x1,
        HTMLPAINT_EVENT_SETCURSOR	= 0x2,
        HTML_PAINT_EVENT_FLAGS_Max	= 2147483647L
    } 	HTML_PAINT_EVENT_FLAGS;

typedef 
enum _HTML_PAINT_DRAW_INFO_FLAGS
    {
        HTMLPAINT_DRAWINFO_VIEWPORT	= 0x1,
        HTMLPAINT_DRAWINFO_UPDATEREGION	= 0x2,
        HTMLPAINT_DRAWINFO_XFORM	= 0x4,
        HTML_PAINT_DRAW_INFO_FLAGS_Max	= 2147483647L
    } 	HTML_PAINT_DRAW_INFO_FLAGS;

typedef struct _HTML_PAINTER_INFO
    {
    LONG lFlags;
    LONG lZOrder;
    IID iidDrawObject;
    RECT rcExpand;
    } 	HTML_PAINTER_INFO;

typedef struct _HTML_PAINT_XFORM
    {
    FLOAT eM11;
    FLOAT eM12;
    FLOAT eM21;
    FLOAT eM22;
    FLOAT eDx;
    FLOAT eDy;
    } 	HTML_PAINT_XFORM;

typedef struct _HTML_PAINT_DRAW_INFO
    {
    RECT rcViewport;
    HRGN hrgnUpdate;
    HTML_PAINT_XFORM xform;
    } 	HTML_PAINT_DRAW_INFO;



typedef 
enum _HTMLDlgFlag
    {
        HTMLDlgFlagNo	= 0,
        HTMLDlgFlagOff	= 0,
        HTMLDlgFlag0	= 0,
        HTMLDlgFlagYes	= 1,
        HTMLDlgFlagOn	= 1,
        HTMLDlgFlag1	= 1,
        HTMLDlgFlagNotSet	= -1,
        HTMLDlgFlag_Max	= 2147483647L
    } 	HTMLDlgFlag;

typedef 
enum _HTMLDlgBorder
    {
        HTMLDlgBorderThin	= 0,
        HTMLDlgBorderThick	= 0x40000L,
        HTMLDlgBorder_Max	= 2147483647L
    } 	HTMLDlgBorder;

typedef 
enum _HTMLDlgEdge
    {
        HTMLDlgEdgeSunken	= 0,
        HTMLDlgEdgeRaised	= 16,
        HTMLDlgEdge_Max	= 2147483647L
    } 	HTMLDlgEdge;

typedef 
enum _HTMLDlgCenter
    {
        HTMLDlgCenterNo	= 0,
        HTMLDlgCenterOff	= 0,
        HTMLDlgCenter0	= 0,
        HTMLDlgCenterYes	= 1,
        HTMLDlgCenterOn	= 1,
        HTMLDlgCenter1	= 1,
        HTMLDlgCenterParent	= 1,
        HTMLDlgCenterDesktop	= 2,
        HTMLDlgCenter_Max	= 2147483647L
    } 	HTMLDlgCenter;

EXTERN_C const GUID CLSID_CThreadDialogProcParam;
EXTERN_C const GUID CLSID_CHTMLDlg;
EXTERN_C const GUID CLSID_CHTMLPopup;
typedef 
enum _HTMLAppFlag
    {
        HTMLAppFlagNo	= 0,
        HTMLAppFlagOff	= 0,
        HTMLAppFlag0	= 0,
        HTMLAppFlagYes	= 1,
        HTMLAppFlagOn	= 1,
        HTMLAppFlag1	= 1,
        HTMLAppFlag_Max	= 2147483647L
    } 	HTMLAppFlag;

typedef 
enum _HTMLMinimizeFlag
    {
        HTMLMinimizeFlagNo	= 0,
        HTMLMinimizeFlagYes	= 0x20000L,
        HTMLMinimizeFlag_Max	= 2147483647L
    } 	HTMLMinimizeFlag;

typedef 
enum _HTMLMaximizeFlag
    {
        HTMLMaximizeFlagNo	= 0,
        HTMLMaximizeFlagYes	= 0x10000L,
        HTMLMaximizeFlag_Max	= 2147483647L
    } 	HTMLMaximizeFlag;

typedef 
enum _HTMLCaptionFlag
    {
        HTMLCaptionFlagNo	= 0,
        HTMLCaptionFlagYes	= 0xc00000L,
        HTMLCaptionFlag_Max	= 2147483647L
    } 	HTMLCaptionFlag;

typedef 
enum _HTMLSysMenuFlag
    {
        HTMLSysMenuFlagNo	= 0,
        HTMLSysMenuFlagYes	= 0x80000L,
        HTMLSysMenuFlag_Max	= 2147483647L
    } 	HTMLSysMenuFlag;

typedef 
enum _HTMLBorder
    {
        HTMLBorderNone	= 0,
        HTMLBorderThick	= 0x40000L,
        HTMLBorderDialog	= 0x400000L,
        HTMLBorderThin	= 0x800000L,
        HTMLBorder_Max	= 2147483647L
    } 	HTMLBorder;

typedef 
enum _HTMLBorderStyle
    {
        HTMLBorderStyleNormal	= 0,
        HTMLBorderStyleRaised	= 0x100L,
        HTMLBorderStyleSunken	= 0x200L,
        HTMLBorderStylecombined	= 0x300L,
        HTMLBorderStyleStatic	= 0x20000L,
        HTMLBorderStyle_Max	= 2147483647L
    } 	HTMLBorderStyle;

typedef 
enum _HTMLWindowState
    {
        HTMLWindowStateNormal	= 1,
        HTMLWindowStateMaximize	= 3,
        HTMLWindowStateMinimize	= 6,
        HTMLWindowState_Max	= 2147483647L
    } 	HTMLWindowState;

EXTERN_C const GUID CLSID_CAppBehavior;
typedef 
enum _BEHAVIOR_EVENT
    {
        BEHAVIOREVENT_FIRST	= 0,
        BEHAVIOREVENT_CONTENTREADY	= 0,
        BEHAVIOREVENT_DOCUMENTREADY	= 1,
        BEHAVIOREVENT_APPLYSTYLE	= 2,
        BEHAVIOREVENT_DOCUMENTCONTEXTCHANGE	= 3,
        BEHAVIOREVENT_CONTENTSAVE	= 4,
        BEHAVIOREVENT_LAST	= 4,
        BEHAVIOR_EVENT_Max	= 2147483647L
    } 	BEHAVIOR_EVENT;

typedef 
enum _BEHAVIOR_EVENT_FLAGS
    {
        BEHAVIOREVENTFLAGS_BUBBLE	= 1,
        BEHAVIOREVENTFLAGS_STANDARDADDITIVE	= 2,
        BEHAVIOR_EVENT_FLAGS_Max	= 2147483647L
    } 	BEHAVIOR_EVENT_FLAGS;

typedef 
enum _BEHAVIOR_RENDER_INFO
    {
        BEHAVIORRENDERINFO_BEFOREBACKGROUND	= 0x1,
        BEHAVIORRENDERINFO_AFTERBACKGROUND	= 0x2,
        BEHAVIORRENDERINFO_BEFORECONTENT	= 0x4,
        BEHAVIORRENDERINFO_AFTERCONTENT	= 0x8,
        BEHAVIORRENDERINFO_AFTERFOREGROUND	= 0x20,
        BEHAVIORRENDERINFO_ABOVECONTENT	= 0x28,
        BEHAVIORRENDERINFO_ALLLAYERS	= 0xff,
        BEHAVIORRENDERINFO_DISABLEBACKGROUND	= 0x100,
        BEHAVIORRENDERINFO_DISABLENEGATIVEZ	= 0x200,
        BEHAVIORRENDERINFO_DISABLECONTENT	= 0x400,
        BEHAVIORRENDERINFO_DISABLEPOSITIVEZ	= 0x800,
        BEHAVIORRENDERINFO_DISABLEALLLAYERS	= 0xf00,
        BEHAVIORRENDERINFO_HITTESTING	= 0x1000,
        BEHAVIORRENDERINFO_SURFACE	= 0x100000,
        BEHAVIORRENDERINFO_3DSURFACE	= 0x200000,
        BEHAVIOR_RENDER_INFO_Max	= 2147483647L
    } 	BEHAVIOR_RENDER_INFO;

typedef 
enum _BEHAVIOR_RELATION
    {
        BEHAVIOR_FIRSTRELATION	= 0,
        BEHAVIOR_SAMEELEMENT	= 0,
        BEHAVIOR_PARENT	= 1,
        BEHAVIOR_CHILD	= 2,
        BEHAVIOR_SIBLING	= 3,
        BEHAVIOR_LASTRELATION	= 3,
        BEHAVIOR_RELATION_Max	= 2147483647L
    } 	BEHAVIOR_RELATION;

typedef 
enum _BEHAVIOR_LAYOUT_INFO
    {
        BEHAVIORLAYOUTINFO_FULLDELEGATION	= 0x1,
        BEHAVIORLAYOUTINFO_MODIFYNATURAL	= 0x2,
        BEHAVIORLAYOUTINFO_MAPSIZE	= 0x4,
        BEHAVIOR_LAYOUT_INFO_Max	= 2147483647L
    } 	BEHAVIOR_LAYOUT_INFO;

typedef 
enum _BEHAVIOR_LAYOUT_MODE
    {
        BEHAVIORLAYOUTMODE_NATURAL	= 0x1,
        BEHAVIORLAYOUTMODE_MINWIDTH	= 0x2,
        BEHAVIORLAYOUTMODE_MAXWIDTH	= 0x4,
        BEHAVIORLAYOUTMODE_MEDIA_RESOLUTION	= 0x4000,
        BEHAVIORLAYOUTMODE_FINAL_PERCENT	= 0x8000,
        BEHAVIOR_LAYOUT_MODE_Max	= 2147483647L
    } 	BEHAVIOR_LAYOUT_MODE;

typedef 
enum _ELEMENTDESCRIPTOR_FLAGS
    {
        ELEMENTDESCRIPTORFLAGS_LITERAL	= 1,
        ELEMENTDESCRIPTORFLAGS_NESTED_LITERAL	= 2,
        ELEMENTDESCRIPTOR_FLAGS_Max	= 2147483647L
    } 	ELEMENTDESCRIPTOR_FLAGS;

typedef 
enum _ELEMENTNAMESPACE_FLAGS
    {
        ELEMENTNAMESPACEFLAGS_ALLOWANYTAG	= 0x1,
        ELEMENTNAMESPACEFLAGS_QUERYFORUNKNOWNTAGS	= 0x2,
        ELEMENTNAMESPACE_FLAGS_Max	= 2147483647L
    } 	ELEMENTNAMESPACE_FLAGS;




typedef 
enum _VIEW_OBJECT_ALPHA_MODE
    {
        VIEW_OBJECT_ALPHA_MODE_IGNORE	= 0,
        VIEW_OBJECT_ALPHA_MODE_PREMULTIPLIED	= 1,
        VIEW_OBJECT_ALPHA_MODE_Max	= 2147483647L
    } 	VIEW_OBJECT_ALPHA_MODE;

typedef 
enum _VIEW_OBJECT_COMPOSITION_MODE
    {
        VIEW_OBJECT_COMPOSITION_MODE_LEGACY	= 0,
        VIEW_OBJECT_COMPOSITION_MODE_SURFACEPRESENTER	= 1,
        VIEW_OBJECT_COMPOSITION_MODE_Max	= 2147483647L
    } 	VIEW_OBJECT_COMPOSITION_MODE;



EXTERN_C const IID LIBID_MSHTML;

#ifndef __IHTMLEventObj_INTERFACE_DEFINED__
#define __IHTMLEventObj_INTERFACE_DEFINED__

/* interface IHTMLEventObj */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLEventObj;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f32d-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLEventObj : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_srcElement( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_altKey( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ctrlKey( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_shiftKey( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_returnValue( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_returnValue( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_cancelBubble( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cancelBubble( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_fromElement( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_toElement( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_keyCode( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_keyCode( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_button( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_qualifier( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_reason( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_clientX( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_clientY( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_offsetX( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_offsetY( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_screenX( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_screenY( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_srcFilter( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLEventObjVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLEventObj * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLEventObj * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLEventObj * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLEventObj * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLEventObj * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLEventObj * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLEventObj * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_srcElement )( 
            __RPC__in IHTMLEventObj * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_altKey )( 
            __RPC__in IHTMLEventObj * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ctrlKey )( 
            __RPC__in IHTMLEventObj * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_shiftKey )( 
            __RPC__in IHTMLEventObj * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_returnValue )( 
            __RPC__in IHTMLEventObj * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_returnValue )( 
            __RPC__in IHTMLEventObj * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_cancelBubble )( 
            __RPC__in IHTMLEventObj * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cancelBubble )( 
            __RPC__in IHTMLEventObj * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fromElement )( 
            __RPC__in IHTMLEventObj * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_toElement )( 
            __RPC__in IHTMLEventObj * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_keyCode )( 
            __RPC__in IHTMLEventObj * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_keyCode )( 
            __RPC__in IHTMLEventObj * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_button )( 
            __RPC__in IHTMLEventObj * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLEventObj * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_qualifier )( 
            __RPC__in IHTMLEventObj * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_reason )( 
            __RPC__in IHTMLEventObj * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in IHTMLEventObj * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in IHTMLEventObj * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clientX )( 
            __RPC__in IHTMLEventObj * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clientY )( 
            __RPC__in IHTMLEventObj * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetX )( 
            __RPC__in IHTMLEventObj * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetY )( 
            __RPC__in IHTMLEventObj * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_screenX )( 
            __RPC__in IHTMLEventObj * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_screenY )( 
            __RPC__in IHTMLEventObj * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_srcFilter )( 
            __RPC__in IHTMLEventObj * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        END_INTERFACE
    } IHTMLEventObjVtbl;

    interface IHTMLEventObj
    {
        CONST_VTBL struct IHTMLEventObjVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLEventObj_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorSite_INTERFACE_DEFINED__
#define __IElementBehaviorSite_INTERFACE_DEFINED__

/* interface IElementBehaviorSite */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IElementBehaviorSite;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f427-98b5-11cf-bb82-00aa00bdce0b")
    IElementBehaviorSite : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetElement( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **ppElement) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RegisterNotification( 
            /* [in] */ LONG lEvent) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IElementBehaviorSiteVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IElementBehaviorSite * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IElementBehaviorSite * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IElementBehaviorSite * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetElement )( 
            __RPC__in IElementBehaviorSite * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **ppElement);
        
        HRESULT ( STDMETHODCALLTYPE *RegisterNotification )( 
            __RPC__in IElementBehaviorSite * This,
            /* [in] */ LONG lEvent);
        
        END_INTERFACE
    } IElementBehaviorSiteVtbl;

    interface IElementBehaviorSite
    {
        CONST_VTBL struct IElementBehaviorSiteVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#define IElementBehaviorSite_GetElement(This,ppElement)	\
    ( (This)->lpVtbl -> GetElement(This,ppElement) ) 

#define IElementBehaviorSite_RegisterNotification(This,lEvent)	\
    ( (This)->lpVtbl -> RegisterNotification(This,lEvent) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IElementBehaviorSite_INTERFACE_DEFINED__ */


#ifndef __IElementBehavior_INTERFACE_DEFINED__
#define __IElementBehavior_INTERFACE_DEFINED__

/* interface IElementBehavior */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IElementBehavior;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f425-98b5-11cf-bb82-00aa00bdce0b")
    IElementBehavior : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Init( 
            /* [in] */ __RPC__in_opt IElementBehaviorSite *pBehaviorSite) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Notify( 
            /* [in] */ LONG lEvent,
            /* [out][in] */ __RPC__inout VARIANT *pVar) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Detach( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IElementBehaviorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IElementBehavior * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IElementBehavior * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IElementBehavior * This);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            __RPC__in IElementBehavior * This,
            /* [in] */ __RPC__in_opt IElementBehaviorSite *pBehaviorSite);
        
        HRESULT ( STDMETHODCALLTYPE *Notify )( 
            __RPC__in IElementBehavior * This,
            /* [in] */ LONG lEvent,
            /* [out][in] */ __RPC__inout VARIANT *pVar);
        
        HRESULT ( STDMETHODCALLTYPE *Detach )( 
            __RPC__in IElementBehavior * This);
        
        END_INTERFACE
    } IElementBehaviorVtbl;

    interface IElementBehavior
    {
        CONST_VTBL struct IElementBehaviorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IElementBehavior_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorFactory_INTERFACE_DEFINED__
#define __IElementBehaviorFactory_INTERFACE_DEFINED__

/* interface IElementBehaviorFactory */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IElementBehaviorFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f429-98b5-11cf-bb82-00aa00bdce0b")
    IElementBehaviorFactory : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE FindBehavior( 
            /* [in] */ __RPC__in BSTR bstrBehavior,
            /* [in] */ __RPC__in BSTR bstrBehaviorUrl,
            /* [in] */ __RPC__in_opt IElementBehaviorSite *pSite,
            /* [out][retval] */ __RPC__deref_out_opt IElementBehavior **ppBehavior) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IElementBehaviorFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IElementBehaviorFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IElementBehaviorFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IElementBehaviorFactory * This);
        
        HRESULT ( STDMETHODCALLTYPE *FindBehavior )( 
            __RPC__in IElementBehaviorFactory * This,
            /* [in] */ __RPC__in BSTR bstrBehavior,
            /* [in] */ __RPC__in BSTR bstrBehaviorUrl,
            /* [in] */ __RPC__in_opt IElementBehaviorSite *pSite,
            /* [out][retval] */ __RPC__deref_out_opt IElementBehavior **ppBehavior);
        
        END_INTERFACE
    } IElementBehaviorFactoryVtbl;

    interface IElementBehaviorFactory
    {
        CONST_VTBL struct IElementBehaviorFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#define IElementBehaviorFactory_FindBehavior(This,bstrBehavior,bstrBehaviorUrl,pSite,ppBehavior)	\
    ( (This)->lpVtbl -> FindBehavior(This,bstrBehavior,bstrBehaviorUrl,pSite,ppBehavior) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IElementBehaviorFactory_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorSiteOM_INTERFACE_DEFINED__
#define __IElementBehaviorSiteOM_INTERFACE_DEFINED__

/* interface IElementBehaviorSiteOM */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IElementBehaviorSiteOM;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f489-98b5-11cf-bb82-00aa00bdce0b")
    IElementBehaviorSiteOM : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE RegisterEvent( 
            /* [in] */ __RPC__in LPOLESTR pchEvent,
            /* [in] */ LONG lFlags,
            /* [out][retval] */ __RPC__out LONG *plCookie) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetEventCookie( 
            /* [in] */ __RPC__in LPOLESTR pchEvent,
            /* [out][retval] */ __RPC__out LONG *plCookie) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FireEvent( 
            /* [in] */ LONG lCookie,
            /* [in] */ __RPC__in_opt IHTMLEventObj *pEventObject) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateEventObject( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLEventObj **ppEventObject) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RegisterName( 
            /* [in] */ __RPC__in LPOLESTR pchName) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RegisterUrn( 
            /* [in] */ __RPC__in LPOLESTR pchUrn) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IElementBehaviorSiteOMVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IElementBehaviorSiteOM * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IElementBehaviorSiteOM * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IElementBehaviorSiteOM * This);
        
        HRESULT ( STDMETHODCALLTYPE *RegisterEvent )( 
            __RPC__in IElementBehaviorSiteOM * This,
            /* [in] */ __RPC__in LPOLESTR pchEvent,
            /* [in] */ LONG lFlags,
            /* [out][retval] */ __RPC__out LONG *plCookie);
        
        HRESULT ( STDMETHODCALLTYPE *GetEventCookie )( 
            __RPC__in IElementBehaviorSiteOM * This,
            /* [in] */ __RPC__in LPOLESTR pchEvent,
            /* [out][retval] */ __RPC__out LONG *plCookie);
        
        HRESULT ( STDMETHODCALLTYPE *FireEvent )( 
            __RPC__in IElementBehaviorSiteOM * This,
            /* [in] */ LONG lCookie,
            /* [in] */ __RPC__in_opt IHTMLEventObj *pEventObject);
        
        HRESULT ( STDMETHODCALLTYPE *CreateEventObject )( 
            __RPC__in IElementBehaviorSiteOM * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLEventObj **ppEventObject);
        
        HRESULT ( STDMETHODCALLTYPE *RegisterName )( 
            __RPC__in IElementBehaviorSiteOM * This,
            /* [in] */ __RPC__in LPOLESTR pchName);
        
        HRESULT ( STDMETHODCALLTYPE *RegisterUrn )( 
            __RPC__in IElementBehaviorSiteOM * This,
            /* [in] */ __RPC__in LPOLESTR pchUrn);
        
        END_INTERFACE
    } IElementBehaviorSiteOMVtbl;

    interface IElementBehaviorSiteOM
    {
        CONST_VTBL struct IElementBehaviorSiteOMVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IElementBehaviorSiteOM_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IElementBehaviorSiteOM_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IElementBehaviorSiteOM_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IElementBehaviorSiteOM_RegisterEvent(This,pchEvent,lFlags,plCookie)	\
    ( (This)->lpVtbl -> RegisterEvent(This,pchEvent,lFlags,plCookie) ) 

#define IElementBehaviorSiteOM_GetEventCookie(This,pchEvent,plCookie)	\
    ( (This)->lpVtbl -> GetEventCookie(This,pchEvent,plCookie) ) 

#define IElementBehaviorSiteOM_FireEvent(This,lCookie,pEventObject)	\
    ( (This)->lpVtbl -> FireEvent(This,lCookie,pEventObject) ) 

#define IElementBehaviorSiteOM_CreateEventObject(This,ppEventObject)	\
    ( (This)->lpVtbl -> CreateEventObject(This,ppEventObject) ) 

#define IElementBehaviorSiteOM_RegisterName(This,pchName)	\
    ( (This)->lpVtbl -> RegisterName(This,pchName) ) 

#define IElementBehaviorSiteOM_RegisterUrn(This,pchUrn)	\
    ( (This)->lpVtbl -> RegisterUrn(This,pchUrn) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IElementBehaviorSiteOM_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorRender_INTERFACE_DEFINED__
#define __IElementBehaviorRender_INTERFACE_DEFINED__

/* interface IElementBehaviorRender */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IElementBehaviorRender;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4aa-98b5-11cf-bb82-00aa00bdce0b")
    IElementBehaviorRender : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Draw( 
            /* [in] */ __RPC__in HDC hdc,
            /* [in] */ LONG lLayer,
            /* [in] */ __RPC__in RECT *pRect,
            /* [in] */ __RPC__in_opt IUnknown *pReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetRenderInfo( 
            /* [out][retval] */ __RPC__out LONG *plRenderInfo) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE HitTestPoint( 
            /* [in] */ __RPC__in POINT *pPoint,
            /* [in] */ __RPC__in_opt IUnknown *pReserved,
            /* [out][retval] */ __RPC__out BOOL *pbHit) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IElementBehaviorRenderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IElementBehaviorRender * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IElementBehaviorRender * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IElementBehaviorRender * This);
        
        HRESULT ( STDMETHODCALLTYPE *Draw )( 
            __RPC__in IElementBehaviorRender * This,
            /* [in] */ __RPC__in HDC hdc,
            /* [in] */ LONG lLayer,
            /* [in] */ __RPC__in RECT *pRect,
            /* [in] */ __RPC__in_opt IUnknown *pReserved);
        
        HRESULT ( STDMETHODCALLTYPE *GetRenderInfo )( 
            __RPC__in IElementBehaviorRender * This,
            /* [out][retval] */ __RPC__out LONG *plRenderInfo);
        
        HRESULT ( STDMETHODCALLTYPE *HitTestPoint )( 
            __RPC__in IElementBehaviorRender * This,
            /* [in] */ __RPC__in POINT *pPoint,
            /* [in] */ __RPC__in_opt IUnknown *pReserved,
            /* [out][retval] */ __RPC__out BOOL *pbHit);
        
        END_INTERFACE
    } IElementBehaviorRenderVtbl;

    interface IElementBehaviorRender
    {
        CONST_VTBL struct IElementBehaviorRenderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IElementBehaviorRender_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IElementBehaviorRender_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IElementBehaviorRender_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IElementBehaviorRender_Draw(This,hdc,lLayer,pRect,pReserved)	\
    ( (This)->lpVtbl -> Draw(This,hdc,lLayer,pRect,pReserved) ) 

#define IElementBehaviorRender_GetRenderInfo(This,plRenderInfo)	\
    ( (This)->lpVtbl -> GetRenderInfo(This,plRenderInfo) ) 

#define IElementBehaviorRender_HitTestPoint(This,pPoint,pReserved,pbHit)	\
    ( (This)->lpVtbl -> HitTestPoint(This,pPoint,pReserved,pbHit) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IElementBehaviorRender_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorSiteRender_INTERFACE_DEFINED__
#define __IElementBehaviorSiteRender_INTERFACE_DEFINED__

/* interface IElementBehaviorSiteRender */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IElementBehaviorSiteRender;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4a7-98b5-11cf-bb82-00aa00bdce0b")
    IElementBehaviorSiteRender : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invalidate( 
            /* [in] */ __RPC__in RECT *pRect) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InvalidateRenderInfo( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InvalidateStyle( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IElementBehaviorSiteRenderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IElementBehaviorSiteRender * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IElementBehaviorSiteRender * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IElementBehaviorSiteRender * This);
        
        HRESULT ( STDMETHODCALLTYPE *Invalidate )( 
            __RPC__in IElementBehaviorSiteRender * This,
            /* [in] */ __RPC__in RECT *pRect);
        
        HRESULT ( STDMETHODCALLTYPE *InvalidateRenderInfo )( 
            __RPC__in IElementBehaviorSiteRender * This);
        
        HRESULT ( STDMETHODCALLTYPE *InvalidateStyle )( 
            __RPC__in IElementBehaviorSiteRender * This);
        
        END_INTERFACE
    } IElementBehaviorSiteRenderVtbl;

    interface IElementBehaviorSiteRender
    {
        CONST_VTBL struct IElementBehaviorSiteRenderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IElementBehaviorSiteRender_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IElementBehaviorSiteRender_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IElementBehaviorSiteRender_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IElementBehaviorSiteRender_Invalidate(This,pRect)	\
    ( (This)->lpVtbl -> Invalidate(This,pRect) ) 

#define IElementBehaviorSiteRender_InvalidateRenderInfo(This)	\
    ( (This)->lpVtbl -> InvalidateRenderInfo(This) ) 

#define IElementBehaviorSiteRender_InvalidateStyle(This)	\
    ( (This)->lpVtbl -> InvalidateStyle(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IElementBehaviorSiteRender_INTERFACE_DEFINED__ */


#ifndef __IDOMEvent_INTERFACE_DEFINED__
#define __IDOMEvent_INTERFACE_DEFINED__

/* interface IDOMEvent */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104ba-98b5-11cf-bb82-00aa00bdce0b")
    IDOMEvent : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_bubbles( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cancelable( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_currentTarget( 
            /* [out][retval] */ __RPC__deref_out_opt IEventTarget **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_defaultPrevented( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_eventPhase( 
            /* [out][retval] */ __RPC__out USHORT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_target( 
            /* [out][retval] */ __RPC__deref_out_opt IEventTarget **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_timeStamp( 
            /* [out][retval] */ __RPC__out ULONGLONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE initEvent( 
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE preventDefault( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE stopPropagation( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE stopImmediatePropagation( void) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_isTrusted( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_cancelBubble( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cancelBubble( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_srcElement( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bubbles )( 
            __RPC__in IDOMEvent * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cancelable )( 
            __RPC__in IDOMEvent * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentTarget )( 
            __RPC__in IDOMEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt IEventTarget **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_defaultPrevented )( 
            __RPC__in IDOMEvent * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_eventPhase )( 
            __RPC__in IDOMEvent * This,
            /* [out][retval] */ __RPC__out USHORT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_target )( 
            __RPC__in IDOMEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt IEventTarget **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_timeStamp )( 
            __RPC__in IDOMEvent * This,
            /* [out][retval] */ __RPC__out ULONGLONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IDOMEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *initEvent )( 
            __RPC__in IDOMEvent * This,
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *preventDefault )( 
            __RPC__in IDOMEvent * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *stopPropagation )( 
            __RPC__in IDOMEvent * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *stopImmediatePropagation )( 
            __RPC__in IDOMEvent * This);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isTrusted )( 
            __RPC__in IDOMEvent * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_cancelBubble )( 
            __RPC__in IDOMEvent * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cancelBubble )( 
            __RPC__in IDOMEvent * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_srcElement )( 
            __RPC__in IDOMEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p);
        
        END_INTERFACE
    } IDOMEventVtbl;

    interface IDOMEvent
    {
        CONST_VTBL struct IDOMEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMEvent_INTERFACE_DEFINED__ */


#ifndef __IHTMLDOMConstructor_INTERFACE_DEFINED__
#define __IHTMLDOMConstructor_INTERFACE_DEFINED__

/* interface IHTMLDOMConstructor */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDOMConstructor;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051049b-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDOMConstructor : public IDispatch
    {
    public:
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_constructor( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LookupGetter( 
            /* [in] */ __RPC__in BSTR propname,
            /* [out][retval] */ __RPC__out VARIANT *ppDispHandler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LookupSetter( 
            /* [in] */ __RPC__in BSTR propname,
            /* [out][retval] */ __RPC__out VARIANT *ppDispHandler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DefineGetter( 
            /* [in] */ __RPC__in BSTR propname,
            /* [in] */ __RPC__in VARIANT *pdispHandler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DefineSetter( 
            /* [in] */ __RPC__in BSTR propname,
            /* [in] */ __RPC__in VARIANT *pdispHandler) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDOMConstructorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDOMConstructor * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDOMConstructor * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDOMConstructor * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDOMConstructor * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDOMConstructor * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDOMConstructor * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDOMConstructor * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constructor )( 
            __RPC__in IHTMLDOMConstructor * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        HRESULT ( STDMETHODCALLTYPE *LookupGetter )( 
            __RPC__in IHTMLDOMConstructor * This,
            /* [in] */ __RPC__in BSTR propname,
            /* [out][retval] */ __RPC__out VARIANT *ppDispHandler);
        
        HRESULT ( STDMETHODCALLTYPE *LookupSetter )( 
            __RPC__in IHTMLDOMConstructor * This,
            /* [in] */ __RPC__in BSTR propname,
            /* [out][retval] */ __RPC__out VARIANT *ppDispHandler);
        
        HRESULT ( STDMETHODCALLTYPE *DefineGetter )( 
            __RPC__in IHTMLDOMConstructor * This,
            /* [in] */ __RPC__in BSTR propname,
            /* [in] */ __RPC__in VARIANT *pdispHandler);
        
        HRESULT ( STDMETHODCALLTYPE *DefineSetter )( 
            __RPC__in IHTMLDOMConstructor * This,
            /* [in] */ __RPC__in BSTR propname,
            /* [in] */ __RPC__in VARIANT *pdispHandler);
        
        END_INTERFACE
    } IHTMLDOMConstructorVtbl;

    interface IHTMLDOMConstructor
    {
        CONST_VTBL struct IHTMLDOMConstructorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDOMConstructor_INTERFACE_DEFINED__ */


#ifndef __IHTMLStyleSheetRule_INTERFACE_DEFINED__
#define __IHTMLStyleSheetRule_INTERFACE_DEFINED__

/* interface IHTMLStyleSheetRule */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyleSheetRule;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f357-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyleSheetRule : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_selectorText( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_selectorText( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_style( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLRuleStyle **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_readOnly( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyleSheetRuleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyleSheetRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyleSheetRule * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyleSheetRule * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyleSheetRule * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyleSheetRule * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyleSheetRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyleSheetRule * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_selectorText )( 
            __RPC__in IHTMLStyleSheetRule * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectorText )( 
            __RPC__in IHTMLStyleSheetRule * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_style )( 
            __RPC__in IHTMLStyleSheetRule * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLRuleStyle **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_readOnly )( 
            __RPC__in IHTMLStyleSheetRule * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        END_INTERFACE
    } IHTMLStyleSheetRuleVtbl;

    interface IHTMLStyleSheetRule
    {
        CONST_VTBL struct IHTMLStyleSheetRuleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyleSheetRule_INTERFACE_DEFINED__ */


#ifndef __IHTMLCSSStyleDeclaration_INTERFACE_DEFINED__
#define __IHTMLCSSStyleDeclaration_INTERFACE_DEFINED__

/* interface IHTMLCSSStyleDeclaration */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLCSSStyleDeclaration;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510740-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLCSSStyleDeclaration : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_parentRule( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getPropertyValue( 
            /* [in] */ __RPC__in BSTR bstrPropertyName,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrPropertyValue) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getPropertyPriority( 
            /* [in] */ __RPC__in BSTR bstrPropertyName,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrPropertyPriority) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeProperty( 
            /* [in] */ __RPC__in BSTR bstrPropertyName,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrPropertyValue) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setProperty( 
            /* [in] */ __RPC__in BSTR bstrPropertyName,
            /* [in] */ __RPC__in VARIANT *pvarPropertyValue,
            /* [in][defaultvalue] */ __RPC__in VARIANT *pvarPropertyPriority = 0) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrPropertyName) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_fontFamily( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fontFamily( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_fontStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fontStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_fontVariant( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fontVariant( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_fontWeight( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fontWeight( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_fontSize( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fontSize( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_font( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_font( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_color( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_color( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_background( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_background( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_backgroundColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_backgroundImage( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundImage( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_backgroundRepeat( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundRepeat( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_backgroundAttachment( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundAttachment( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_backgroundPosition( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundPosition( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_backgroundPositionX( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundPositionX( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_backgroundPositionY( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundPositionY( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_wordSpacing( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_wordSpacing( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_letterSpacing( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_letterSpacing( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textDecoration( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textDecoration( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_verticalAlign( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_verticalAlign( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textTransform( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textTransform( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textAlign( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textAlign( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textIndent( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textIndent( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_lineHeight( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_lineHeight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_marginTop( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_marginTop( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_marginRight( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_marginRight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_marginBottom( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_marginBottom( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_marginLeft( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_marginLeft( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_margin( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_margin( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_paddingTop( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_paddingTop( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_paddingRight( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_paddingRight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_paddingBottom( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_paddingBottom( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_paddingLeft( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_paddingLeft( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_padding( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_padding( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_border( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_border( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderTop( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderTop( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderRight( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderRight( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderBottom( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderBottom( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderLeft( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderLeft( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderColor( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderColor( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderTopColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderTopColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderRightColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderRightColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderBottomColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderBottomColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderLeftColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderLeftColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderWidth( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderWidth( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderTopWidth( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderTopWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderRightWidth( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderRightWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderBottomWidth( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderBottomWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderLeftWidth( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderLeftWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderTopStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderTopStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderRightStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderRightStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderBottomStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderBottomStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderLeftStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderLeftStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_width( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_height( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_styleFloat( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_styleFloat( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_clear( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clear( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_display( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_display( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_visibility( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_visibility( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_listStyleType( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_listStyleType( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_listStylePosition( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_listStylePosition( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_listStyleImage( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_listStyleImage( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_listStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_listStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_whiteSpace( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_whiteSpace( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_top( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_top( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_left( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_left( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_zIndex( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_zIndex( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_overflow( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_overflow( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_pageBreakBefore( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_pageBreakBefore( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_pageBreakAfter( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_pageBreakAfter( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_cssText( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_cssText( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_cursor( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_cursor( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_clip( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clip( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_filter( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_filter( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_tableLayout( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_tableLayout( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderCollapse( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderCollapse( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_direction( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_direction( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_behavior( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_behavior( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_position( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_position( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_unicodeBidi( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_unicodeBidi( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_bottom( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_bottom( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_right( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_right( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_imeMode( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_imeMode( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_rubyAlign( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_rubyAlign( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_rubyPosition( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_rubyPosition( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_rubyOverhang( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_rubyOverhang( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_layoutGridChar( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_layoutGridChar( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_layoutGridLine( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_layoutGridLine( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_layoutGridMode( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_layoutGridMode( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_layoutGridType( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_layoutGridType( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_layoutGrid( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_layoutGrid( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textAutospace( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textAutospace( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_wordBreak( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_wordBreak( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_lineBreak( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_lineBreak( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textJustify( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textJustify( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textJustifyTrim( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textJustifyTrim( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textKashida( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textKashida( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_overflowX( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_overflowX( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_overflowY( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_overflowY( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_accelerator( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_accelerator( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_layoutFlow( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_layoutFlow( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_zoom( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_zoom( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_wordWrap( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_wordWrap( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textUnderlinePosition( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textUnderlinePosition( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollbarBaseColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarBaseColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollbarFaceColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarFaceColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollbar3dLightColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbar3dLightColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollbarShadowColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarShadowColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollbarHighlightColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarHighlightColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollbarDarkShadowColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarDarkShadowColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollbarArrowColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarArrowColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollbarTrackColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarTrackColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_writingMode( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_writingMode( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textAlignLast( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textAlignLast( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textKashidaSpace( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textKashidaSpace( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textOverflow( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textOverflow( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_minHeight( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_minHeight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msInterpolationMode( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msInterpolationMode( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_maxHeight( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_maxHeight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_minWidth( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_minWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_maxWidth( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_maxWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_content( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_content( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_captionSide( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_captionSide( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_counterIncrement( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_counterIncrement( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_counterReset( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_counterReset( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_outline( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_outline( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_outlineWidth( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_outlineWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_outlineStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_outlineStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_outlineColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_outlineColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_boxSizing( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_boxSizing( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderSpacing( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderSpacing( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_orphans( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_orphans( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_widows( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_widows( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_pageBreakInside( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_pageBreakInside( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_emptyCells( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_emptyCells( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msBlockProgression( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msBlockProgression( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_quotes( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_quotes( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_alignmentBaseline( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_alignmentBaseline( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_baselineShift( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_baselineShift( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_dominantBaseline( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_dominantBaseline( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_fontSizeAdjust( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fontSizeAdjust( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_fontStretch( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fontStretch( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_opacity( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_opacity( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_clipPath( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clipPath( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_clipRule( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clipRule( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_fill( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fill( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_fillOpacity( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fillOpacity( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_fillRule( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fillRule( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_kerning( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_kerning( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_marker( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_marker( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_markerEnd( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_markerEnd( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_markerMid( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_markerMid( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_markerStart( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_markerStart( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_mask( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_mask( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_pointerEvents( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_pointerEvents( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_stopColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_stopColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_stopOpacity( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_stopOpacity( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_stroke( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_stroke( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_strokeDasharray( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_strokeDasharray( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_strokeDashoffset( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_strokeDashoffset( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_strokeLinecap( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_strokeLinecap( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_strokeLinejoin( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_strokeLinejoin( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_strokeMiterlimit( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_strokeMiterlimit( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_strokeOpacity( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_strokeOpacity( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_strokeWidth( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_strokeWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textAnchor( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textAnchor( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_glyphOrientationHorizontal( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_glyphOrientationHorizontal( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_glyphOrientationVertical( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_glyphOrientationVertical( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderRadius( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderRadius( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderTopLeftRadius( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderTopLeftRadius( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderTopRightRadius( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderTopRightRadius( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderBottomRightRadius( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderBottomRightRadius( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderBottomLeftRadius( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderBottomLeftRadius( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_clipTop( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clipTop( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_clipRight( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clipRight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clipBottom( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_clipLeft( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clipLeft( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_cssFloat( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_cssFloat( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_backgroundClip( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundClip( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_backgroundOrigin( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundOrigin( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_backgroundSize( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundSize( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_boxShadow( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_boxShadow( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msTransform( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msTransform( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msTransformOrigin( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msTransformOrigin( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLCSSStyleDeclarationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLCSSStyleDeclaration * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLCSSStyleDeclaration * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLCSSStyleDeclaration * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_parentRule )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getPropertyValue )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR bstrPropertyName,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrPropertyValue);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getPropertyPriority )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR bstrPropertyName,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrPropertyPriority);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeProperty )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR bstrPropertyName,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrPropertyValue);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setProperty )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR bstrPropertyName,
            /* [in] */ __RPC__in VARIANT *pvarPropertyValue,
            /* [in][defaultvalue] */ __RPC__in VARIANT *pvarPropertyPriority);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrPropertyName);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_fontFamily )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontFamily )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_fontStyle )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontStyle )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_fontVariant )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontVariant )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_fontWeight )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontWeight )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_fontSize )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontSize )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_font )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_font )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_color )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_color )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_background )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_background )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_backgroundColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_backgroundImage )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundImage )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_backgroundRepeat )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundRepeat )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_backgroundAttachment )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundAttachment )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_backgroundPosition )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundPosition )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_backgroundPositionX )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundPositionX )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_backgroundPositionY )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundPositionY )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_wordSpacing )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_wordSpacing )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_letterSpacing )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_letterSpacing )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textDecoration )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textDecoration )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_verticalAlign )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_verticalAlign )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textTransform )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textTransform )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textAlign )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAlign )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textIndent )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textIndent )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_lineHeight )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lineHeight )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marginTop )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginTop )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marginRight )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginRight )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marginBottom )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginBottom )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marginLeft )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginLeft )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_margin )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_margin )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_paddingTop )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_paddingTop )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_paddingRight )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_paddingRight )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_paddingBottom )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_paddingBottom )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_paddingLeft )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_paddingLeft )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_padding )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_padding )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_border )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_border )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderTop )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderTop )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderRight )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderRight )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderBottom )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderBottom )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderLeft )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderLeft )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderTopColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderTopColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderRightColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderRightColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderBottomColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderBottomColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderLeftColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderLeftColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderWidth )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderWidth )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderTopWidth )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderTopWidth )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderRightWidth )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderRightWidth )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderBottomWidth )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderBottomWidth )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderLeftWidth )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderLeftWidth )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderStyle )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderStyle )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderTopStyle )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderTopStyle )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderRightStyle )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderRightStyle )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderBottomStyle )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderBottomStyle )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderLeftStyle )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderLeftStyle )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_width )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_height )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_styleFloat )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_styleFloat )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_clear )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clear )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_display )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_display )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_visibility )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_visibility )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_listStyleType )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_listStyleType )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_listStylePosition )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_listStylePosition )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_listStyleImage )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_listStyleImage )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_listStyle )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_listStyle )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_whiteSpace )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_whiteSpace )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_top )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_top )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_left )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_left )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_zIndex )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_zIndex )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_overflow )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_overflow )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pageBreakBefore )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageBreakBefore )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pageBreakAfter )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageBreakAfter )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_cssText )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cssText )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_cursor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cursor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_clip )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clip )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_filter )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_filter )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_tableLayout )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_tableLayout )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderCollapse )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderCollapse )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_direction )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_direction )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_behavior )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_behavior )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_position )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_position )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_unicodeBidi )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unicodeBidi )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_bottom )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bottom )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_right )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_right )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_imeMode )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_imeMode )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_rubyAlign )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rubyAlign )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_rubyPosition )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rubyPosition )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_rubyOverhang )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rubyOverhang )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_layoutGridChar )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layoutGridChar )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_layoutGridLine )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layoutGridLine )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_layoutGridMode )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layoutGridMode )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_layoutGridType )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layoutGridType )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_layoutGrid )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layoutGrid )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textAutospace )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAutospace )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_wordBreak )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_wordBreak )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_lineBreak )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lineBreak )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textJustify )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textJustify )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textJustifyTrim )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textJustifyTrim )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textKashida )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textKashida )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_overflowX )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_overflowX )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_overflowY )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_overflowY )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_accelerator )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_accelerator )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_layoutFlow )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layoutFlow )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_zoom )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_zoom )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_wordWrap )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_wordWrap )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textUnderlinePosition )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textUnderlinePosition )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollbarBaseColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarBaseColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollbarFaceColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarFaceColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollbar3dLightColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbar3dLightColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollbarShadowColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarShadowColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollbarHighlightColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarHighlightColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollbarDarkShadowColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarDarkShadowColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollbarArrowColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarArrowColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollbarTrackColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarTrackColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_writingMode )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_writingMode )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textAlignLast )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAlignLast )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textKashidaSpace )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textKashidaSpace )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textOverflow )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textOverflow )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_minHeight )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_minHeight )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msInterpolationMode )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msInterpolationMode )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_maxHeight )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_maxHeight )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_minWidth )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_minWidth )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_maxWidth )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_maxWidth )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_content )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_content )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_captionSide )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_captionSide )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_counterIncrement )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_counterIncrement )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_counterReset )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_counterReset )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_outline )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_outline )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_outlineWidth )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_outlineWidth )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_outlineStyle )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_outlineStyle )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_outlineColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_outlineColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_boxSizing )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_boxSizing )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderSpacing )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderSpacing )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_orphans )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_orphans )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_widows )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_widows )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pageBreakInside )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageBreakInside )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_emptyCells )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_emptyCells )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msBlockProgression )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msBlockProgression )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_quotes )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_quotes )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_alignmentBaseline )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_alignmentBaseline )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_baselineShift )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baselineShift )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_dominantBaseline )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dominantBaseline )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_fontSizeAdjust )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontSizeAdjust )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_fontStretch )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontStretch )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_opacity )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_opacity )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_clipPath )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clipPath )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_clipRule )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clipRule )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_fill )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fill )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_fillOpacity )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fillOpacity )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_fillRule )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fillRule )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_kerning )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_kerning )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marker )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marker )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_markerEnd )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_markerEnd )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_markerMid )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_markerMid )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_markerStart )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_markerStart )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_mask )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_mask )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pointerEvents )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pointerEvents )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_stopColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_stopColor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_stopOpacity )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_stopOpacity )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_stroke )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_stroke )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_strokeDasharray )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_strokeDasharray )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_strokeDashoffset )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_strokeDashoffset )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_strokeLinecap )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_strokeLinecap )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_strokeLinejoin )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_strokeLinejoin )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_strokeMiterlimit )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_strokeMiterlimit )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_strokeOpacity )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_strokeOpacity )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_strokeWidth )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_strokeWidth )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textAnchor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAnchor )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_glyphOrientationHorizontal )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_glyphOrientationHorizontal )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_glyphOrientationVertical )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_glyphOrientationVertical )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderRadius )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderRadius )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderTopLeftRadius )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderTopLeftRadius )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderTopRightRadius )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderTopRightRadius )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderBottomRightRadius )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderBottomRightRadius )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderBottomLeftRadius )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderBottomLeftRadius )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_clipTop )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clipTop )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_clipRight )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clipRight )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clipBottom )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_clipLeft )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clipLeft )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_cssFloat )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cssFloat )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_backgroundClip )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundClip )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_backgroundOrigin )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundOrigin )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_backgroundSize )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundSize )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_boxShadow )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_boxShadow )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msTransform )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msTransform )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msTransformOrigin )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msTransformOrigin )( 
            __RPC__in IHTMLCSSStyleDeclaration * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLCSSStyleDeclarationVtbl;

    interface IHTMLCSSStyleDeclaration
    {
        CONST_VTBL struct IHTMLCSSStyleDeclarationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLCSSStyleDeclaration_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLCSSStyleDeclaration_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLCSSStyleDeclaration_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLCSSStyleDeclaration_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLCSSStyleDeclaration_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLCSSStyleDeclaration_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLCSSStyleDeclaration_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLCSSStyleDeclaration_get_length(This,p)	\
    ( (This)->lpVtbl -> get_length(This,p) ) 

#define IHTMLCSSStyleDeclaration_get_parentRule(This,p)	\
    ( (This)->lpVtbl -> get_parentRule(This,p) ) 

#define IHTMLCSSStyleDeclaration_getPropertyValue(This,bstrPropertyName,pbstrPropertyValue)	\
    ( (This)->lpVtbl -> getPropertyValue(This,bstrPropertyName,pbstrPropertyValue) ) 

#define IHTMLCSSStyleDeclaration_getPropertyPriority(This,bstrPropertyName,pbstrPropertyPriority)	\
    ( (This)->lpVtbl -> getPropertyPriority(This,bstrPropertyName,pbstrPropertyPriority) ) 

#define IHTMLCSSStyleDeclaration_removeProperty(This,bstrPropertyName,pbstrPropertyValue)	\
    ( (This)->lpVtbl -> removeProperty(This,bstrPropertyName,pbstrPropertyValue) ) 

#define IHTMLCSSStyleDeclaration_setProperty(This,bstrPropertyName,pvarPropertyValue,pvarPropertyPriority)	\
    ( (This)->lpVtbl -> setProperty(This,bstrPropertyName,pvarPropertyValue,pvarPropertyPriority) ) 

#define IHTMLCSSStyleDeclaration_item(This,index,pbstrPropertyName)	\
    ( (This)->lpVtbl -> item(This,index,pbstrPropertyName) ) 

#define IHTMLCSSStyleDeclaration_put_fontFamily(This,v)	\
    ( (This)->lpVtbl -> put_fontFamily(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_fontFamily(This,p)	\
    ( (This)->lpVtbl -> get_fontFamily(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_fontStyle(This,v)	\
    ( (This)->lpVtbl -> put_fontStyle(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_fontStyle(This,p)	\
    ( (This)->lpVtbl -> get_fontStyle(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_fontVariant(This,v)	\
    ( (This)->lpVtbl -> put_fontVariant(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_fontVariant(This,p)	\
    ( (This)->lpVtbl -> get_fontVariant(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_fontWeight(This,v)	\
    ( (This)->lpVtbl -> put_fontWeight(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_fontWeight(This,p)	\
    ( (This)->lpVtbl -> get_fontWeight(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_fontSize(This,v)	\
    ( (This)->lpVtbl -> put_fontSize(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_fontSize(This,p)	\
    ( (This)->lpVtbl -> get_fontSize(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_font(This,v)	\
    ( (This)->lpVtbl -> put_font(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_font(This,p)	\
    ( (This)->lpVtbl -> get_font(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_color(This,v)	\
    ( (This)->lpVtbl -> put_color(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_color(This,p)	\
    ( (This)->lpVtbl -> get_color(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_background(This,v)	\
    ( (This)->lpVtbl -> put_background(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_background(This,p)	\
    ( (This)->lpVtbl -> get_background(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_backgroundColor(This,v)	\
    ( (This)->lpVtbl -> put_backgroundColor(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_backgroundColor(This,p)	\
    ( (This)->lpVtbl -> get_backgroundColor(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_backgroundImage(This,v)	\
    ( (This)->lpVtbl -> put_backgroundImage(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_backgroundImage(This,p)	\
    ( (This)->lpVtbl -> get_backgroundImage(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_backgroundRepeat(This,v)	\
    ( (This)->lpVtbl -> put_backgroundRepeat(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_backgroundRepeat(This,p)	\
    ( (This)->lpVtbl -> get_backgroundRepeat(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_backgroundAttachment(This,v)	\
    ( (This)->lpVtbl -> put_backgroundAttachment(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_backgroundAttachment(This,p)	\
    ( (This)->lpVtbl -> get_backgroundAttachment(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_backgroundPosition(This,v)	\
    ( (This)->lpVtbl -> put_backgroundPosition(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_backgroundPosition(This,p)	\
    ( (This)->lpVtbl -> get_backgroundPosition(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_backgroundPositionX(This,v)	\
    ( (This)->lpVtbl -> put_backgroundPositionX(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_backgroundPositionX(This,p)	\
    ( (This)->lpVtbl -> get_backgroundPositionX(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_backgroundPositionY(This,v)	\
    ( (This)->lpVtbl -> put_backgroundPositionY(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_backgroundPositionY(This,p)	\
    ( (This)->lpVtbl -> get_backgroundPositionY(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_wordSpacing(This,v)	\
    ( (This)->lpVtbl -> put_wordSpacing(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_wordSpacing(This,p)	\
    ( (This)->lpVtbl -> get_wordSpacing(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_letterSpacing(This,v)	\
    ( (This)->lpVtbl -> put_letterSpacing(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_letterSpacing(This,p)	\
    ( (This)->lpVtbl -> get_letterSpacing(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_textDecoration(This,v)	\
    ( (This)->lpVtbl -> put_textDecoration(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_textDecoration(This,p)	\
    ( (This)->lpVtbl -> get_textDecoration(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_verticalAlign(This,v)	\
    ( (This)->lpVtbl -> put_verticalAlign(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_verticalAlign(This,p)	\
    ( (This)->lpVtbl -> get_verticalAlign(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_textTransform(This,v)	\
    ( (This)->lpVtbl -> put_textTransform(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_textTransform(This,p)	\
    ( (This)->lpVtbl -> get_textTransform(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_textAlign(This,v)	\
    ( (This)->lpVtbl -> put_textAlign(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_textAlign(This,p)	\
    ( (This)->lpVtbl -> get_textAlign(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_textIndent(This,v)	\
    ( (This)->lpVtbl -> put_textIndent(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_textIndent(This,p)	\
    ( (This)->lpVtbl -> get_textIndent(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_lineHeight(This,v)	\
    ( (This)->lpVtbl -> put_lineHeight(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_lineHeight(This,p)	\
    ( (This)->lpVtbl -> get_lineHeight(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_marginTop(This,v)	\
    ( (This)->lpVtbl -> put_marginTop(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_marginTop(This,p)	\
    ( (This)->lpVtbl -> get_marginTop(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_marginRight(This,v)	\
    ( (This)->lpVtbl -> put_marginRight(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_marginRight(This,p)	\
    ( (This)->lpVtbl -> get_marginRight(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_marginBottom(This,v)	\
    ( (This)->lpVtbl -> put_marginBottom(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_marginBottom(This,p)	\
    ( (This)->lpVtbl -> get_marginBottom(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_marginLeft(This,v)	\
    ( (This)->lpVtbl -> put_marginLeft(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_marginLeft(This,p)	\
    ( (This)->lpVtbl -> get_marginLeft(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_margin(This,v)	\
    ( (This)->lpVtbl -> put_margin(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_margin(This,p)	\
    ( (This)->lpVtbl -> get_margin(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_paddingTop(This,v)	\
    ( (This)->lpVtbl -> put_paddingTop(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_paddingTop(This,p)	\
    ( (This)->lpVtbl -> get_paddingTop(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_paddingRight(This,v)	\
    ( (This)->lpVtbl -> put_paddingRight(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_paddingRight(This,p)	\
    ( (This)->lpVtbl -> get_paddingRight(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_paddingBottom(This,v)	\
    ( (This)->lpVtbl -> put_paddingBottom(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_paddingBottom(This,p)	\
    ( (This)->lpVtbl -> get_paddingBottom(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_paddingLeft(This,v)	\
    ( (This)->lpVtbl -> put_paddingLeft(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_paddingLeft(This,p)	\
    ( (This)->lpVtbl -> get_paddingLeft(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_padding(This,v)	\
    ( (This)->lpVtbl -> put_padding(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_padding(This,p)	\
    ( (This)->lpVtbl -> get_padding(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_border(This,v)	\
    ( (This)->lpVtbl -> put_border(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_border(This,p)	\
    ( (This)->lpVtbl -> get_border(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_borderTop(This,v)	\
    ( (This)->lpVtbl -> put_borderTop(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_borderTop(This,p)	\
    ( (This)->lpVtbl -> get_borderTop(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_borderRight(This,v)	\
    ( (This)->lpVtbl -> put_borderRight(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_borderRight(This,p)	\
    ( (This)->lpVtbl -> get_borderRight(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_borderBottom(This,v)	\
    ( (This)->lpVtbl -> put_borderBottom(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_borderBottom(This,p)	\
    ( (This)->lpVtbl -> get_borderBottom(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_borderLeft(This,v)	\
    ( (This)->lpVtbl -> put_borderLeft(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_borderLeft(This,p)	\
    ( (This)->lpVtbl -> get_borderLeft(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_borderColor(This,v)	\
    ( (This)->lpVtbl -> put_borderColor(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_borderColor(This,p)	\
    ( (This)->lpVtbl -> get_borderColor(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_borderTopColor(This,v)	\
    ( (This)->lpVtbl -> put_borderTopColor(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_borderTopColor(This,p)	\
    ( (This)->lpVtbl -> get_borderTopColor(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_borderRightColor(This,v)	\
    ( (This)->lpVtbl -> put_borderRightColor(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_borderRightColor(This,p)	\
    ( (This)->lpVtbl -> get_borderRightColor(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_borderBottomColor(This,v)	\
    ( (This)->lpVtbl -> put_borderBottomColor(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_borderBottomColor(This,p)	\
    ( (This)->lpVtbl -> get_borderBottomColor(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_borderLeftColor(This,v)	\
    ( (This)->lpVtbl -> put_borderLeftColor(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_borderLeftColor(This,p)	\
    ( (This)->lpVtbl -> get_borderLeftColor(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_borderWidth(This,v)	\
    ( (This)->lpVtbl -> put_borderWidth(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_borderWidth(This,p)	\
    ( (This)->lpVtbl -> get_borderWidth(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_borderTopWidth(This,v)	\
    ( (This)->lpVtbl -> put_borderTopWidth(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_borderTopWidth(This,p)	\
    ( (This)->lpVtbl -> get_borderTopWidth(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_borderRightWidth(This,v)	\
    ( (This)->lpVtbl -> put_borderRightWidth(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_borderRightWidth(This,p)	\
    ( (This)->lpVtbl -> get_borderRightWidth(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_borderBottomWidth(This,v)	\
    ( (This)->lpVtbl -> put_borderBottomWidth(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_borderBottomWidth(This,p)	\
    ( (This)->lpVtbl -> get_borderBottomWidth(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_borderLeftWidth(This,v)	\
    ( (This)->lpVtbl -> put_borderLeftWidth(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_borderLeftWidth(This,p)	\
    ( (This)->lpVtbl -> get_borderLeftWidth(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_borderStyle(This,v)	\
    ( (This)->lpVtbl -> put_borderStyle(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_borderStyle(This,p)	\
    ( (This)->lpVtbl -> get_borderStyle(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_borderTopStyle(This,v)	\
    ( (This)->lpVtbl -> put_borderTopStyle(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_borderTopStyle(This,p)	\
    ( (This)->lpVtbl -> get_borderTopStyle(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_borderRightStyle(This,v)	\
    ( (This)->lpVtbl -> put_borderRightStyle(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_borderRightStyle(This,p)	\
    ( (This)->lpVtbl -> get_borderRightStyle(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_borderBottomStyle(This,v)	\
    ( (This)->lpVtbl -> put_borderBottomStyle(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_borderBottomStyle(This,p)	\
    ( (This)->lpVtbl -> get_borderBottomStyle(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_borderLeftStyle(This,v)	\
    ( (This)->lpVtbl -> put_borderLeftStyle(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_borderLeftStyle(This,p)	\
    ( (This)->lpVtbl -> get_borderLeftStyle(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_width(This,v)	\
    ( (This)->lpVtbl -> put_width(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_width(This,p)	\
    ( (This)->lpVtbl -> get_width(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_height(This,v)	\
    ( (This)->lpVtbl -> put_height(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_height(This,p)	\
    ( (This)->lpVtbl -> get_height(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_styleFloat(This,v)	\
    ( (This)->lpVtbl -> put_styleFloat(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_styleFloat(This,p)	\
    ( (This)->lpVtbl -> get_styleFloat(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_clear(This,v)	\
    ( (This)->lpVtbl -> put_clear(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_clear(This,p)	\
    ( (This)->lpVtbl -> get_clear(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_display(This,v)	\
    ( (This)->lpVtbl -> put_display(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_display(This,p)	\
    ( (This)->lpVtbl -> get_display(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_visibility(This,v)	\
    ( (This)->lpVtbl -> put_visibility(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_visibility(This,p)	\
    ( (This)->lpVtbl -> get_visibility(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_listStyleType(This,v)	\
    ( (This)->lpVtbl -> put_listStyleType(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_listStyleType(This,p)	\
    ( (This)->lpVtbl -> get_listStyleType(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_listStylePosition(This,v)	\
    ( (This)->lpVtbl -> put_listStylePosition(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_listStylePosition(This,p)	\
    ( (This)->lpVtbl -> get_listStylePosition(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_listStyleImage(This,v)	\
    ( (This)->lpVtbl -> put_listStyleImage(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_listStyleImage(This,p)	\
    ( (This)->lpVtbl -> get_listStyleImage(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_listStyle(This,v)	\
    ( (This)->lpVtbl -> put_listStyle(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_listStyle(This,p)	\
    ( (This)->lpVtbl -> get_listStyle(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_whiteSpace(This,v)	\
    ( (This)->lpVtbl -> put_whiteSpace(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_whiteSpace(This,p)	\
    ( (This)->lpVtbl -> get_whiteSpace(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_top(This,v)	\
    ( (This)->lpVtbl -> put_top(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_top(This,p)	\
    ( (This)->lpVtbl -> get_top(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_left(This,v)	\
    ( (This)->lpVtbl -> put_left(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_left(This,p)	\
    ( (This)->lpVtbl -> get_left(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_zIndex(This,v)	\
    ( (This)->lpVtbl -> put_zIndex(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_zIndex(This,p)	\
    ( (This)->lpVtbl -> get_zIndex(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_overflow(This,v)	\
    ( (This)->lpVtbl -> put_overflow(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_overflow(This,p)	\
    ( (This)->lpVtbl -> get_overflow(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_pageBreakBefore(This,v)	\
    ( (This)->lpVtbl -> put_pageBreakBefore(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_pageBreakBefore(This,p)	\
    ( (This)->lpVtbl -> get_pageBreakBefore(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_pageBreakAfter(This,v)	\
    ( (This)->lpVtbl -> put_pageBreakAfter(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_pageBreakAfter(This,p)	\
    ( (This)->lpVtbl -> get_pageBreakAfter(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_cssText(This,v)	\
    ( (This)->lpVtbl -> put_cssText(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_cssText(This,p)	\
    ( (This)->lpVtbl -> get_cssText(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_cursor(This,v)	\
    ( (This)->lpVtbl -> put_cursor(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_cursor(This,p)	\
    ( (This)->lpVtbl -> get_cursor(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_clip(This,v)	\
    ( (This)->lpVtbl -> put_clip(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_clip(This,p)	\
    ( (This)->lpVtbl -> get_clip(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_filter(This,v)	\
    ( (This)->lpVtbl -> put_filter(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_filter(This,p)	\
    ( (This)->lpVtbl -> get_filter(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_tableLayout(This,v)	\
    ( (This)->lpVtbl -> put_tableLayout(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_tableLayout(This,p)	\
    ( (This)->lpVtbl -> get_tableLayout(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_borderCollapse(This,v)	\
    ( (This)->lpVtbl -> put_borderCollapse(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_borderCollapse(This,p)	\
    ( (This)->lpVtbl -> get_borderCollapse(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_direction(This,v)	\
    ( (This)->lpVtbl -> put_direction(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_direction(This,p)	\
    ( (This)->lpVtbl -> get_direction(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_behavior(This,v)	\
    ( (This)->lpVtbl -> put_behavior(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_behavior(This,p)	\
    ( (This)->lpVtbl -> get_behavior(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_position(This,v)	\
    ( (This)->lpVtbl -> put_position(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_position(This,p)	\
    ( (This)->lpVtbl -> get_position(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_unicodeBidi(This,v)	\
    ( (This)->lpVtbl -> put_unicodeBidi(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_unicodeBidi(This,p)	\
    ( (This)->lpVtbl -> get_unicodeBidi(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_bottom(This,v)	\
    ( (This)->lpVtbl -> put_bottom(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_bottom(This,p)	\
    ( (This)->lpVtbl -> get_bottom(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_right(This,v)	\
    ( (This)->lpVtbl -> put_right(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_right(This,p)	\
    ( (This)->lpVtbl -> get_right(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_imeMode(This,v)	\
    ( (This)->lpVtbl -> put_imeMode(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_imeMode(This,p)	\
    ( (This)->lpVtbl -> get_imeMode(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_rubyAlign(This,v)	\
    ( (This)->lpVtbl -> put_rubyAlign(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_rubyAlign(This,p)	\
    ( (This)->lpVtbl -> get_rubyAlign(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_rubyPosition(This,v)	\
    ( (This)->lpVtbl -> put_rubyPosition(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_rubyPosition(This,p)	\
    ( (This)->lpVtbl -> get_rubyPosition(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_rubyOverhang(This,v)	\
    ( (This)->lpVtbl -> put_rubyOverhang(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_rubyOverhang(This,p)	\
    ( (This)->lpVtbl -> get_rubyOverhang(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_layoutGridChar(This,v)	\
    ( (This)->lpVtbl -> put_layoutGridChar(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_layoutGridChar(This,p)	\
    ( (This)->lpVtbl -> get_layoutGridChar(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_layoutGridLine(This,v)	\
    ( (This)->lpVtbl -> put_layoutGridLine(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_layoutGridLine(This,p)	\
    ( (This)->lpVtbl -> get_layoutGridLine(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_layoutGridMode(This,v)	\
    ( (This)->lpVtbl -> put_layoutGridMode(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_layoutGridMode(This,p)	\
    ( (This)->lpVtbl -> get_layoutGridMode(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_layoutGridType(This,v)	\
    ( (This)->lpVtbl -> put_layoutGridType(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_layoutGridType(This,p)	\
    ( (This)->lpVtbl -> get_layoutGridType(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_layoutGrid(This,v)	\
    ( (This)->lpVtbl -> put_layoutGrid(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_layoutGrid(This,p)	\
    ( (This)->lpVtbl -> get_layoutGrid(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_textAutospace(This,v)	\
    ( (This)->lpVtbl -> put_textAutospace(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_textAutospace(This,p)	\
    ( (This)->lpVtbl -> get_textAutospace(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_wordBreak(This,v)	\
    ( (This)->lpVtbl -> put_wordBreak(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_wordBreak(This,p)	\
    ( (This)->lpVtbl -> get_wordBreak(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_lineBreak(This,v)	\
    ( (This)->lpVtbl -> put_lineBreak(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_lineBreak(This,p)	\
    ( (This)->lpVtbl -> get_lineBreak(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_textJustify(This,v)	\
    ( (This)->lpVtbl -> put_textJustify(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_textJustify(This,p)	\
    ( (This)->lpVtbl -> get_textJustify(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_textJustifyTrim(This,v)	\
    ( (This)->lpVtbl -> put_textJustifyTrim(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_textJustifyTrim(This,p)	\
    ( (This)->lpVtbl -> get_textJustifyTrim(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_textKashida(This,v)	\
    ( (This)->lpVtbl -> put_textKashida(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_textKashida(This,p)	\
    ( (This)->lpVtbl -> get_textKashida(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_overflowX(This,v)	\
    ( (This)->lpVtbl -> put_overflowX(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_overflowX(This,p)	\
    ( (This)->lpVtbl -> get_overflowX(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_overflowY(This,v)	\
    ( (This)->lpVtbl -> put_overflowY(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_overflowY(This,p)	\
    ( (This)->lpVtbl -> get_overflowY(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_accelerator(This,v)	\
    ( (This)->lpVtbl -> put_accelerator(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_accelerator(This,p)	\
    ( (This)->lpVtbl -> get_accelerator(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_layoutFlow(This,v)	\
    ( (This)->lpVtbl -> put_layoutFlow(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_layoutFlow(This,p)	\
    ( (This)->lpVtbl -> get_layoutFlow(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_zoom(This,v)	\
    ( (This)->lpVtbl -> put_zoom(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_zoom(This,p)	\
    ( (This)->lpVtbl -> get_zoom(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_wordWrap(This,v)	\
    ( (This)->lpVtbl -> put_wordWrap(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_wordWrap(This,p)	\
    ( (This)->lpVtbl -> get_wordWrap(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_textUnderlinePosition(This,v)	\
    ( (This)->lpVtbl -> put_textUnderlinePosition(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_textUnderlinePosition(This,p)	\
    ( (This)->lpVtbl -> get_textUnderlinePosition(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_scrollbarBaseColor(This,v)	\
    ( (This)->lpVtbl -> put_scrollbarBaseColor(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_scrollbarBaseColor(This,p)	\
    ( (This)->lpVtbl -> get_scrollbarBaseColor(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_scrollbarFaceColor(This,v)	\
    ( (This)->lpVtbl -> put_scrollbarFaceColor(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_scrollbarFaceColor(This,p)	\
    ( (This)->lpVtbl -> get_scrollbarFaceColor(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_scrollbar3dLightColor(This,v)	\
    ( (This)->lpVtbl -> put_scrollbar3dLightColor(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_scrollbar3dLightColor(This,p)	\
    ( (This)->lpVtbl -> get_scrollbar3dLightColor(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_scrollbarShadowColor(This,v)	\
    ( (This)->lpVtbl -> put_scrollbarShadowColor(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_scrollbarShadowColor(This,p)	\
    ( (This)->lpVtbl -> get_scrollbarShadowColor(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_scrollbarHighlightColor(This,v)	\
    ( (This)->lpVtbl -> put_scrollbarHighlightColor(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_scrollbarHighlightColor(This,p)	\
    ( (This)->lpVtbl -> get_scrollbarHighlightColor(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_scrollbarDarkShadowColor(This,v)	\
    ( (This)->lpVtbl -> put_scrollbarDarkShadowColor(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_scrollbarDarkShadowColor(This,p)	\
    ( (This)->lpVtbl -> get_scrollbarDarkShadowColor(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_scrollbarArrowColor(This,v)	\
    ( (This)->lpVtbl -> put_scrollbarArrowColor(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_scrollbarArrowColor(This,p)	\
    ( (This)->lpVtbl -> get_scrollbarArrowColor(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_scrollbarTrackColor(This,v)	\
    ( (This)->lpVtbl -> put_scrollbarTrackColor(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_scrollbarTrackColor(This,p)	\
    ( (This)->lpVtbl -> get_scrollbarTrackColor(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_writingMode(This,v)	\
    ( (This)->lpVtbl -> put_writingMode(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_writingMode(This,p)	\
    ( (This)->lpVtbl -> get_writingMode(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_textAlignLast(This,v)	\
    ( (This)->lpVtbl -> put_textAlignLast(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_textAlignLast(This,p)	\
    ( (This)->lpVtbl -> get_textAlignLast(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_textKashidaSpace(This,v)	\
    ( (This)->lpVtbl -> put_textKashidaSpace(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_textKashidaSpace(This,p)	\
    ( (This)->lpVtbl -> get_textKashidaSpace(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_textOverflow(This,v)	\
    ( (This)->lpVtbl -> put_textOverflow(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_textOverflow(This,p)	\
    ( (This)->lpVtbl -> get_textOverflow(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_minHeight(This,v)	\
    ( (This)->lpVtbl -> put_minHeight(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_minHeight(This,p)	\
    ( (This)->lpVtbl -> get_minHeight(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_msInterpolationMode(This,v)	\
    ( (This)->lpVtbl -> put_msInterpolationMode(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_msInterpolationMode(This,p)	\
    ( (This)->lpVtbl -> get_msInterpolationMode(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_maxHeight(This,v)	\
    ( (This)->lpVtbl -> put_maxHeight(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_maxHeight(This,p)	\
    ( (This)->lpVtbl -> get_maxHeight(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_minWidth(This,v)	\
    ( (This)->lpVtbl -> put_minWidth(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_minWidth(This,p)	\
    ( (This)->lpVtbl -> get_minWidth(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_maxWidth(This,v)	\
    ( (This)->lpVtbl -> put_maxWidth(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_maxWidth(This,p)	\
    ( (This)->lpVtbl -> get_maxWidth(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_content(This,v)	\
    ( (This)->lpVtbl -> put_content(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_content(This,p)	\
    ( (This)->lpVtbl -> get_content(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_captionSide(This,v)	\
    ( (This)->lpVtbl -> put_captionSide(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_captionSide(This,p)	\
    ( (This)->lpVtbl -> get_captionSide(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_counterIncrement(This,v)	\
    ( (This)->lpVtbl -> put_counterIncrement(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_counterIncrement(This,p)	\
    ( (This)->lpVtbl -> get_counterIncrement(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_counterReset(This,v)	\
    ( (This)->lpVtbl -> put_counterReset(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_counterReset(This,p)	\
    ( (This)->lpVtbl -> get_counterReset(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_outline(This,v)	\
    ( (This)->lpVtbl -> put_outline(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_outline(This,p)	\
    ( (This)->lpVtbl -> get_outline(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_outlineWidth(This,v)	\
    ( (This)->lpVtbl -> put_outlineWidth(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_outlineWidth(This,p)	\
    ( (This)->lpVtbl -> get_outlineWidth(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_outlineStyle(This,v)	\
    ( (This)->lpVtbl -> put_outlineStyle(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_outlineStyle(This,p)	\
    ( (This)->lpVtbl -> get_outlineStyle(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_outlineColor(This,v)	\
    ( (This)->lpVtbl -> put_outlineColor(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_outlineColor(This,p)	\
    ( (This)->lpVtbl -> get_outlineColor(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_boxSizing(This,v)	\
    ( (This)->lpVtbl -> put_boxSizing(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_boxSizing(This,p)	\
    ( (This)->lpVtbl -> get_boxSizing(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_borderSpacing(This,v)	\
    ( (This)->lpVtbl -> put_borderSpacing(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_borderSpacing(This,p)	\
    ( (This)->lpVtbl -> get_borderSpacing(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_orphans(This,v)	\
    ( (This)->lpVtbl -> put_orphans(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_orphans(This,p)	\
    ( (This)->lpVtbl -> get_orphans(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_widows(This,v)	\
    ( (This)->lpVtbl -> put_widows(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_widows(This,p)	\
    ( (This)->lpVtbl -> get_widows(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_pageBreakInside(This,v)	\
    ( (This)->lpVtbl -> put_pageBreakInside(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_pageBreakInside(This,p)	\
    ( (This)->lpVtbl -> get_pageBreakInside(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_emptyCells(This,v)	\
    ( (This)->lpVtbl -> put_emptyCells(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_emptyCells(This,p)	\
    ( (This)->lpVtbl -> get_emptyCells(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_msBlockProgression(This,v)	\
    ( (This)->lpVtbl -> put_msBlockProgression(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_msBlockProgression(This,p)	\
    ( (This)->lpVtbl -> get_msBlockProgression(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_quotes(This,v)	\
    ( (This)->lpVtbl -> put_quotes(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_quotes(This,p)	\
    ( (This)->lpVtbl -> get_quotes(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_alignmentBaseline(This,v)	\
    ( (This)->lpVtbl -> put_alignmentBaseline(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_alignmentBaseline(This,p)	\
    ( (This)->lpVtbl -> get_alignmentBaseline(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_baselineShift(This,v)	\
    ( (This)->lpVtbl -> put_baselineShift(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_baselineShift(This,p)	\
    ( (This)->lpVtbl -> get_baselineShift(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_dominantBaseline(This,v)	\
    ( (This)->lpVtbl -> put_dominantBaseline(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_dominantBaseline(This,p)	\
    ( (This)->lpVtbl -> get_dominantBaseline(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_fontSizeAdjust(This,v)	\
    ( (This)->lpVtbl -> put_fontSizeAdjust(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_fontSizeAdjust(This,p)	\
    ( (This)->lpVtbl -> get_fontSizeAdjust(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_fontStretch(This,v)	\
    ( (This)->lpVtbl -> put_fontStretch(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_fontStretch(This,p)	\
    ( (This)->lpVtbl -> get_fontStretch(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_opacity(This,v)	\
    ( (This)->lpVtbl -> put_opacity(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_opacity(This,p)	\
    ( (This)->lpVtbl -> get_opacity(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_clipPath(This,v)	\
    ( (This)->lpVtbl -> put_clipPath(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_clipPath(This,p)	\
    ( (This)->lpVtbl -> get_clipPath(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_clipRule(This,v)	\
    ( (This)->lpVtbl -> put_clipRule(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_clipRule(This,p)	\
    ( (This)->lpVtbl -> get_clipRule(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_fill(This,v)	\
    ( (This)->lpVtbl -> put_fill(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_fill(This,p)	\
    ( (This)->lpVtbl -> get_fill(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_fillOpacity(This,v)	\
    ( (This)->lpVtbl -> put_fillOpacity(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_fillOpacity(This,p)	\
    ( (This)->lpVtbl -> get_fillOpacity(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_fillRule(This,v)	\
    ( (This)->lpVtbl -> put_fillRule(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_fillRule(This,p)	\
    ( (This)->lpVtbl -> get_fillRule(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_kerning(This,v)	\
    ( (This)->lpVtbl -> put_kerning(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_kerning(This,p)	\
    ( (This)->lpVtbl -> get_kerning(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_marker(This,v)	\
    ( (This)->lpVtbl -> put_marker(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_marker(This,p)	\
    ( (This)->lpVtbl -> get_marker(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_markerEnd(This,v)	\
    ( (This)->lpVtbl -> put_markerEnd(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_markerEnd(This,p)	\
    ( (This)->lpVtbl -> get_markerEnd(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_markerMid(This,v)	\
    ( (This)->lpVtbl -> put_markerMid(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_markerMid(This,p)	\
    ( (This)->lpVtbl -> get_markerMid(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_markerStart(This,v)	\
    ( (This)->lpVtbl -> put_markerStart(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_markerStart(This,p)	\
    ( (This)->lpVtbl -> get_markerStart(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_mask(This,v)	\
    ( (This)->lpVtbl -> put_mask(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_mask(This,p)	\
    ( (This)->lpVtbl -> get_mask(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_pointerEvents(This,v)	\
    ( (This)->lpVtbl -> put_pointerEvents(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_pointerEvents(This,p)	\
    ( (This)->lpVtbl -> get_pointerEvents(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_stopColor(This,v)	\
    ( (This)->lpVtbl -> put_stopColor(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_stopColor(This,p)	\
    ( (This)->lpVtbl -> get_stopColor(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_stopOpacity(This,v)	\
    ( (This)->lpVtbl -> put_stopOpacity(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_stopOpacity(This,p)	\
    ( (This)->lpVtbl -> get_stopOpacity(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_stroke(This,v)	\
    ( (This)->lpVtbl -> put_stroke(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_stroke(This,p)	\
    ( (This)->lpVtbl -> get_stroke(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_strokeDasharray(This,v)	\
    ( (This)->lpVtbl -> put_strokeDasharray(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_strokeDasharray(This,p)	\
    ( (This)->lpVtbl -> get_strokeDasharray(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_strokeDashoffset(This,v)	\
    ( (This)->lpVtbl -> put_strokeDashoffset(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_strokeDashoffset(This,p)	\
    ( (This)->lpVtbl -> get_strokeDashoffset(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_strokeLinecap(This,v)	\
    ( (This)->lpVtbl -> put_strokeLinecap(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_strokeLinecap(This,p)	\
    ( (This)->lpVtbl -> get_strokeLinecap(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_strokeLinejoin(This,v)	\
    ( (This)->lpVtbl -> put_strokeLinejoin(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_strokeLinejoin(This,p)	\
    ( (This)->lpVtbl -> get_strokeLinejoin(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_strokeMiterlimit(This,v)	\
    ( (This)->lpVtbl -> put_strokeMiterlimit(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_strokeMiterlimit(This,p)	\
    ( (This)->lpVtbl -> get_strokeMiterlimit(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_strokeOpacity(This,v)	\
    ( (This)->lpVtbl -> put_strokeOpacity(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_strokeOpacity(This,p)	\
    ( (This)->lpVtbl -> get_strokeOpacity(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_strokeWidth(This,v)	\
    ( (This)->lpVtbl -> put_strokeWidth(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_strokeWidth(This,p)	\
    ( (This)->lpVtbl -> get_strokeWidth(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_textAnchor(This,v)	\
    ( (This)->lpVtbl -> put_textAnchor(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_textAnchor(This,p)	\
    ( (This)->lpVtbl -> get_textAnchor(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_glyphOrientationHorizontal(This,v)	\
    ( (This)->lpVtbl -> put_glyphOrientationHorizontal(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_glyphOrientationHorizontal(This,p)	\
    ( (This)->lpVtbl -> get_glyphOrientationHorizontal(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_glyphOrientationVertical(This,v)	\
    ( (This)->lpVtbl -> put_glyphOrientationVertical(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_glyphOrientationVertical(This,p)	\
    ( (This)->lpVtbl -> get_glyphOrientationVertical(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_borderRadius(This,v)	\
    ( (This)->lpVtbl -> put_borderRadius(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_borderRadius(This,p)	\
    ( (This)->lpVtbl -> get_borderRadius(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_borderTopLeftRadius(This,v)	\
    ( (This)->lpVtbl -> put_borderTopLeftRadius(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_borderTopLeftRadius(This,p)	\
    ( (This)->lpVtbl -> get_borderTopLeftRadius(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_borderTopRightRadius(This,v)	\
    ( (This)->lpVtbl -> put_borderTopRightRadius(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_borderTopRightRadius(This,p)	\
    ( (This)->lpVtbl -> get_borderTopRightRadius(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_borderBottomRightRadius(This,v)	\
    ( (This)->lpVtbl -> put_borderBottomRightRadius(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_borderBottomRightRadius(This,p)	\
    ( (This)->lpVtbl -> get_borderBottomRightRadius(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_borderBottomLeftRadius(This,v)	\
    ( (This)->lpVtbl -> put_borderBottomLeftRadius(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_borderBottomLeftRadius(This,p)	\
    ( (This)->lpVtbl -> get_borderBottomLeftRadius(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_clipTop(This,v)	\
    ( (This)->lpVtbl -> put_clipTop(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_clipTop(This,p)	\
    ( (This)->lpVtbl -> get_clipTop(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_clipRight(This,v)	\
    ( (This)->lpVtbl -> put_clipRight(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_clipRight(This,p)	\
    ( (This)->lpVtbl -> get_clipRight(This,p) ) 

#define IHTMLCSSStyleDeclaration_get_clipBottom(This,p)	\
    ( (This)->lpVtbl -> get_clipBottom(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_clipLeft(This,v)	\
    ( (This)->lpVtbl -> put_clipLeft(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_clipLeft(This,p)	\
    ( (This)->lpVtbl -> get_clipLeft(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_cssFloat(This,v)	\
    ( (This)->lpVtbl -> put_cssFloat(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_cssFloat(This,p)	\
    ( (This)->lpVtbl -> get_cssFloat(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_backgroundClip(This,v)	\
    ( (This)->lpVtbl -> put_backgroundClip(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_backgroundClip(This,p)	\
    ( (This)->lpVtbl -> get_backgroundClip(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_backgroundOrigin(This,v)	\
    ( (This)->lpVtbl -> put_backgroundOrigin(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_backgroundOrigin(This,p)	\
    ( (This)->lpVtbl -> get_backgroundOrigin(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_backgroundSize(This,v)	\
    ( (This)->lpVtbl -> put_backgroundSize(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_backgroundSize(This,p)	\
    ( (This)->lpVtbl -> get_backgroundSize(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_boxShadow(This,v)	\
    ( (This)->lpVtbl -> put_boxShadow(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_boxShadow(This,p)	\
    ( (This)->lpVtbl -> get_boxShadow(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_msTransform(This,v)	\
    ( (This)->lpVtbl -> put_msTransform(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_msTransform(This,p)	\
    ( (This)->lpVtbl -> get_msTransform(This,p) ) 

#define IHTMLCSSStyleDeclaration_put_msTransformOrigin(This,v)	\
    ( (This)->lpVtbl -> put_msTransformOrigin(This,v) ) 

#define IHTMLCSSStyleDeclaration_get_msTransformOrigin(This,p)	\
    ( (This)->lpVtbl -> get_msTransformOrigin(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLCSSStyleDeclaration_INTERFACE_DEFINED__ */


#ifndef __IHTMLCSSStyleDeclaration2_INTERFACE_DEFINED__
#define __IHTMLCSSStyleDeclaration2_INTERFACE_DEFINED__

/* interface IHTMLCSSStyleDeclaration2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLCSSStyleDeclaration2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305107d1-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLCSSStyleDeclaration2 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msScrollChaining( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msScrollChaining( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msContentZooming( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msContentZooming( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msContentZoomSnapType( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msContentZoomSnapType( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msScrollRails( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msScrollRails( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msContentZoomChaining( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msContentZoomChaining( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msScrollSnapType( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msScrollSnapType( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msContentZoomLimit( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msContentZoomLimit( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msContentZoomSnap( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msContentZoomSnap( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msContentZoomSnapPoints( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msContentZoomSnapPoints( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msContentZoomLimitMin( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msContentZoomLimitMin( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msContentZoomLimitMax( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msContentZoomLimitMax( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msScrollSnapX( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msScrollSnapX( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msScrollSnapY( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msScrollSnapY( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msScrollSnapPointsX( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msScrollSnapPointsX( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msScrollSnapPointsY( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msScrollSnapPointsY( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msGridColumn( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msGridColumn( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msGridColumnAlign( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msGridColumnAlign( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msGridColumns( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msGridColumns( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msGridColumnSpan( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msGridColumnSpan( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msGridRow( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msGridRow( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msGridRowAlign( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msGridRowAlign( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msGridRows( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msGridRows( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msGridRowSpan( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msGridRowSpan( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msWrapThrough( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msWrapThrough( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msWrapMargin( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msWrapMargin( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msWrapFlow( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msWrapFlow( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msAnimationName( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msAnimationName( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msAnimationDuration( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msAnimationDuration( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msAnimationTimingFunction( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msAnimationTimingFunction( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msAnimationDelay( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msAnimationDelay( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msAnimationDirection( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msAnimationDirection( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msAnimationPlayState( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msAnimationPlayState( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msAnimationIterationCount( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msAnimationIterationCount( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msAnimation( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msAnimation( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msAnimationFillMode( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msAnimationFillMode( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_colorInterpolationFilters( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_colorInterpolationFilters( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_columnCount( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_columnCount( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_columnWidth( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_columnWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_columnGap( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_columnGap( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_columnFill( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_columnFill( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_columnSpan( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_columnSpan( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_columns( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_columns( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_columnRule( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_columnRule( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_columnRuleColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_columnRuleColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_columnRuleStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_columnRuleStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_columnRuleWidth( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_columnRuleWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_breakBefore( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_breakBefore( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_breakAfter( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_breakAfter( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_breakInside( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_breakInside( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_floodColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_floodColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_floodOpacity( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_floodOpacity( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_lightingColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_lightingColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msScrollLimitXMin( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msScrollLimitXMin( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msScrollLimitYMin( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msScrollLimitYMin( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msScrollLimitXMax( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msScrollLimitXMax( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msScrollLimitYMax( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msScrollLimitYMax( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msScrollLimit( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msScrollLimit( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textShadow( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textShadow( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msFlowFrom( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msFlowFrom( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msFlowInto( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msFlowInto( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msHyphens( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msHyphens( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msHyphenateLimitZone( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msHyphenateLimitZone( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msHyphenateLimitChars( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msHyphenateLimitChars( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msHyphenateLimitLines( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msHyphenateLimitLines( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msHighContrastAdjust( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msHighContrastAdjust( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_enableBackground( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_enableBackground( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msFontFeatureSettings( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msFontFeatureSettings( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msUserSelect( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msUserSelect( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msOverflowStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msOverflowStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msTransformStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msTransformStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msBackfaceVisibility( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msBackfaceVisibility( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msPerspective( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msPerspective( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msPerspectiveOrigin( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msPerspectiveOrigin( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msTransitionProperty( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msTransitionProperty( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msTransitionDuration( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msTransitionDuration( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msTransitionTimingFunction( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msTransitionTimingFunction( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msTransitionDelay( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msTransitionDelay( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msTransition( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msTransition( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msTouchAction( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msTouchAction( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msScrollTranslation( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msScrollTranslation( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msFlex( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msFlex( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msFlexPositive( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msFlexPositive( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msFlexNegative( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msFlexNegative( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msFlexPreferredSize( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msFlexPreferredSize( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msFlexFlow( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msFlexFlow( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msFlexDirection( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msFlexDirection( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msFlexWrap( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msFlexWrap( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msFlexAlign( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msFlexAlign( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msFlexItemAlign( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msFlexItemAlign( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msFlexPack( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msFlexPack( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msFlexLinePack( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msFlexLinePack( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msFlexOrder( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msFlexOrder( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msTouchSelect( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msTouchSelect( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_transform( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_transform( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_transformOrigin( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_transformOrigin( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_transformStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_transformStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_backfaceVisibility( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backfaceVisibility( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_perspective( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_perspective( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_perspectiveOrigin( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_perspectiveOrigin( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_transitionProperty( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_transitionProperty( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_transitionDuration( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_transitionDuration( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_transitionTimingFunction( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_transitionTimingFunction( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_transitionDelay( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_transitionDelay( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_transition( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_transition( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_fontFeatureSettings( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fontFeatureSettings( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_animationName( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_animationName( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_animationDuration( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_animationDuration( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_animationTimingFunction( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_animationTimingFunction( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_animationDelay( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_animationDelay( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_animationDirection( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_animationDirection( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_animationPlayState( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_animationPlayState( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_animationIterationCount( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_animationIterationCount( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_animation( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_animation( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_animationFillMode( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_animationFillMode( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLCSSStyleDeclaration2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLCSSStyleDeclaration2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msScrollChaining )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msScrollChaining )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msContentZooming )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msContentZooming )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msContentZoomSnapType )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msContentZoomSnapType )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msScrollRails )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msScrollRails )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msContentZoomChaining )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msContentZoomChaining )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msScrollSnapType )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msScrollSnapType )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msContentZoomLimit )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msContentZoomLimit )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msContentZoomSnap )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msContentZoomSnap )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msContentZoomSnapPoints )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msContentZoomSnapPoints )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msContentZoomLimitMin )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msContentZoomLimitMin )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msContentZoomLimitMax )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msContentZoomLimitMax )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msScrollSnapX )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msScrollSnapX )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msScrollSnapY )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msScrollSnapY )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msScrollSnapPointsX )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msScrollSnapPointsX )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msScrollSnapPointsY )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msScrollSnapPointsY )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msGridColumn )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msGridColumn )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msGridColumnAlign )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msGridColumnAlign )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msGridColumns )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msGridColumns )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msGridColumnSpan )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msGridColumnSpan )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msGridRow )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msGridRow )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msGridRowAlign )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msGridRowAlign )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msGridRows )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msGridRows )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msGridRowSpan )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msGridRowSpan )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msWrapThrough )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msWrapThrough )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msWrapMargin )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msWrapMargin )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msWrapFlow )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msWrapFlow )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msAnimationName )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msAnimationName )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msAnimationDuration )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msAnimationDuration )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msAnimationTimingFunction )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msAnimationTimingFunction )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msAnimationDelay )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msAnimationDelay )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msAnimationDirection )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msAnimationDirection )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msAnimationPlayState )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msAnimationPlayState )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msAnimationIterationCount )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msAnimationIterationCount )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msAnimation )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msAnimation )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msAnimationFillMode )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msAnimationFillMode )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_colorInterpolationFilters )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_colorInterpolationFilters )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_columnCount )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnCount )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_columnWidth )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnWidth )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_columnGap )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnGap )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_columnFill )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnFill )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_columnSpan )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnSpan )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_columns )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_columns )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_columnRule )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnRule )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_columnRuleColor )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnRuleColor )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_columnRuleStyle )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnRuleStyle )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_columnRuleWidth )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnRuleWidth )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_breakBefore )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_breakBefore )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_breakAfter )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_breakAfter )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_breakInside )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_breakInside )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_floodColor )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_floodColor )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_floodOpacity )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_floodOpacity )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_lightingColor )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lightingColor )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msScrollLimitXMin )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msScrollLimitXMin )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msScrollLimitYMin )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msScrollLimitYMin )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msScrollLimitXMax )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msScrollLimitXMax )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msScrollLimitYMax )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msScrollLimitYMax )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msScrollLimit )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msScrollLimit )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textShadow )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textShadow )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msFlowFrom )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msFlowFrom )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msFlowInto )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msFlowInto )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msHyphens )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msHyphens )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msHyphenateLimitZone )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msHyphenateLimitZone )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msHyphenateLimitChars )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msHyphenateLimitChars )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msHyphenateLimitLines )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msHyphenateLimitLines )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msHighContrastAdjust )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msHighContrastAdjust )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_enableBackground )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_enableBackground )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msFontFeatureSettings )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msFontFeatureSettings )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msUserSelect )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msUserSelect )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msOverflowStyle )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msOverflowStyle )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msTransformStyle )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msTransformStyle )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msBackfaceVisibility )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msBackfaceVisibility )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msPerspective )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msPerspective )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msPerspectiveOrigin )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msPerspectiveOrigin )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msTransitionProperty )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msTransitionProperty )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msTransitionDuration )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msTransitionDuration )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msTransitionTimingFunction )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msTransitionTimingFunction )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msTransitionDelay )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msTransitionDelay )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msTransition )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msTransition )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msTouchAction )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msTouchAction )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msScrollTranslation )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msScrollTranslation )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msFlex )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msFlex )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msFlexPositive )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msFlexPositive )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msFlexNegative )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msFlexNegative )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msFlexPreferredSize )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msFlexPreferredSize )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msFlexFlow )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msFlexFlow )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msFlexDirection )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msFlexDirection )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msFlexWrap )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msFlexWrap )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msFlexAlign )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msFlexAlign )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msFlexItemAlign )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msFlexItemAlign )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msFlexPack )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msFlexPack )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msFlexLinePack )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msFlexLinePack )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msFlexOrder )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msFlexOrder )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msTouchSelect )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msTouchSelect )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_transform )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_transform )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_transformOrigin )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_transformOrigin )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_transformStyle )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_transformStyle )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_backfaceVisibility )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backfaceVisibility )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_perspective )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_perspective )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_perspectiveOrigin )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_perspectiveOrigin )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_transitionProperty )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_transitionProperty )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_transitionDuration )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_transitionDuration )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_transitionTimingFunction )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_transitionTimingFunction )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_transitionDelay )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_transitionDelay )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_transition )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_transition )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_fontFeatureSettings )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontFeatureSettings )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_animationName )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_animationName )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_animationDuration )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_animationDuration )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_animationTimingFunction )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_animationTimingFunction )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_animationDelay )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_animationDelay )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_animationDirection )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_animationDirection )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_animationPlayState )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_animationPlayState )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_animationIterationCount )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_animationIterationCount )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_animation )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_animation )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_animationFillMode )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_animationFillMode )( 
            __RPC__in IHTMLCSSStyleDeclaration2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLCSSStyleDeclaration2Vtbl;

    interface IHTMLCSSStyleDeclaration2
    {
        CONST_VTBL struct IHTMLCSSStyleDeclaration2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLCSSStyleDeclaration2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLCSSStyleDeclaration2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLCSSStyleDeclaration2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLCSSStyleDeclaration2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLCSSStyleDeclaration2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLCSSStyleDeclaration2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLCSSStyleDeclaration2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLCSSStyleDeclaration2_put_msScrollChaining(This,v)	\
    ( (This)->lpVtbl -> put_msScrollChaining(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msScrollChaining(This,p)	\
    ( (This)->lpVtbl -> get_msScrollChaining(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msContentZooming(This,v)	\
    ( (This)->lpVtbl -> put_msContentZooming(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msContentZooming(This,p)	\
    ( (This)->lpVtbl -> get_msContentZooming(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msContentZoomSnapType(This,v)	\
    ( (This)->lpVtbl -> put_msContentZoomSnapType(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msContentZoomSnapType(This,p)	\
    ( (This)->lpVtbl -> get_msContentZoomSnapType(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msScrollRails(This,v)	\
    ( (This)->lpVtbl -> put_msScrollRails(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msScrollRails(This,p)	\
    ( (This)->lpVtbl -> get_msScrollRails(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msContentZoomChaining(This,v)	\
    ( (This)->lpVtbl -> put_msContentZoomChaining(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msContentZoomChaining(This,p)	\
    ( (This)->lpVtbl -> get_msContentZoomChaining(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msScrollSnapType(This,v)	\
    ( (This)->lpVtbl -> put_msScrollSnapType(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msScrollSnapType(This,p)	\
    ( (This)->lpVtbl -> get_msScrollSnapType(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msContentZoomLimit(This,v)	\
    ( (This)->lpVtbl -> put_msContentZoomLimit(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msContentZoomLimit(This,p)	\
    ( (This)->lpVtbl -> get_msContentZoomLimit(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msContentZoomSnap(This,v)	\
    ( (This)->lpVtbl -> put_msContentZoomSnap(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msContentZoomSnap(This,p)	\
    ( (This)->lpVtbl -> get_msContentZoomSnap(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msContentZoomSnapPoints(This,v)	\
    ( (This)->lpVtbl -> put_msContentZoomSnapPoints(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msContentZoomSnapPoints(This,p)	\
    ( (This)->lpVtbl -> get_msContentZoomSnapPoints(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msContentZoomLimitMin(This,v)	\
    ( (This)->lpVtbl -> put_msContentZoomLimitMin(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msContentZoomLimitMin(This,p)	\
    ( (This)->lpVtbl -> get_msContentZoomLimitMin(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msContentZoomLimitMax(This,v)	\
    ( (This)->lpVtbl -> put_msContentZoomLimitMax(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msContentZoomLimitMax(This,p)	\
    ( (This)->lpVtbl -> get_msContentZoomLimitMax(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msScrollSnapX(This,v)	\
    ( (This)->lpVtbl -> put_msScrollSnapX(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msScrollSnapX(This,p)	\
    ( (This)->lpVtbl -> get_msScrollSnapX(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msScrollSnapY(This,v)	\
    ( (This)->lpVtbl -> put_msScrollSnapY(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msScrollSnapY(This,p)	\
    ( (This)->lpVtbl -> get_msScrollSnapY(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msScrollSnapPointsX(This,v)	\
    ( (This)->lpVtbl -> put_msScrollSnapPointsX(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msScrollSnapPointsX(This,p)	\
    ( (This)->lpVtbl -> get_msScrollSnapPointsX(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msScrollSnapPointsY(This,v)	\
    ( (This)->lpVtbl -> put_msScrollSnapPointsY(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msScrollSnapPointsY(This,p)	\
    ( (This)->lpVtbl -> get_msScrollSnapPointsY(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msGridColumn(This,v)	\
    ( (This)->lpVtbl -> put_msGridColumn(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msGridColumn(This,p)	\
    ( (This)->lpVtbl -> get_msGridColumn(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msGridColumnAlign(This,v)	\
    ( (This)->lpVtbl -> put_msGridColumnAlign(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msGridColumnAlign(This,p)	\
    ( (This)->lpVtbl -> get_msGridColumnAlign(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msGridColumns(This,v)	\
    ( (This)->lpVtbl -> put_msGridColumns(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msGridColumns(This,p)	\
    ( (This)->lpVtbl -> get_msGridColumns(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msGridColumnSpan(This,v)	\
    ( (This)->lpVtbl -> put_msGridColumnSpan(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msGridColumnSpan(This,p)	\
    ( (This)->lpVtbl -> get_msGridColumnSpan(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msGridRow(This,v)	\
    ( (This)->lpVtbl -> put_msGridRow(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msGridRow(This,p)	\
    ( (This)->lpVtbl -> get_msGridRow(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msGridRowAlign(This,v)	\
    ( (This)->lpVtbl -> put_msGridRowAlign(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msGridRowAlign(This,p)	\
    ( (This)->lpVtbl -> get_msGridRowAlign(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msGridRows(This,v)	\
    ( (This)->lpVtbl -> put_msGridRows(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msGridRows(This,p)	\
    ( (This)->lpVtbl -> get_msGridRows(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msGridRowSpan(This,v)	\
    ( (This)->lpVtbl -> put_msGridRowSpan(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msGridRowSpan(This,p)	\
    ( (This)->lpVtbl -> get_msGridRowSpan(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msWrapThrough(This,v)	\
    ( (This)->lpVtbl -> put_msWrapThrough(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msWrapThrough(This,p)	\
    ( (This)->lpVtbl -> get_msWrapThrough(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msWrapMargin(This,v)	\
    ( (This)->lpVtbl -> put_msWrapMargin(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msWrapMargin(This,p)	\
    ( (This)->lpVtbl -> get_msWrapMargin(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msWrapFlow(This,v)	\
    ( (This)->lpVtbl -> put_msWrapFlow(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msWrapFlow(This,p)	\
    ( (This)->lpVtbl -> get_msWrapFlow(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msAnimationName(This,v)	\
    ( (This)->lpVtbl -> put_msAnimationName(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msAnimationName(This,p)	\
    ( (This)->lpVtbl -> get_msAnimationName(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msAnimationDuration(This,v)	\
    ( (This)->lpVtbl -> put_msAnimationDuration(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msAnimationDuration(This,p)	\
    ( (This)->lpVtbl -> get_msAnimationDuration(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msAnimationTimingFunction(This,v)	\
    ( (This)->lpVtbl -> put_msAnimationTimingFunction(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msAnimationTimingFunction(This,p)	\
    ( (This)->lpVtbl -> get_msAnimationTimingFunction(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msAnimationDelay(This,v)	\
    ( (This)->lpVtbl -> put_msAnimationDelay(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msAnimationDelay(This,p)	\
    ( (This)->lpVtbl -> get_msAnimationDelay(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msAnimationDirection(This,v)	\
    ( (This)->lpVtbl -> put_msAnimationDirection(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msAnimationDirection(This,p)	\
    ( (This)->lpVtbl -> get_msAnimationDirection(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msAnimationPlayState(This,v)	\
    ( (This)->lpVtbl -> put_msAnimationPlayState(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msAnimationPlayState(This,p)	\
    ( (This)->lpVtbl -> get_msAnimationPlayState(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msAnimationIterationCount(This,v)	\
    ( (This)->lpVtbl -> put_msAnimationIterationCount(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msAnimationIterationCount(This,p)	\
    ( (This)->lpVtbl -> get_msAnimationIterationCount(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msAnimation(This,v)	\
    ( (This)->lpVtbl -> put_msAnimation(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msAnimation(This,p)	\
    ( (This)->lpVtbl -> get_msAnimation(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msAnimationFillMode(This,v)	\
    ( (This)->lpVtbl -> put_msAnimationFillMode(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msAnimationFillMode(This,p)	\
    ( (This)->lpVtbl -> get_msAnimationFillMode(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_colorInterpolationFilters(This,v)	\
    ( (This)->lpVtbl -> put_colorInterpolationFilters(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_colorInterpolationFilters(This,p)	\
    ( (This)->lpVtbl -> get_colorInterpolationFilters(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_columnCount(This,v)	\
    ( (This)->lpVtbl -> put_columnCount(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_columnCount(This,p)	\
    ( (This)->lpVtbl -> get_columnCount(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_columnWidth(This,v)	\
    ( (This)->lpVtbl -> put_columnWidth(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_columnWidth(This,p)	\
    ( (This)->lpVtbl -> get_columnWidth(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_columnGap(This,v)	\
    ( (This)->lpVtbl -> put_columnGap(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_columnGap(This,p)	\
    ( (This)->lpVtbl -> get_columnGap(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_columnFill(This,v)	\
    ( (This)->lpVtbl -> put_columnFill(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_columnFill(This,p)	\
    ( (This)->lpVtbl -> get_columnFill(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_columnSpan(This,v)	\
    ( (This)->lpVtbl -> put_columnSpan(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_columnSpan(This,p)	\
    ( (This)->lpVtbl -> get_columnSpan(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_columns(This,v)	\
    ( (This)->lpVtbl -> put_columns(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_columns(This,p)	\
    ( (This)->lpVtbl -> get_columns(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_columnRule(This,v)	\
    ( (This)->lpVtbl -> put_columnRule(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_columnRule(This,p)	\
    ( (This)->lpVtbl -> get_columnRule(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_columnRuleColor(This,v)	\
    ( (This)->lpVtbl -> put_columnRuleColor(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_columnRuleColor(This,p)	\
    ( (This)->lpVtbl -> get_columnRuleColor(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_columnRuleStyle(This,v)	\
    ( (This)->lpVtbl -> put_columnRuleStyle(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_columnRuleStyle(This,p)	\
    ( (This)->lpVtbl -> get_columnRuleStyle(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_columnRuleWidth(This,v)	\
    ( (This)->lpVtbl -> put_columnRuleWidth(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_columnRuleWidth(This,p)	\
    ( (This)->lpVtbl -> get_columnRuleWidth(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_breakBefore(This,v)	\
    ( (This)->lpVtbl -> put_breakBefore(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_breakBefore(This,p)	\
    ( (This)->lpVtbl -> get_breakBefore(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_breakAfter(This,v)	\
    ( (This)->lpVtbl -> put_breakAfter(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_breakAfter(This,p)	\
    ( (This)->lpVtbl -> get_breakAfter(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_breakInside(This,v)	\
    ( (This)->lpVtbl -> put_breakInside(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_breakInside(This,p)	\
    ( (This)->lpVtbl -> get_breakInside(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_floodColor(This,v)	\
    ( (This)->lpVtbl -> put_floodColor(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_floodColor(This,p)	\
    ( (This)->lpVtbl -> get_floodColor(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_floodOpacity(This,v)	\
    ( (This)->lpVtbl -> put_floodOpacity(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_floodOpacity(This,p)	\
    ( (This)->lpVtbl -> get_floodOpacity(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_lightingColor(This,v)	\
    ( (This)->lpVtbl -> put_lightingColor(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_lightingColor(This,p)	\
    ( (This)->lpVtbl -> get_lightingColor(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msScrollLimitXMin(This,v)	\
    ( (This)->lpVtbl -> put_msScrollLimitXMin(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msScrollLimitXMin(This,p)	\
    ( (This)->lpVtbl -> get_msScrollLimitXMin(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msScrollLimitYMin(This,v)	\
    ( (This)->lpVtbl -> put_msScrollLimitYMin(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msScrollLimitYMin(This,p)	\
    ( (This)->lpVtbl -> get_msScrollLimitYMin(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msScrollLimitXMax(This,v)	\
    ( (This)->lpVtbl -> put_msScrollLimitXMax(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msScrollLimitXMax(This,p)	\
    ( (This)->lpVtbl -> get_msScrollLimitXMax(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msScrollLimitYMax(This,v)	\
    ( (This)->lpVtbl -> put_msScrollLimitYMax(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msScrollLimitYMax(This,p)	\
    ( (This)->lpVtbl -> get_msScrollLimitYMax(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msScrollLimit(This,v)	\
    ( (This)->lpVtbl -> put_msScrollLimit(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msScrollLimit(This,p)	\
    ( (This)->lpVtbl -> get_msScrollLimit(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_textShadow(This,v)	\
    ( (This)->lpVtbl -> put_textShadow(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_textShadow(This,p)	\
    ( (This)->lpVtbl -> get_textShadow(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msFlowFrom(This,v)	\
    ( (This)->lpVtbl -> put_msFlowFrom(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msFlowFrom(This,p)	\
    ( (This)->lpVtbl -> get_msFlowFrom(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msFlowInto(This,v)	\
    ( (This)->lpVtbl -> put_msFlowInto(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msFlowInto(This,p)	\
    ( (This)->lpVtbl -> get_msFlowInto(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msHyphens(This,v)	\
    ( (This)->lpVtbl -> put_msHyphens(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msHyphens(This,p)	\
    ( (This)->lpVtbl -> get_msHyphens(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msHyphenateLimitZone(This,v)	\
    ( (This)->lpVtbl -> put_msHyphenateLimitZone(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msHyphenateLimitZone(This,p)	\
    ( (This)->lpVtbl -> get_msHyphenateLimitZone(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msHyphenateLimitChars(This,v)	\
    ( (This)->lpVtbl -> put_msHyphenateLimitChars(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msHyphenateLimitChars(This,p)	\
    ( (This)->lpVtbl -> get_msHyphenateLimitChars(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msHyphenateLimitLines(This,v)	\
    ( (This)->lpVtbl -> put_msHyphenateLimitLines(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msHyphenateLimitLines(This,p)	\
    ( (This)->lpVtbl -> get_msHyphenateLimitLines(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msHighContrastAdjust(This,v)	\
    ( (This)->lpVtbl -> put_msHighContrastAdjust(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msHighContrastAdjust(This,p)	\
    ( (This)->lpVtbl -> get_msHighContrastAdjust(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_enableBackground(This,v)	\
    ( (This)->lpVtbl -> put_enableBackground(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_enableBackground(This,p)	\
    ( (This)->lpVtbl -> get_enableBackground(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msFontFeatureSettings(This,v)	\
    ( (This)->lpVtbl -> put_msFontFeatureSettings(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msFontFeatureSettings(This,p)	\
    ( (This)->lpVtbl -> get_msFontFeatureSettings(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msUserSelect(This,v)	\
    ( (This)->lpVtbl -> put_msUserSelect(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msUserSelect(This,p)	\
    ( (This)->lpVtbl -> get_msUserSelect(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msOverflowStyle(This,v)	\
    ( (This)->lpVtbl -> put_msOverflowStyle(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msOverflowStyle(This,p)	\
    ( (This)->lpVtbl -> get_msOverflowStyle(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msTransformStyle(This,v)	\
    ( (This)->lpVtbl -> put_msTransformStyle(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msTransformStyle(This,p)	\
    ( (This)->lpVtbl -> get_msTransformStyle(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msBackfaceVisibility(This,v)	\
    ( (This)->lpVtbl -> put_msBackfaceVisibility(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msBackfaceVisibility(This,p)	\
    ( (This)->lpVtbl -> get_msBackfaceVisibility(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msPerspective(This,v)	\
    ( (This)->lpVtbl -> put_msPerspective(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msPerspective(This,p)	\
    ( (This)->lpVtbl -> get_msPerspective(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msPerspectiveOrigin(This,v)	\
    ( (This)->lpVtbl -> put_msPerspectiveOrigin(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msPerspectiveOrigin(This,p)	\
    ( (This)->lpVtbl -> get_msPerspectiveOrigin(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msTransitionProperty(This,v)	\
    ( (This)->lpVtbl -> put_msTransitionProperty(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msTransitionProperty(This,p)	\
    ( (This)->lpVtbl -> get_msTransitionProperty(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msTransitionDuration(This,v)	\
    ( (This)->lpVtbl -> put_msTransitionDuration(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msTransitionDuration(This,p)	\
    ( (This)->lpVtbl -> get_msTransitionDuration(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msTransitionTimingFunction(This,v)	\
    ( (This)->lpVtbl -> put_msTransitionTimingFunction(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msTransitionTimingFunction(This,p)	\
    ( (This)->lpVtbl -> get_msTransitionTimingFunction(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msTransitionDelay(This,v)	\
    ( (This)->lpVtbl -> put_msTransitionDelay(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msTransitionDelay(This,p)	\
    ( (This)->lpVtbl -> get_msTransitionDelay(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msTransition(This,v)	\
    ( (This)->lpVtbl -> put_msTransition(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msTransition(This,p)	\
    ( (This)->lpVtbl -> get_msTransition(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msTouchAction(This,v)	\
    ( (This)->lpVtbl -> put_msTouchAction(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msTouchAction(This,p)	\
    ( (This)->lpVtbl -> get_msTouchAction(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msScrollTranslation(This,v)	\
    ( (This)->lpVtbl -> put_msScrollTranslation(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msScrollTranslation(This,p)	\
    ( (This)->lpVtbl -> get_msScrollTranslation(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msFlex(This,v)	\
    ( (This)->lpVtbl -> put_msFlex(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msFlex(This,p)	\
    ( (This)->lpVtbl -> get_msFlex(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msFlexPositive(This,v)	\
    ( (This)->lpVtbl -> put_msFlexPositive(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msFlexPositive(This,p)	\
    ( (This)->lpVtbl -> get_msFlexPositive(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msFlexNegative(This,v)	\
    ( (This)->lpVtbl -> put_msFlexNegative(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msFlexNegative(This,p)	\
    ( (This)->lpVtbl -> get_msFlexNegative(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msFlexPreferredSize(This,v)	\
    ( (This)->lpVtbl -> put_msFlexPreferredSize(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msFlexPreferredSize(This,p)	\
    ( (This)->lpVtbl -> get_msFlexPreferredSize(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msFlexFlow(This,v)	\
    ( (This)->lpVtbl -> put_msFlexFlow(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msFlexFlow(This,p)	\
    ( (This)->lpVtbl -> get_msFlexFlow(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msFlexDirection(This,v)	\
    ( (This)->lpVtbl -> put_msFlexDirection(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msFlexDirection(This,p)	\
    ( (This)->lpVtbl -> get_msFlexDirection(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msFlexWrap(This,v)	\
    ( (This)->lpVtbl -> put_msFlexWrap(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msFlexWrap(This,p)	\
    ( (This)->lpVtbl -> get_msFlexWrap(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msFlexAlign(This,v)	\
    ( (This)->lpVtbl -> put_msFlexAlign(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msFlexAlign(This,p)	\
    ( (This)->lpVtbl -> get_msFlexAlign(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msFlexItemAlign(This,v)	\
    ( (This)->lpVtbl -> put_msFlexItemAlign(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msFlexItemAlign(This,p)	\
    ( (This)->lpVtbl -> get_msFlexItemAlign(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msFlexPack(This,v)	\
    ( (This)->lpVtbl -> put_msFlexPack(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msFlexPack(This,p)	\
    ( (This)->lpVtbl -> get_msFlexPack(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msFlexLinePack(This,v)	\
    ( (This)->lpVtbl -> put_msFlexLinePack(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msFlexLinePack(This,p)	\
    ( (This)->lpVtbl -> get_msFlexLinePack(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msFlexOrder(This,v)	\
    ( (This)->lpVtbl -> put_msFlexOrder(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msFlexOrder(This,p)	\
    ( (This)->lpVtbl -> get_msFlexOrder(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_msTouchSelect(This,v)	\
    ( (This)->lpVtbl -> put_msTouchSelect(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_msTouchSelect(This,p)	\
    ( (This)->lpVtbl -> get_msTouchSelect(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_transform(This,v)	\
    ( (This)->lpVtbl -> put_transform(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_transform(This,p)	\
    ( (This)->lpVtbl -> get_transform(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_transformOrigin(This,v)	\
    ( (This)->lpVtbl -> put_transformOrigin(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_transformOrigin(This,p)	\
    ( (This)->lpVtbl -> get_transformOrigin(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_transformStyle(This,v)	\
    ( (This)->lpVtbl -> put_transformStyle(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_transformStyle(This,p)	\
    ( (This)->lpVtbl -> get_transformStyle(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_backfaceVisibility(This,v)	\
    ( (This)->lpVtbl -> put_backfaceVisibility(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_backfaceVisibility(This,p)	\
    ( (This)->lpVtbl -> get_backfaceVisibility(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_perspective(This,v)	\
    ( (This)->lpVtbl -> put_perspective(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_perspective(This,p)	\
    ( (This)->lpVtbl -> get_perspective(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_perspectiveOrigin(This,v)	\
    ( (This)->lpVtbl -> put_perspectiveOrigin(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_perspectiveOrigin(This,p)	\
    ( (This)->lpVtbl -> get_perspectiveOrigin(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_transitionProperty(This,v)	\
    ( (This)->lpVtbl -> put_transitionProperty(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_transitionProperty(This,p)	\
    ( (This)->lpVtbl -> get_transitionProperty(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_transitionDuration(This,v)	\
    ( (This)->lpVtbl -> put_transitionDuration(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_transitionDuration(This,p)	\
    ( (This)->lpVtbl -> get_transitionDuration(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_transitionTimingFunction(This,v)	\
    ( (This)->lpVtbl -> put_transitionTimingFunction(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_transitionTimingFunction(This,p)	\
    ( (This)->lpVtbl -> get_transitionTimingFunction(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_transitionDelay(This,v)	\
    ( (This)->lpVtbl -> put_transitionDelay(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_transitionDelay(This,p)	\
    ( (This)->lpVtbl -> get_transitionDelay(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_transition(This,v)	\
    ( (This)->lpVtbl -> put_transition(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_transition(This,p)	\
    ( (This)->lpVtbl -> get_transition(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_fontFeatureSettings(This,v)	\
    ( (This)->lpVtbl -> put_fontFeatureSettings(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_fontFeatureSettings(This,p)	\
    ( (This)->lpVtbl -> get_fontFeatureSettings(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_animationName(This,v)	\
    ( (This)->lpVtbl -> put_animationName(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_animationName(This,p)	\
    ( (This)->lpVtbl -> get_animationName(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_animationDuration(This,v)	\
    ( (This)->lpVtbl -> put_animationDuration(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_animationDuration(This,p)	\
    ( (This)->lpVtbl -> get_animationDuration(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_animationTimingFunction(This,v)	\
    ( (This)->lpVtbl -> put_animationTimingFunction(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_animationTimingFunction(This,p)	\
    ( (This)->lpVtbl -> get_animationTimingFunction(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_animationDelay(This,v)	\
    ( (This)->lpVtbl -> put_animationDelay(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_animationDelay(This,p)	\
    ( (This)->lpVtbl -> get_animationDelay(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_animationDirection(This,v)	\
    ( (This)->lpVtbl -> put_animationDirection(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_animationDirection(This,p)	\
    ( (This)->lpVtbl -> get_animationDirection(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_animationPlayState(This,v)	\
    ( (This)->lpVtbl -> put_animationPlayState(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_animationPlayState(This,p)	\
    ( (This)->lpVtbl -> get_animationPlayState(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_animationIterationCount(This,v)	\
    ( (This)->lpVtbl -> put_animationIterationCount(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_animationIterationCount(This,p)	\
    ( (This)->lpVtbl -> get_animationIterationCount(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_animation(This,v)	\
    ( (This)->lpVtbl -> put_animation(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_animation(This,p)	\
    ( (This)->lpVtbl -> get_animation(This,p) ) 

#define IHTMLCSSStyleDeclaration2_put_animationFillMode(This,v)	\
    ( (This)->lpVtbl -> put_animationFillMode(This,v) ) 

#define IHTMLCSSStyleDeclaration2_get_animationFillMode(This,p)	\
    ( (This)->lpVtbl -> get_animationFillMode(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLCSSStyleDeclaration2_INTERFACE_DEFINED__ */


#ifndef __IHTMLCSSStyleDeclaration3_INTERFACE_DEFINED__
#define __IHTMLCSSStyleDeclaration3_INTERFACE_DEFINED__

/* interface IHTMLCSSStyleDeclaration3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLCSSStyleDeclaration3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051085C-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLCSSStyleDeclaration3 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_flex( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_flex( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_flexDirection( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_flexDirection( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_flexWrap( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_flexWrap( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_flexFlow( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_flexFlow( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_flexGrow( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_flexGrow( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_flexShrink( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_flexShrink( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_flexBasis( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_flexBasis( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_justifyContent( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_justifyContent( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_alignItems( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_alignItems( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_alignSelf( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_alignSelf( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_alignContent( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_alignContent( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderImage( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderImage( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderImageSource( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderImageSource( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderImageSlice( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderImageSlice( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderImageWidth( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderImageWidth( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderImageOutset( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderImageOutset( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderImageRepeat( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderImageRepeat( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msImeAlign( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msImeAlign( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msTextCombineHorizontal( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msTextCombineHorizontal( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_touchAction( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_touchAction( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLCSSStyleDeclaration3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLCSSStyleDeclaration3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_flex )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_flex )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_flexDirection )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_flexDirection )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_flexWrap )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_flexWrap )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_flexFlow )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_flexFlow )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_flexGrow )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_flexGrow )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_flexShrink )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_flexShrink )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_flexBasis )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_flexBasis )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_justifyContent )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_justifyContent )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_alignItems )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_alignItems )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_alignSelf )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_alignSelf )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_alignContent )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_alignContent )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderImage )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderImage )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderImageSource )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderImageSource )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderImageSlice )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderImageSlice )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderImageWidth )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderImageWidth )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderImageOutset )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderImageOutset )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderImageRepeat )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderImageRepeat )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msImeAlign )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msImeAlign )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msTextCombineHorizontal )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msTextCombineHorizontal )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_touchAction )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_touchAction )( 
            __RPC__in IHTMLCSSStyleDeclaration3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLCSSStyleDeclaration3Vtbl;

    interface IHTMLCSSStyleDeclaration3
    {
        CONST_VTBL struct IHTMLCSSStyleDeclaration3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLCSSStyleDeclaration3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLCSSStyleDeclaration3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLCSSStyleDeclaration3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLCSSStyleDeclaration3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLCSSStyleDeclaration3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLCSSStyleDeclaration3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLCSSStyleDeclaration3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLCSSStyleDeclaration3_put_flex(This,v)	\
    ( (This)->lpVtbl -> put_flex(This,v) ) 

#define IHTMLCSSStyleDeclaration3_get_flex(This,p)	\
    ( (This)->lpVtbl -> get_flex(This,p) ) 

#define IHTMLCSSStyleDeclaration3_put_flexDirection(This,v)	\
    ( (This)->lpVtbl -> put_flexDirection(This,v) ) 

#define IHTMLCSSStyleDeclaration3_get_flexDirection(This,p)	\
    ( (This)->lpVtbl -> get_flexDirection(This,p) ) 

#define IHTMLCSSStyleDeclaration3_put_flexWrap(This,v)	\
    ( (This)->lpVtbl -> put_flexWrap(This,v) ) 

#define IHTMLCSSStyleDeclaration3_get_flexWrap(This,p)	\
    ( (This)->lpVtbl -> get_flexWrap(This,p) ) 

#define IHTMLCSSStyleDeclaration3_put_flexFlow(This,v)	\
    ( (This)->lpVtbl -> put_flexFlow(This,v) ) 

#define IHTMLCSSStyleDeclaration3_get_flexFlow(This,p)	\
    ( (This)->lpVtbl -> get_flexFlow(This,p) ) 

#define IHTMLCSSStyleDeclaration3_put_flexGrow(This,v)	\
    ( (This)->lpVtbl -> put_flexGrow(This,v) ) 

#define IHTMLCSSStyleDeclaration3_get_flexGrow(This,p)	\
    ( (This)->lpVtbl -> get_flexGrow(This,p) ) 

#define IHTMLCSSStyleDeclaration3_put_flexShrink(This,v)	\
    ( (This)->lpVtbl -> put_flexShrink(This,v) ) 

#define IHTMLCSSStyleDeclaration3_get_flexShrink(This,p)	\
    ( (This)->lpVtbl -> get_flexShrink(This,p) ) 

#define IHTMLCSSStyleDeclaration3_put_flexBasis(This,v)	\
    ( (This)->lpVtbl -> put_flexBasis(This,v) ) 

#define IHTMLCSSStyleDeclaration3_get_flexBasis(This,p)	\
    ( (This)->lpVtbl -> get_flexBasis(This,p) ) 

#define IHTMLCSSStyleDeclaration3_put_justifyContent(This,v)	\
    ( (This)->lpVtbl -> put_justifyContent(This,v) ) 

#define IHTMLCSSStyleDeclaration3_get_justifyContent(This,p)	\
    ( (This)->lpVtbl -> get_justifyContent(This,p) ) 

#define IHTMLCSSStyleDeclaration3_put_alignItems(This,v)	\
    ( (This)->lpVtbl -> put_alignItems(This,v) ) 

#define IHTMLCSSStyleDeclaration3_get_alignItems(This,p)	\
    ( (This)->lpVtbl -> get_alignItems(This,p) ) 

#define IHTMLCSSStyleDeclaration3_put_alignSelf(This,v)	\
    ( (This)->lpVtbl -> put_alignSelf(This,v) ) 

#define IHTMLCSSStyleDeclaration3_get_alignSelf(This,p)	\
    ( (This)->lpVtbl -> get_alignSelf(This,p) ) 

#define IHTMLCSSStyleDeclaration3_put_alignContent(This,v)	\
    ( (This)->lpVtbl -> put_alignContent(This,v) ) 

#define IHTMLCSSStyleDeclaration3_get_alignContent(This,p)	\
    ( (This)->lpVtbl -> get_alignContent(This,p) ) 

#define IHTMLCSSStyleDeclaration3_put_borderImage(This,v)	\
    ( (This)->lpVtbl -> put_borderImage(This,v) ) 

#define IHTMLCSSStyleDeclaration3_get_borderImage(This,p)	\
    ( (This)->lpVtbl -> get_borderImage(This,p) ) 

#define IHTMLCSSStyleDeclaration3_put_borderImageSource(This,v)	\
    ( (This)->lpVtbl -> put_borderImageSource(This,v) ) 

#define IHTMLCSSStyleDeclaration3_get_borderImageSource(This,p)	\
    ( (This)->lpVtbl -> get_borderImageSource(This,p) ) 

#define IHTMLCSSStyleDeclaration3_put_borderImageSlice(This,v)	\
    ( (This)->lpVtbl -> put_borderImageSlice(This,v) ) 

#define IHTMLCSSStyleDeclaration3_get_borderImageSlice(This,p)	\
    ( (This)->lpVtbl -> get_borderImageSlice(This,p) ) 

#define IHTMLCSSStyleDeclaration3_put_borderImageWidth(This,v)	\
    ( (This)->lpVtbl -> put_borderImageWidth(This,v) ) 

#define IHTMLCSSStyleDeclaration3_get_borderImageWidth(This,p)	\
    ( (This)->lpVtbl -> get_borderImageWidth(This,p) ) 

#define IHTMLCSSStyleDeclaration3_put_borderImageOutset(This,v)	\
    ( (This)->lpVtbl -> put_borderImageOutset(This,v) ) 

#define IHTMLCSSStyleDeclaration3_get_borderImageOutset(This,p)	\
    ( (This)->lpVtbl -> get_borderImageOutset(This,p) ) 

#define IHTMLCSSStyleDeclaration3_put_borderImageRepeat(This,v)	\
    ( (This)->lpVtbl -> put_borderImageRepeat(This,v) ) 

#define IHTMLCSSStyleDeclaration3_get_borderImageRepeat(This,p)	\
    ( (This)->lpVtbl -> get_borderImageRepeat(This,p) ) 

#define IHTMLCSSStyleDeclaration3_put_msImeAlign(This,v)	\
    ( (This)->lpVtbl -> put_msImeAlign(This,v) ) 

#define IHTMLCSSStyleDeclaration3_get_msImeAlign(This,p)	\
    ( (This)->lpVtbl -> get_msImeAlign(This,p) ) 

#define IHTMLCSSStyleDeclaration3_put_msTextCombineHorizontal(This,v)	\
    ( (This)->lpVtbl -> put_msTextCombineHorizontal(This,v) ) 

#define IHTMLCSSStyleDeclaration3_get_msTextCombineHorizontal(This,p)	\
    ( (This)->lpVtbl -> get_msTextCombineHorizontal(This,p) ) 

#define IHTMLCSSStyleDeclaration3_put_touchAction(This,v)	\
    ( (This)->lpVtbl -> put_touchAction(This,v) ) 

#define IHTMLCSSStyleDeclaration3_get_touchAction(This,p)	\
    ( (This)->lpVtbl -> get_touchAction(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLCSSStyleDeclaration3_INTERFACE_DEFINED__ */


#ifndef __IHTMLCSSStyleDeclaration4_INTERFACE_DEFINED__
#define __IHTMLCSSStyleDeclaration4_INTERFACE_DEFINED__

/* interface IHTMLCSSStyleDeclaration4 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLCSSStyleDeclaration4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D6100F3B-27C8-4132-AFEA-F0E4B1E00060")
    IHTMLCSSStyleDeclaration4 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitAppearance( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitAppearance( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitUserSelect( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitUserSelect( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitBoxAlign( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitBoxAlign( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitBoxOrdinalGroup( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitBoxOrdinalGroup( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitBoxPack( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitBoxPack( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitBoxFlex( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitBoxFlex( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitBoxOrient( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitBoxOrient( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitBoxDirection( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitBoxDirection( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitTransform( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitTransform( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitBackgroundSize( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitBackgroundSize( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitBackfaceVisibility( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitBackfaceVisibility( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitAnimation( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitAnimation( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitTransition( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitTransition( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitAnimationName( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitAnimationName( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitAnimationDuration( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitAnimationDuration( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitAnimationTimingFunction( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitAnimationTimingFunction( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitAnimationDelay( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitAnimationDelay( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitAnimationIterationCount( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitAnimationIterationCount( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitAnimationDirection( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitAnimationDirection( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitAnimationPlayState( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitAnimationPlayState( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitTransitionProperty( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitTransitionProperty( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitTransitionDuration( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitTransitionDuration( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitTransitionTimingFunction( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitTransitionTimingFunction( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitTransitionDelay( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitTransitionDelay( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitBackgroundAttachment( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitBackgroundAttachment( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitBackgroundColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitBackgroundColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitBackgroundClip( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitBackgroundClip( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitBackgroundImage( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitBackgroundImage( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitBackgroundRepeat( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitBackgroundRepeat( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitBackgroundOrigin( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitBackgroundOrigin( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitBackgroundPosition( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitBackgroundPosition( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitBackgroundPositionX( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitBackgroundPositionX( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitBackgroundPositionY( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitBackgroundPositionY( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitBackground( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitBackground( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitTransformOrigin( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitTransformOrigin( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msTextSizeAdjust( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msTextSizeAdjust( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitTextSizeAdjust( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitTextSizeAdjust( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitBorderImage( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitBorderImage( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitBorderImageSource( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitBorderImageSource( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitBorderImageSlice( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitBorderImageSlice( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitBorderImageWidth( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitBorderImageWidth( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitBorderImageOutset( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitBorderImageOutset( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitBorderImageRepeat( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitBorderImageRepeat( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitBoxSizing( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitBoxSizing( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_webkitAnimationFillMode( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_webkitAnimationFillMode( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLCSSStyleDeclaration4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLCSSStyleDeclaration4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitAppearance )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitAppearance )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitUserSelect )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitUserSelect )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitBoxAlign )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitBoxAlign )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitBoxOrdinalGroup )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitBoxOrdinalGroup )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitBoxPack )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitBoxPack )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitBoxFlex )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitBoxFlex )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitBoxOrient )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitBoxOrient )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitBoxDirection )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitBoxDirection )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitTransform )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitTransform )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitBackgroundSize )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitBackgroundSize )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitBackfaceVisibility )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitBackfaceVisibility )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitAnimation )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitAnimation )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitTransition )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitTransition )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitAnimationName )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitAnimationName )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitAnimationDuration )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitAnimationDuration )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitAnimationTimingFunction )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitAnimationTimingFunction )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitAnimationDelay )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitAnimationDelay )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitAnimationIterationCount )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitAnimationIterationCount )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitAnimationDirection )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitAnimationDirection )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitAnimationPlayState )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitAnimationPlayState )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitTransitionProperty )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitTransitionProperty )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitTransitionDuration )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitTransitionDuration )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitTransitionTimingFunction )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitTransitionTimingFunction )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitTransitionDelay )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitTransitionDelay )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitBackgroundAttachment )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitBackgroundAttachment )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitBackgroundColor )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitBackgroundColor )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitBackgroundClip )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitBackgroundClip )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitBackgroundImage )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitBackgroundImage )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitBackgroundRepeat )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitBackgroundRepeat )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitBackgroundOrigin )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitBackgroundOrigin )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitBackgroundPosition )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitBackgroundPosition )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitBackgroundPositionX )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitBackgroundPositionX )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitBackgroundPositionY )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitBackgroundPositionY )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitBackground )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitBackground )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitTransformOrigin )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitTransformOrigin )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msTextSizeAdjust )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msTextSizeAdjust )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitTextSizeAdjust )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitTextSizeAdjust )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitBorderImage )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitBorderImage )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitBorderImageSource )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitBorderImageSource )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitBorderImageSlice )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitBorderImageSlice )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitBorderImageWidth )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitBorderImageWidth )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitBorderImageOutset )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitBorderImageOutset )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitBorderImageRepeat )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitBorderImageRepeat )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitBoxSizing )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitBoxSizing )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_webkitAnimationFillMode )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_webkitAnimationFillMode )( 
            __RPC__in IHTMLCSSStyleDeclaration4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLCSSStyleDeclaration4Vtbl;

    interface IHTMLCSSStyleDeclaration4
    {
        CONST_VTBL struct IHTMLCSSStyleDeclaration4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLCSSStyleDeclaration4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLCSSStyleDeclaration4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLCSSStyleDeclaration4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLCSSStyleDeclaration4_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLCSSStyleDeclaration4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLCSSStyleDeclaration4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLCSSStyleDeclaration4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLCSSStyleDeclaration4_put_webkitAppearance(This,v)	\
    ( (This)->lpVtbl -> put_webkitAppearance(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitAppearance(This,p)	\
    ( (This)->lpVtbl -> get_webkitAppearance(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitUserSelect(This,v)	\
    ( (This)->lpVtbl -> put_webkitUserSelect(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitUserSelect(This,p)	\
    ( (This)->lpVtbl -> get_webkitUserSelect(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitBoxAlign(This,v)	\
    ( (This)->lpVtbl -> put_webkitBoxAlign(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitBoxAlign(This,p)	\
    ( (This)->lpVtbl -> get_webkitBoxAlign(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitBoxOrdinalGroup(This,v)	\
    ( (This)->lpVtbl -> put_webkitBoxOrdinalGroup(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitBoxOrdinalGroup(This,p)	\
    ( (This)->lpVtbl -> get_webkitBoxOrdinalGroup(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitBoxPack(This,v)	\
    ( (This)->lpVtbl -> put_webkitBoxPack(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitBoxPack(This,p)	\
    ( (This)->lpVtbl -> get_webkitBoxPack(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitBoxFlex(This,v)	\
    ( (This)->lpVtbl -> put_webkitBoxFlex(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitBoxFlex(This,p)	\
    ( (This)->lpVtbl -> get_webkitBoxFlex(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitBoxOrient(This,v)	\
    ( (This)->lpVtbl -> put_webkitBoxOrient(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitBoxOrient(This,p)	\
    ( (This)->lpVtbl -> get_webkitBoxOrient(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitBoxDirection(This,v)	\
    ( (This)->lpVtbl -> put_webkitBoxDirection(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitBoxDirection(This,p)	\
    ( (This)->lpVtbl -> get_webkitBoxDirection(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitTransform(This,v)	\
    ( (This)->lpVtbl -> put_webkitTransform(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitTransform(This,p)	\
    ( (This)->lpVtbl -> get_webkitTransform(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitBackgroundSize(This,v)	\
    ( (This)->lpVtbl -> put_webkitBackgroundSize(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitBackgroundSize(This,p)	\
    ( (This)->lpVtbl -> get_webkitBackgroundSize(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitBackfaceVisibility(This,v)	\
    ( (This)->lpVtbl -> put_webkitBackfaceVisibility(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitBackfaceVisibility(This,p)	\
    ( (This)->lpVtbl -> get_webkitBackfaceVisibility(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitAnimation(This,v)	\
    ( (This)->lpVtbl -> put_webkitAnimation(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitAnimation(This,p)	\
    ( (This)->lpVtbl -> get_webkitAnimation(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitTransition(This,v)	\
    ( (This)->lpVtbl -> put_webkitTransition(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitTransition(This,p)	\
    ( (This)->lpVtbl -> get_webkitTransition(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitAnimationName(This,v)	\
    ( (This)->lpVtbl -> put_webkitAnimationName(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitAnimationName(This,p)	\
    ( (This)->lpVtbl -> get_webkitAnimationName(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitAnimationDuration(This,v)	\
    ( (This)->lpVtbl -> put_webkitAnimationDuration(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitAnimationDuration(This,p)	\
    ( (This)->lpVtbl -> get_webkitAnimationDuration(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitAnimationTimingFunction(This,v)	\
    ( (This)->lpVtbl -> put_webkitAnimationTimingFunction(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitAnimationTimingFunction(This,p)	\
    ( (This)->lpVtbl -> get_webkitAnimationTimingFunction(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitAnimationDelay(This,v)	\
    ( (This)->lpVtbl -> put_webkitAnimationDelay(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitAnimationDelay(This,p)	\
    ( (This)->lpVtbl -> get_webkitAnimationDelay(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitAnimationIterationCount(This,v)	\
    ( (This)->lpVtbl -> put_webkitAnimationIterationCount(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitAnimationIterationCount(This,p)	\
    ( (This)->lpVtbl -> get_webkitAnimationIterationCount(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitAnimationDirection(This,v)	\
    ( (This)->lpVtbl -> put_webkitAnimationDirection(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitAnimationDirection(This,p)	\
    ( (This)->lpVtbl -> get_webkitAnimationDirection(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitAnimationPlayState(This,v)	\
    ( (This)->lpVtbl -> put_webkitAnimationPlayState(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitAnimationPlayState(This,p)	\
    ( (This)->lpVtbl -> get_webkitAnimationPlayState(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitTransitionProperty(This,v)	\
    ( (This)->lpVtbl -> put_webkitTransitionProperty(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitTransitionProperty(This,p)	\
    ( (This)->lpVtbl -> get_webkitTransitionProperty(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitTransitionDuration(This,v)	\
    ( (This)->lpVtbl -> put_webkitTransitionDuration(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitTransitionDuration(This,p)	\
    ( (This)->lpVtbl -> get_webkitTransitionDuration(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitTransitionTimingFunction(This,v)	\
    ( (This)->lpVtbl -> put_webkitTransitionTimingFunction(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitTransitionTimingFunction(This,p)	\
    ( (This)->lpVtbl -> get_webkitTransitionTimingFunction(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitTransitionDelay(This,v)	\
    ( (This)->lpVtbl -> put_webkitTransitionDelay(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitTransitionDelay(This,p)	\
    ( (This)->lpVtbl -> get_webkitTransitionDelay(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitBackgroundAttachment(This,v)	\
    ( (This)->lpVtbl -> put_webkitBackgroundAttachment(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitBackgroundAttachment(This,p)	\
    ( (This)->lpVtbl -> get_webkitBackgroundAttachment(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitBackgroundColor(This,v)	\
    ( (This)->lpVtbl -> put_webkitBackgroundColor(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitBackgroundColor(This,p)	\
    ( (This)->lpVtbl -> get_webkitBackgroundColor(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitBackgroundClip(This,v)	\
    ( (This)->lpVtbl -> put_webkitBackgroundClip(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitBackgroundClip(This,p)	\
    ( (This)->lpVtbl -> get_webkitBackgroundClip(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitBackgroundImage(This,v)	\
    ( (This)->lpVtbl -> put_webkitBackgroundImage(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitBackgroundImage(This,p)	\
    ( (This)->lpVtbl -> get_webkitBackgroundImage(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitBackgroundRepeat(This,v)	\
    ( (This)->lpVtbl -> put_webkitBackgroundRepeat(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitBackgroundRepeat(This,p)	\
    ( (This)->lpVtbl -> get_webkitBackgroundRepeat(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitBackgroundOrigin(This,v)	\
    ( (This)->lpVtbl -> put_webkitBackgroundOrigin(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitBackgroundOrigin(This,p)	\
    ( (This)->lpVtbl -> get_webkitBackgroundOrigin(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitBackgroundPosition(This,v)	\
    ( (This)->lpVtbl -> put_webkitBackgroundPosition(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitBackgroundPosition(This,p)	\
    ( (This)->lpVtbl -> get_webkitBackgroundPosition(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitBackgroundPositionX(This,v)	\
    ( (This)->lpVtbl -> put_webkitBackgroundPositionX(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitBackgroundPositionX(This,p)	\
    ( (This)->lpVtbl -> get_webkitBackgroundPositionX(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitBackgroundPositionY(This,v)	\
    ( (This)->lpVtbl -> put_webkitBackgroundPositionY(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitBackgroundPositionY(This,p)	\
    ( (This)->lpVtbl -> get_webkitBackgroundPositionY(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitBackground(This,v)	\
    ( (This)->lpVtbl -> put_webkitBackground(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitBackground(This,p)	\
    ( (This)->lpVtbl -> get_webkitBackground(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitTransformOrigin(This,v)	\
    ( (This)->lpVtbl -> put_webkitTransformOrigin(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitTransformOrigin(This,p)	\
    ( (This)->lpVtbl -> get_webkitTransformOrigin(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_msTextSizeAdjust(This,v)	\
    ( (This)->lpVtbl -> put_msTextSizeAdjust(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_msTextSizeAdjust(This,p)	\
    ( (This)->lpVtbl -> get_msTextSizeAdjust(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitTextSizeAdjust(This,v)	\
    ( (This)->lpVtbl -> put_webkitTextSizeAdjust(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitTextSizeAdjust(This,p)	\
    ( (This)->lpVtbl -> get_webkitTextSizeAdjust(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitBorderImage(This,v)	\
    ( (This)->lpVtbl -> put_webkitBorderImage(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitBorderImage(This,p)	\
    ( (This)->lpVtbl -> get_webkitBorderImage(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitBorderImageSource(This,v)	\
    ( (This)->lpVtbl -> put_webkitBorderImageSource(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitBorderImageSource(This,p)	\
    ( (This)->lpVtbl -> get_webkitBorderImageSource(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitBorderImageSlice(This,v)	\
    ( (This)->lpVtbl -> put_webkitBorderImageSlice(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitBorderImageSlice(This,p)	\
    ( (This)->lpVtbl -> get_webkitBorderImageSlice(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitBorderImageWidth(This,v)	\
    ( (This)->lpVtbl -> put_webkitBorderImageWidth(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitBorderImageWidth(This,p)	\
    ( (This)->lpVtbl -> get_webkitBorderImageWidth(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitBorderImageOutset(This,v)	\
    ( (This)->lpVtbl -> put_webkitBorderImageOutset(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitBorderImageOutset(This,p)	\
    ( (This)->lpVtbl -> get_webkitBorderImageOutset(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitBorderImageRepeat(This,v)	\
    ( (This)->lpVtbl -> put_webkitBorderImageRepeat(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitBorderImageRepeat(This,p)	\
    ( (This)->lpVtbl -> get_webkitBorderImageRepeat(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitBoxSizing(This,v)	\
    ( (This)->lpVtbl -> put_webkitBoxSizing(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitBoxSizing(This,p)	\
    ( (This)->lpVtbl -> get_webkitBoxSizing(This,p) ) 

#define IHTMLCSSStyleDeclaration4_put_webkitAnimationFillMode(This,v)	\
    ( (This)->lpVtbl -> put_webkitAnimationFillMode(This,v) ) 

#define IHTMLCSSStyleDeclaration4_get_webkitAnimationFillMode(This,p)	\
    ( (This)->lpVtbl -> get_webkitAnimationFillMode(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLCSSStyleDeclaration4_INTERFACE_DEFINED__ */


#ifndef __IHTMLStyleEnabled_INTERFACE_DEFINED__
#define __IHTMLStyleEnabled_INTERFACE_DEFINED__

/* interface IHTMLStyleEnabled */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyleEnabled;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104c2-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyleEnabled : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE msGetPropertyEnabled( 
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE msPutPropertyEnabled( 
            /* [in] */ __RPC__in BSTR name,
            /* [in] */ VARIANT_BOOL b) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyleEnabledVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyleEnabled * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyleEnabled * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyleEnabled * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyleEnabled * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyleEnabled * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyleEnabled * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyleEnabled * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *msGetPropertyEnabled )( 
            __RPC__in IHTMLStyleEnabled * This,
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *msPutPropertyEnabled )( 
            __RPC__in IHTMLStyleEnabled * This,
            /* [in] */ __RPC__in BSTR name,
            /* [in] */ VARIANT_BOOL b);
        
        END_INTERFACE
    } IHTMLStyleEnabledVtbl;

    interface IHTMLStyleEnabled
    {
        CONST_VTBL struct IHTMLStyleEnabledVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLStyleEnabled_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLStyleEnabled_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLStyleEnabled_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLStyleEnabled_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLStyleEnabled_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLStyleEnabled_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLStyleEnabled_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLStyleEnabled_msGetPropertyEnabled(This,name,p)	\
    ( (This)->lpVtbl -> msGetPropertyEnabled(This,name,p) ) 

#define IHTMLStyleEnabled_msPutPropertyEnabled(This,name,b)	\
    ( (This)->lpVtbl -> msPutPropertyEnabled(This,name,b) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyleEnabled_INTERFACE_DEFINED__ */


#ifndef __DispHTMLCSSStyleDeclaration_DISPINTERFACE_DEFINED__
#define __DispHTMLCSSStyleDeclaration_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLCSSStyleDeclaration */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLCSSStyleDeclaration;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059009a-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLCSSStyleDeclaration : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLCSSStyleDeclarationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLCSSStyleDeclaration * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLCSSStyleDeclaration * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLCSSStyleDeclaration * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLCSSStyleDeclaration * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLCSSStyleDeclaration * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLCSSStyleDeclaration * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLCSSStyleDeclarationVtbl;

    interface DispHTMLCSSStyleDeclaration
    {
        CONST_VTBL struct DispHTMLCSSStyleDeclarationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLCSSStyleDeclaration_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLCSSStyleDeclaration_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLCSSStyleDeclaration_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLCSSStyleDeclaration_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLCSSStyleDeclaration_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLCSSStyleDeclaration_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLCSSStyleDeclaration_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLCSSStyleDeclaration_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLCSSStyleDeclaration;

#ifdef __cplusplus

class DECLSPEC_UUID("30510741-98b5-11cf-bb82-00aa00bdce0b")
HTMLCSSStyleDeclaration;
#endif

#ifndef __IHTMLStyle_INTERFACE_DEFINED__
#define __IHTMLStyle_INTERFACE_DEFINED__

/* interface IHTMLStyle */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f25e-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyle : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_fontFamily( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fontFamily( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_fontStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fontStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_fontVariant( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fontVariant( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_fontWeight( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fontWeight( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_fontSize( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fontSize( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_font( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_font( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_color( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_color( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_background( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_background( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_backgroundColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_backgroundImage( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundImage( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_backgroundRepeat( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundRepeat( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_backgroundAttachment( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundAttachment( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_backgroundPosition( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundPosition( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_backgroundPositionX( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundPositionX( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_backgroundPositionY( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundPositionY( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_wordSpacing( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_wordSpacing( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_letterSpacing( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_letterSpacing( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textDecoration( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textDecoration( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textDecorationNone( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textDecorationNone( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textDecorationUnderline( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textDecorationUnderline( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textDecorationOverline( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textDecorationOverline( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textDecorationLineThrough( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textDecorationLineThrough( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textDecorationBlink( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textDecorationBlink( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_verticalAlign( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_verticalAlign( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textTransform( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textTransform( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textAlign( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textAlign( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textIndent( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textIndent( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_lineHeight( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_lineHeight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_marginTop( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_marginTop( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_marginRight( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_marginRight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_marginBottom( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_marginBottom( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_marginLeft( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_marginLeft( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_margin( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_margin( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_paddingTop( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_paddingTop( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_paddingRight( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_paddingRight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_paddingBottom( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_paddingBottom( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_paddingLeft( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_paddingLeft( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_padding( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_padding( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_border( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_border( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderTop( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderTop( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderRight( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderRight( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderBottom( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderBottom( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderLeft( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderLeft( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderColor( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderColor( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderTopColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderTopColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderRightColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderRightColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderBottomColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderBottomColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderLeftColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderLeftColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderWidth( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderWidth( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderTopWidth( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderTopWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderRightWidth( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderRightWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderBottomWidth( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderBottomWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderLeftWidth( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderLeftWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderTopStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderTopStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderRightStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderRightStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderBottomStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderBottomStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderLeftStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderLeftStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_width( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_height( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_styleFloat( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_styleFloat( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_clear( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clear( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_display( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_display( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_visibility( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_visibility( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_listStyleType( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_listStyleType( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_listStylePosition( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_listStylePosition( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_listStyleImage( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_listStyleImage( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_listStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_listStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_whiteSpace( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_whiteSpace( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_top( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_top( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_left( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_left( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_position( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_zIndex( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_zIndex( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_overflow( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_overflow( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_pageBreakBefore( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_pageBreakBefore( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_pageBreakAfter( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_pageBreakAfter( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_cssText( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_cssText( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_pixelTop( 
            /* [in] */ long v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_pixelTop( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_pixelLeft( 
            /* [in] */ long v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_pixelLeft( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_pixelWidth( 
            /* [in] */ long v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_pixelWidth( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_pixelHeight( 
            /* [in] */ long v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_pixelHeight( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_posTop( 
            /* [in] */ float v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_posTop( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_posLeft( 
            /* [in] */ float v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_posLeft( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_posWidth( 
            /* [in] */ float v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_posWidth( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_posHeight( 
            /* [in] */ float v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_posHeight( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_cursor( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_cursor( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_clip( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clip( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_filter( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_filter( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setAttribute( 
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in] */ VARIANT AttributeValue,
            /* [in][defaultvalue] */ LONG lFlags = 1) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getAttribute( 
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in][defaultvalue] */ LONG lFlags,
            /* [out][retval] */ __RPC__out VARIANT *AttributeValue) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeAttribute( 
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in][defaultvalue] */ LONG lFlags,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfSuccess) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE toString( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *String) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyle * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyle * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_fontFamily )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontFamily )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_fontStyle )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontStyle )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_fontVariant )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontVariant )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_fontWeight )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontWeight )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_fontSize )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontSize )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_font )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_font )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_color )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_color )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_background )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_background )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_backgroundColor )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundColor )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_backgroundImage )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundImage )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_backgroundRepeat )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundRepeat )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_backgroundAttachment )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundAttachment )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_backgroundPosition )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundPosition )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_backgroundPositionX )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundPositionX )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_backgroundPositionY )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundPositionY )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_wordSpacing )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_wordSpacing )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_letterSpacing )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_letterSpacing )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textDecoration )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textDecoration )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textDecorationNone )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textDecorationNone )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textDecorationUnderline )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textDecorationUnderline )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textDecorationOverline )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textDecorationOverline )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textDecorationLineThrough )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textDecorationLineThrough )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textDecorationBlink )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textDecorationBlink )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_verticalAlign )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_verticalAlign )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textTransform )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textTransform )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textAlign )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAlign )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textIndent )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textIndent )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_lineHeight )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lineHeight )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marginTop )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginTop )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marginRight )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginRight )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marginBottom )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginBottom )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marginLeft )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginLeft )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_margin )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_margin )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_paddingTop )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_paddingTop )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_paddingRight )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_paddingRight )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_paddingBottom )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_paddingBottom )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_paddingLeft )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_paddingLeft )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_padding )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_padding )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_border )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_border )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderTop )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderTop )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderRight )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderRight )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderBottom )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderBottom )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderLeft )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderLeft )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderColor )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderColor )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderTopColor )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderTopColor )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderRightColor )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderRightColor )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderBottomColor )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderBottomColor )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderLeftColor )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderLeftColor )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderWidth )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderWidth )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderTopWidth )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderTopWidth )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderRightWidth )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderRightWidth )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderBottomWidth )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderBottomWidth )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderLeftWidth )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderLeftWidth )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderStyle )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderStyle )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderTopStyle )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderTopStyle )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderRightStyle )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderRightStyle )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderBottomStyle )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderBottomStyle )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderLeftStyle )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderLeftStyle )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_width )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_height )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_styleFloat )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_styleFloat )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_clear )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clear )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_display )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_display )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_visibility )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_visibility )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_listStyleType )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_listStyleType )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_listStylePosition )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_listStylePosition )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_listStyleImage )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_listStyleImage )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_listStyle )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_listStyle )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_whiteSpace )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_whiteSpace )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_top )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_top )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_left )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_left )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_position )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_zIndex )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_zIndex )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_overflow )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_overflow )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pageBreakBefore )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageBreakBefore )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pageBreakAfter )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageBreakAfter )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_cssText )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cssText )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pixelTop )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ long v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pixelTop )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pixelLeft )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ long v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pixelLeft )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pixelWidth )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ long v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pixelWidth )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pixelHeight )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ long v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pixelHeight )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_posTop )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ float v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_posTop )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_posLeft )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ float v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_posLeft )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_posWidth )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ float v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_posWidth )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_posHeight )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ float v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_posHeight )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_cursor )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cursor )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_clip )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clip )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_filter )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_filter )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setAttribute )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in] */ VARIANT AttributeValue,
            /* [in][defaultvalue] */ LONG lFlags);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getAttribute )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in][defaultvalue] */ LONG lFlags,
            /* [out][retval] */ __RPC__out VARIANT *AttributeValue);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeAttribute )( 
            __RPC__in IHTMLStyle * This,
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in][defaultvalue] */ LONG lFlags,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfSuccess);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *toString )( 
            __RPC__in IHTMLStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *String);
        
        END_INTERFACE
    } IHTMLStyleVtbl;

    interface IHTMLStyle
    {
        CONST_VTBL struct IHTMLStyleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyle_INTERFACE_DEFINED__ */


#ifndef __IHTMLStyle2_INTERFACE_DEFINED__
#define __IHTMLStyle2_INTERFACE_DEFINED__

/* interface IHTMLStyle2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyle2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4a2-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyle2 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_tableLayout( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_tableLayout( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderCollapse( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderCollapse( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_direction( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_direction( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_behavior( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_behavior( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setExpression( 
            /* [in] */ __RPC__in BSTR propname,
            /* [in] */ __RPC__in BSTR expression,
            /* [in][defaultvalue] */ __RPC__in BSTR language = (BSTR)L"") = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getExpression( 
            /* [in] */ __RPC__in BSTR propname,
            /* [out][retval] */ __RPC__out VARIANT *expression) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeExpression( 
            /* [in] */ __RPC__in BSTR propname,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfSuccess) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_position( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_position( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_unicodeBidi( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_unicodeBidi( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_bottom( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_bottom( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_right( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_right( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_pixelBottom( 
            /* [in] */ long v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_pixelBottom( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_pixelRight( 
            /* [in] */ long v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_pixelRight( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_posBottom( 
            /* [in] */ float v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_posBottom( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_posRight( 
            /* [in] */ float v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_posRight( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_imeMode( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_imeMode( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_rubyAlign( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_rubyAlign( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_rubyPosition( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_rubyPosition( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_rubyOverhang( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_rubyOverhang( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_layoutGridChar( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_layoutGridChar( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_layoutGridLine( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_layoutGridLine( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_layoutGridMode( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_layoutGridMode( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_layoutGridType( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_layoutGridType( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_layoutGrid( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_layoutGrid( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_wordBreak( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_wordBreak( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_lineBreak( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_lineBreak( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textJustify( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textJustify( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textJustifyTrim( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textJustifyTrim( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textKashida( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textKashida( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textAutospace( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textAutospace( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_overflowX( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_overflowX( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_overflowY( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_overflowY( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_accelerator( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_accelerator( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyle2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyle2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyle2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyle2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_tableLayout )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_tableLayout )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderCollapse )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderCollapse )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_direction )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_direction )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_behavior )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_behavior )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setExpression )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ __RPC__in BSTR propname,
            /* [in] */ __RPC__in BSTR expression,
            /* [in][defaultvalue] */ __RPC__in BSTR language);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getExpression )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ __RPC__in BSTR propname,
            /* [out][retval] */ __RPC__out VARIANT *expression);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeExpression )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ __RPC__in BSTR propname,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfSuccess);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_position )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_position )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_unicodeBidi )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unicodeBidi )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_bottom )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bottom )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_right )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_right )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pixelBottom )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ long v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pixelBottom )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pixelRight )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ long v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pixelRight )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_posBottom )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ float v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_posBottom )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_posRight )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ float v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_posRight )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_imeMode )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_imeMode )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_rubyAlign )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rubyAlign )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_rubyPosition )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rubyPosition )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_rubyOverhang )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rubyOverhang )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_layoutGridChar )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layoutGridChar )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_layoutGridLine )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layoutGridLine )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_layoutGridMode )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layoutGridMode )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_layoutGridType )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layoutGridType )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_layoutGrid )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layoutGrid )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_wordBreak )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_wordBreak )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_lineBreak )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lineBreak )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textJustify )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textJustify )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textJustifyTrim )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textJustifyTrim )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textKashida )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textKashida )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textAutospace )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAutospace )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_overflowX )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_overflowX )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_overflowY )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_overflowY )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_accelerator )( 
            __RPC__in IHTMLStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_accelerator )( 
            __RPC__in IHTMLStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLStyle2Vtbl;

    interface IHTMLStyle2
    {
        CONST_VTBL struct IHTMLStyle2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyle2_INTERFACE_DEFINED__ */


#ifndef __IHTMLStyle3_INTERFACE_DEFINED__
#define __IHTMLStyle3_INTERFACE_DEFINED__

/* interface IHTMLStyle3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyle3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f656-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyle3 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_layoutFlow( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_layoutFlow( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_zoom( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_zoom( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_wordWrap( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_wordWrap( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textUnderlinePosition( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textUnderlinePosition( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollbarBaseColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarBaseColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollbarFaceColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarFaceColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollbar3dLightColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbar3dLightColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollbarShadowColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarShadowColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollbarHighlightColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarHighlightColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollbarDarkShadowColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarDarkShadowColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollbarArrowColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarArrowColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollbarTrackColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarTrackColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_writingMode( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_writingMode( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textAlignLast( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textAlignLast( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textKashidaSpace( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textKashidaSpace( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyle3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyle3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyle3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyle3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyle3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyle3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyle3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyle3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_layoutFlow )( 
            __RPC__in IHTMLStyle3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layoutFlow )( 
            __RPC__in IHTMLStyle3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_zoom )( 
            __RPC__in IHTMLStyle3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_zoom )( 
            __RPC__in IHTMLStyle3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_wordWrap )( 
            __RPC__in IHTMLStyle3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_wordWrap )( 
            __RPC__in IHTMLStyle3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textUnderlinePosition )( 
            __RPC__in IHTMLStyle3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textUnderlinePosition )( 
            __RPC__in IHTMLStyle3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollbarBaseColor )( 
            __RPC__in IHTMLStyle3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarBaseColor )( 
            __RPC__in IHTMLStyle3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollbarFaceColor )( 
            __RPC__in IHTMLStyle3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarFaceColor )( 
            __RPC__in IHTMLStyle3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollbar3dLightColor )( 
            __RPC__in IHTMLStyle3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbar3dLightColor )( 
            __RPC__in IHTMLStyle3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollbarShadowColor )( 
            __RPC__in IHTMLStyle3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarShadowColor )( 
            __RPC__in IHTMLStyle3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollbarHighlightColor )( 
            __RPC__in IHTMLStyle3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarHighlightColor )( 
            __RPC__in IHTMLStyle3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollbarDarkShadowColor )( 
            __RPC__in IHTMLStyle3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarDarkShadowColor )( 
            __RPC__in IHTMLStyle3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollbarArrowColor )( 
            __RPC__in IHTMLStyle3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarArrowColor )( 
            __RPC__in IHTMLStyle3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollbarTrackColor )( 
            __RPC__in IHTMLStyle3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarTrackColor )( 
            __RPC__in IHTMLStyle3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_writingMode )( 
            __RPC__in IHTMLStyle3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_writingMode )( 
            __RPC__in IHTMLStyle3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textAlignLast )( 
            __RPC__in IHTMLStyle3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAlignLast )( 
            __RPC__in IHTMLStyle3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textKashidaSpace )( 
            __RPC__in IHTMLStyle3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textKashidaSpace )( 
            __RPC__in IHTMLStyle3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLStyle3Vtbl;

    interface IHTMLStyle3
    {
        CONST_VTBL struct IHTMLStyle3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyle3_INTERFACE_DEFINED__ */


#ifndef __IHTMLStyle4_INTERFACE_DEFINED__
#define __IHTMLStyle4_INTERFACE_DEFINED__

/* interface IHTMLStyle4 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyle4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f816-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyle4 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textOverflow( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textOverflow( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_minHeight( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_minHeight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyle4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyle4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyle4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyle4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyle4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyle4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyle4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyle4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textOverflow )( 
            __RPC__in IHTMLStyle4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textOverflow )( 
            __RPC__in IHTMLStyle4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_minHeight )( 
            __RPC__in IHTMLStyle4 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_minHeight )( 
            __RPC__in IHTMLStyle4 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLStyle4Vtbl;

    interface IHTMLStyle4
    {
        CONST_VTBL struct IHTMLStyle4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyle4_INTERFACE_DEFINED__ */


#ifndef __IHTMLStyle5_INTERFACE_DEFINED__
#define __IHTMLStyle5_INTERFACE_DEFINED__

/* interface IHTMLStyle5 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyle5;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f33a-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyle5 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msInterpolationMode( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msInterpolationMode( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_maxHeight( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_maxHeight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_minWidth( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_minWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_maxWidth( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_maxWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyle5Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyle5 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyle5 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyle5 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyle5 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyle5 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyle5 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyle5 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msInterpolationMode )( 
            __RPC__in IHTMLStyle5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msInterpolationMode )( 
            __RPC__in IHTMLStyle5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_maxHeight )( 
            __RPC__in IHTMLStyle5 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_maxHeight )( 
            __RPC__in IHTMLStyle5 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_minWidth )( 
            __RPC__in IHTMLStyle5 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_minWidth )( 
            __RPC__in IHTMLStyle5 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_maxWidth )( 
            __RPC__in IHTMLStyle5 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_maxWidth )( 
            __RPC__in IHTMLStyle5 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLStyle5Vtbl;

    interface IHTMLStyle5
    {
        CONST_VTBL struct IHTMLStyle5Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyle5_INTERFACE_DEFINED__ */


#ifndef __IHTMLStyle6_INTERFACE_DEFINED__
#define __IHTMLStyle6_INTERFACE_DEFINED__

/* interface IHTMLStyle6 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyle6;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510480-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyle6 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_content( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_content( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_captionSide( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_captionSide( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_counterIncrement( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_counterIncrement( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_counterReset( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_counterReset( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_outline( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_outline( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_outlineWidth( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_outlineWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_outlineStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_outlineStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_outlineColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_outlineColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_boxSizing( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_boxSizing( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderSpacing( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderSpacing( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_orphans( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_orphans( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_widows( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_widows( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_pageBreakInside( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_pageBreakInside( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_emptyCells( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_emptyCells( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msBlockProgression( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msBlockProgression( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_quotes( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_quotes( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyle6Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyle6 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyle6 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyle6 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyle6 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyle6 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyle6 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyle6 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_content )( 
            __RPC__in IHTMLStyle6 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_content )( 
            __RPC__in IHTMLStyle6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_captionSide )( 
            __RPC__in IHTMLStyle6 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_captionSide )( 
            __RPC__in IHTMLStyle6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_counterIncrement )( 
            __RPC__in IHTMLStyle6 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_counterIncrement )( 
            __RPC__in IHTMLStyle6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_counterReset )( 
            __RPC__in IHTMLStyle6 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_counterReset )( 
            __RPC__in IHTMLStyle6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_outline )( 
            __RPC__in IHTMLStyle6 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_outline )( 
            __RPC__in IHTMLStyle6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_outlineWidth )( 
            __RPC__in IHTMLStyle6 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_outlineWidth )( 
            __RPC__in IHTMLStyle6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_outlineStyle )( 
            __RPC__in IHTMLStyle6 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_outlineStyle )( 
            __RPC__in IHTMLStyle6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_outlineColor )( 
            __RPC__in IHTMLStyle6 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_outlineColor )( 
            __RPC__in IHTMLStyle6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_boxSizing )( 
            __RPC__in IHTMLStyle6 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_boxSizing )( 
            __RPC__in IHTMLStyle6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderSpacing )( 
            __RPC__in IHTMLStyle6 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderSpacing )( 
            __RPC__in IHTMLStyle6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_orphans )( 
            __RPC__in IHTMLStyle6 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_orphans )( 
            __RPC__in IHTMLStyle6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_widows )( 
            __RPC__in IHTMLStyle6 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_widows )( 
            __RPC__in IHTMLStyle6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pageBreakInside )( 
            __RPC__in IHTMLStyle6 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageBreakInside )( 
            __RPC__in IHTMLStyle6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_emptyCells )( 
            __RPC__in IHTMLStyle6 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_emptyCells )( 
            __RPC__in IHTMLStyle6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msBlockProgression )( 
            __RPC__in IHTMLStyle6 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msBlockProgression )( 
            __RPC__in IHTMLStyle6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_quotes )( 
            __RPC__in IHTMLStyle6 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_quotes )( 
            __RPC__in IHTMLStyle6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLStyle6Vtbl;

    interface IHTMLStyle6
    {
        CONST_VTBL struct IHTMLStyle6Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyle6_INTERFACE_DEFINED__ */


#ifndef __IHTMLRuleStyle_INTERFACE_DEFINED__
#define __IHTMLRuleStyle_INTERFACE_DEFINED__

/* interface IHTMLRuleStyle */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLRuleStyle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f3cf-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLRuleStyle : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_fontFamily( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fontFamily( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_fontStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fontStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_fontVariant( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fontVariant( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_fontWeight( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fontWeight( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_fontSize( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fontSize( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_font( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_font( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_color( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_color( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_background( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_background( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_backgroundColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_backgroundImage( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundImage( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_backgroundRepeat( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundRepeat( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_backgroundAttachment( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundAttachment( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_backgroundPosition( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundPosition( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_backgroundPositionX( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundPositionX( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_backgroundPositionY( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundPositionY( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_wordSpacing( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_wordSpacing( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_letterSpacing( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_letterSpacing( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textDecoration( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textDecoration( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textDecorationNone( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textDecorationNone( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textDecorationUnderline( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textDecorationUnderline( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textDecorationOverline( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textDecorationOverline( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textDecorationLineThrough( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textDecorationLineThrough( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textDecorationBlink( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textDecorationBlink( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_verticalAlign( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_verticalAlign( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textTransform( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textTransform( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textAlign( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textAlign( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textIndent( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textIndent( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_lineHeight( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_lineHeight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_marginTop( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_marginTop( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_marginRight( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_marginRight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_marginBottom( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_marginBottom( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_marginLeft( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_marginLeft( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_margin( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_margin( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_paddingTop( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_paddingTop( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_paddingRight( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_paddingRight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_paddingBottom( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_paddingBottom( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_paddingLeft( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_paddingLeft( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_padding( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_padding( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_border( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_border( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderTop( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderTop( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderRight( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderRight( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderBottom( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderBottom( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderLeft( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderLeft( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderColor( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderColor( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderTopColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderTopColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderRightColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderRightColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderBottomColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderBottomColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderLeftColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderLeftColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderWidth( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderWidth( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderTopWidth( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderTopWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderRightWidth( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderRightWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderBottomWidth( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderBottomWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderLeftWidth( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderLeftWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderTopStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderTopStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderRightStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderRightStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderBottomStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderBottomStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderLeftStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderLeftStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_width( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_height( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_styleFloat( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_styleFloat( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_clear( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clear( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_display( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_display( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_visibility( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_visibility( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_listStyleType( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_listStyleType( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_listStylePosition( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_listStylePosition( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_listStyleImage( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_listStyleImage( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_listStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_listStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_whiteSpace( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_whiteSpace( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_top( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_top( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_left( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_left( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_position( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_zIndex( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_zIndex( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_overflow( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_overflow( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_pageBreakBefore( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_pageBreakBefore( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_pageBreakAfter( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_pageBreakAfter( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_cssText( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_cssText( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_cursor( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_cursor( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_clip( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clip( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_filter( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_filter( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setAttribute( 
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in] */ VARIANT AttributeValue,
            /* [in][defaultvalue] */ LONG lFlags = 1) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getAttribute( 
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in][defaultvalue] */ LONG lFlags,
            /* [out][retval] */ __RPC__out VARIANT *AttributeValue) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeAttribute( 
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in][defaultvalue] */ LONG lFlags,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfSuccess) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLRuleStyleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLRuleStyle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLRuleStyle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLRuleStyle * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_fontFamily )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontFamily )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_fontStyle )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontStyle )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_fontVariant )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontVariant )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_fontWeight )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontWeight )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_fontSize )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontSize )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_font )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_font )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_color )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_color )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_background )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_background )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_backgroundColor )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundColor )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_backgroundImage )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundImage )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_backgroundRepeat )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundRepeat )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_backgroundAttachment )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundAttachment )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_backgroundPosition )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundPosition )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_backgroundPositionX )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundPositionX )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_backgroundPositionY )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundPositionY )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_wordSpacing )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_wordSpacing )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_letterSpacing )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_letterSpacing )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textDecoration )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textDecoration )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textDecorationNone )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textDecorationNone )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textDecorationUnderline )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textDecorationUnderline )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textDecorationOverline )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textDecorationOverline )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textDecorationLineThrough )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textDecorationLineThrough )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textDecorationBlink )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textDecorationBlink )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_verticalAlign )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_verticalAlign )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textTransform )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textTransform )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textAlign )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAlign )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textIndent )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textIndent )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_lineHeight )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lineHeight )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marginTop )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginTop )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marginRight )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginRight )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marginBottom )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginBottom )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marginLeft )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginLeft )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_margin )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_margin )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_paddingTop )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_paddingTop )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_paddingRight )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_paddingRight )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_paddingBottom )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_paddingBottom )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_paddingLeft )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_paddingLeft )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_padding )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_padding )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_border )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_border )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderTop )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderTop )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderRight )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderRight )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderBottom )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderBottom )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderLeft )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderLeft )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderColor )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderColor )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderTopColor )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderTopColor )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderRightColor )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderRightColor )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderBottomColor )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderBottomColor )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderLeftColor )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderLeftColor )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderWidth )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderWidth )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderTopWidth )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderTopWidth )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderRightWidth )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderRightWidth )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderBottomWidth )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderBottomWidth )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderLeftWidth )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderLeftWidth )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderStyle )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderStyle )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderTopStyle )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderTopStyle )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderRightStyle )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderRightStyle )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderBottomStyle )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderBottomStyle )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderLeftStyle )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderLeftStyle )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_width )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_height )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_styleFloat )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_styleFloat )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_clear )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clear )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_display )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_display )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_visibility )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_visibility )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_listStyleType )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_listStyleType )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_listStylePosition )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_listStylePosition )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_listStyleImage )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_listStyleImage )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_listStyle )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_listStyle )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_whiteSpace )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_whiteSpace )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_top )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_top )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_left )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_left )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_position )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_zIndex )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_zIndex )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_overflow )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_overflow )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pageBreakBefore )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageBreakBefore )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pageBreakAfter )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageBreakAfter )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_cssText )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cssText )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_cursor )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cursor )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_clip )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clip )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_filter )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_filter )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setAttribute )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in] */ VARIANT AttributeValue,
            /* [in][defaultvalue] */ LONG lFlags);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getAttribute )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in][defaultvalue] */ LONG lFlags,
            /* [out][retval] */ __RPC__out VARIANT *AttributeValue);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeAttribute )( 
            __RPC__in IHTMLRuleStyle * This,
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in][defaultvalue] */ LONG lFlags,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfSuccess);
        
        END_INTERFACE
    } IHTMLRuleStyleVtbl;

    interface IHTMLRuleStyle
    {
        CONST_VTBL struct IHTMLRuleStyleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLRuleStyle_INTERFACE_DEFINED__ */


#ifndef __IHTMLRuleStyle2_INTERFACE_DEFINED__
#define __IHTMLRuleStyle2_INTERFACE_DEFINED__

/* interface IHTMLRuleStyle2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLRuleStyle2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4ac-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLRuleStyle2 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_tableLayout( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_tableLayout( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderCollapse( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderCollapse( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_direction( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_direction( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_behavior( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_behavior( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_position( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_position( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_unicodeBidi( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_unicodeBidi( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_bottom( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_bottom( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_right( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_right( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_pixelBottom( 
            /* [in] */ long v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_pixelBottom( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_pixelRight( 
            /* [in] */ long v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_pixelRight( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_posBottom( 
            /* [in] */ float v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_posBottom( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_posRight( 
            /* [in] */ float v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_posRight( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_imeMode( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_imeMode( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_rubyAlign( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_rubyAlign( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_rubyPosition( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_rubyPosition( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_rubyOverhang( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_rubyOverhang( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_layoutGridChar( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_layoutGridChar( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_layoutGridLine( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_layoutGridLine( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_layoutGridMode( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_layoutGridMode( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_layoutGridType( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_layoutGridType( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_layoutGrid( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_layoutGrid( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textAutospace( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textAutospace( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_wordBreak( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_wordBreak( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_lineBreak( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_lineBreak( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textJustify( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textJustify( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textJustifyTrim( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textJustifyTrim( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textKashida( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textKashida( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_overflowX( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_overflowX( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_overflowY( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_overflowY( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_accelerator( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_accelerator( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLRuleStyle2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLRuleStyle2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLRuleStyle2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLRuleStyle2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_tableLayout )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_tableLayout )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderCollapse )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderCollapse )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_direction )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_direction )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_behavior )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_behavior )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_position )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_position )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_unicodeBidi )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unicodeBidi )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_bottom )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bottom )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_right )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_right )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pixelBottom )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ long v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pixelBottom )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pixelRight )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ long v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pixelRight )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_posBottom )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ float v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_posBottom )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_posRight )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ float v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_posRight )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_imeMode )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_imeMode )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_rubyAlign )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rubyAlign )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_rubyPosition )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rubyPosition )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_rubyOverhang )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rubyOverhang )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_layoutGridChar )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layoutGridChar )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_layoutGridLine )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layoutGridLine )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_layoutGridMode )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layoutGridMode )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_layoutGridType )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layoutGridType )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [nonbrowsable][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_layoutGrid )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [nonbrowsable][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layoutGrid )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textAutospace )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAutospace )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_wordBreak )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_wordBreak )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_lineBreak )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lineBreak )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textJustify )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textJustify )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textJustifyTrim )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textJustifyTrim )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textKashida )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textKashida )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_overflowX )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_overflowX )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_overflowY )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_overflowY )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_accelerator )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_accelerator )( 
            __RPC__in IHTMLRuleStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLRuleStyle2Vtbl;

    interface IHTMLRuleStyle2
    {
        CONST_VTBL struct IHTMLRuleStyle2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLRuleStyle2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLRuleStyle2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLRuleStyle2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLRuleStyle2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLRuleStyle2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLRuleStyle2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLRuleStyle2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLRuleStyle2_put_tableLayout(This,v)	\
    ( (This)->lpVtbl -> put_tableLayout(This,v) ) 

#define IHTMLRuleStyle2_get_tableLayout(This,p)	\
    ( (This)->lpVtbl -> get_tableLayout(This,p) ) 

#define IHTMLRuleStyle2_put_borderCollapse(This,v)	\
    ( (This)->lpVtbl -> put_borderCollapse(This,v) ) 

#define IHTMLRuleStyle2_get_borderCollapse(This,p)	\
    ( (This)->lpVtbl -> get_borderCollapse(This,p) ) 

#define IHTMLRuleStyle2_put_direction(This,v)	\
    ( (This)->lpVtbl -> put_direction(This,v) ) 

#define IHTMLRuleStyle2_get_direction(This,p)	\
    ( (This)->lpVtbl -> get_direction(This,p) ) 

#define IHTMLRuleStyle2_put_behavior(This,v)	\
    ( (This)->lpVtbl -> put_behavior(This,v) ) 

#define IHTMLRuleStyle2_get_behavior(This,p)	\
    ( (This)->lpVtbl -> get_behavior(This,p) ) 

#define IHTMLRuleStyle2_put_position(This,v)	\
    ( (This)->lpVtbl -> put_position(This,v) ) 

#define IHTMLRuleStyle2_get_position(This,p)	\
    ( (This)->lpVtbl -> get_position(This,p) ) 

#define IHTMLRuleStyle2_put_unicodeBidi(This,v)	\
    ( (This)->lpVtbl -> put_unicodeBidi(This,v) ) 

#define IHTMLRuleStyle2_get_unicodeBidi(This,p)	\
    ( (This)->lpVtbl -> get_unicodeBidi(This,p) ) 

#define IHTMLRuleStyle2_put_bottom(This,v)	\
    ( (This)->lpVtbl -> put_bottom(This,v) ) 

#define IHTMLRuleStyle2_get_bottom(This,p)	\
    ( (This)->lpVtbl -> get_bottom(This,p) ) 

#define IHTMLRuleStyle2_put_right(This,v)	\
    ( (This)->lpVtbl -> put_right(This,v) ) 

#define IHTMLRuleStyle2_get_right(This,p)	\
    ( (This)->lpVtbl -> get_right(This,p) ) 

#define IHTMLRuleStyle2_put_pixelBottom(This,v)	\
    ( (This)->lpVtbl -> put_pixelBottom(This,v) ) 

#define IHTMLRuleStyle2_get_pixelBottom(This,p)	\
    ( (This)->lpVtbl -> get_pixelBottom(This,p) ) 

#define IHTMLRuleStyle2_put_pixelRight(This,v)	\
    ( (This)->lpVtbl -> put_pixelRight(This,v) ) 

#define IHTMLRuleStyle2_get_pixelRight(This,p)	\
    ( (This)->lpVtbl -> get_pixelRight(This,p) ) 

#define IHTMLRuleStyle2_put_posBottom(This,v)	\
    ( (This)->lpVtbl -> put_posBottom(This,v) ) 

#define IHTMLRuleStyle2_get_posBottom(This,p)	\
    ( (This)->lpVtbl -> get_posBottom(This,p) ) 

#define IHTMLRuleStyle2_put_posRight(This,v)	\
    ( (This)->lpVtbl -> put_posRight(This,v) ) 

#define IHTMLRuleStyle2_get_posRight(This,p)	\
    ( (This)->lpVtbl -> get_posRight(This,p) ) 

#define IHTMLRuleStyle2_put_imeMode(This,v)	\
    ( (This)->lpVtbl -> put_imeMode(This,v) ) 

#define IHTMLRuleStyle2_get_imeMode(This,p)	\
    ( (This)->lpVtbl -> get_imeMode(This,p) ) 

#define IHTMLRuleStyle2_put_rubyAlign(This,v)	\
    ( (This)->lpVtbl -> put_rubyAlign(This,v) ) 

#define IHTMLRuleStyle2_get_rubyAlign(This,p)	\
    ( (This)->lpVtbl -> get_rubyAlign(This,p) ) 

#define IHTMLRuleStyle2_put_rubyPosition(This,v)	\
    ( (This)->lpVtbl -> put_rubyPosition(This,v) ) 

#define IHTMLRuleStyle2_get_rubyPosition(This,p)	\
    ( (This)->lpVtbl -> get_rubyPosition(This,p) ) 

#define IHTMLRuleStyle2_put_rubyOverhang(This,v)	\
    ( (This)->lpVtbl -> put_rubyOverhang(This,v) ) 

#define IHTMLRuleStyle2_get_rubyOverhang(This,p)	\
    ( (This)->lpVtbl -> get_rubyOverhang(This,p) ) 

#define IHTMLRuleStyle2_put_layoutGridChar(This,v)	\
    ( (This)->lpVtbl -> put_layoutGridChar(This,v) ) 

#define IHTMLRuleStyle2_get_layoutGridChar(This,p)	\
    ( (This)->lpVtbl -> get_layoutGridChar(This,p) ) 

#define IHTMLRuleStyle2_put_layoutGridLine(This,v)	\
    ( (This)->lpVtbl -> put_layoutGridLine(This,v) ) 

#define IHTMLRuleStyle2_get_layoutGridLine(This,p)	\
    ( (This)->lpVtbl -> get_layoutGridLine(This,p) ) 

#define IHTMLRuleStyle2_put_layoutGridMode(This,v)	\
    ( (This)->lpVtbl -> put_layoutGridMode(This,v) ) 

#define IHTMLRuleStyle2_get_layoutGridMode(This,p)	\
    ( (This)->lpVtbl -> get_layoutGridMode(This,p) ) 

#define IHTMLRuleStyle2_put_layoutGridType(This,v)	\
    ( (This)->lpVtbl -> put_layoutGridType(This,v) ) 

#define IHTMLRuleStyle2_get_layoutGridType(This,p)	\
    ( (This)->lpVtbl -> get_layoutGridType(This,p) ) 

#define IHTMLRuleStyle2_put_layoutGrid(This,v)	\
    ( (This)->lpVtbl -> put_layoutGrid(This,v) ) 

#define IHTMLRuleStyle2_get_layoutGrid(This,p)	\
    ( (This)->lpVtbl -> get_layoutGrid(This,p) ) 

#define IHTMLRuleStyle2_put_textAutospace(This,v)	\
    ( (This)->lpVtbl -> put_textAutospace(This,v) ) 

#define IHTMLRuleStyle2_get_textAutospace(This,p)	\
    ( (This)->lpVtbl -> get_textAutospace(This,p) ) 

#define IHTMLRuleStyle2_put_wordBreak(This,v)	\
    ( (This)->lpVtbl -> put_wordBreak(This,v) ) 

#define IHTMLRuleStyle2_get_wordBreak(This,p)	\
    ( (This)->lpVtbl -> get_wordBreak(This,p) ) 

#define IHTMLRuleStyle2_put_lineBreak(This,v)	\
    ( (This)->lpVtbl -> put_lineBreak(This,v) ) 

#define IHTMLRuleStyle2_get_lineBreak(This,p)	\
    ( (This)->lpVtbl -> get_lineBreak(This,p) ) 

#define IHTMLRuleStyle2_put_textJustify(This,v)	\
    ( (This)->lpVtbl -> put_textJustify(This,v) ) 

#define IHTMLRuleStyle2_get_textJustify(This,p)	\
    ( (This)->lpVtbl -> get_textJustify(This,p) ) 

#define IHTMLRuleStyle2_put_textJustifyTrim(This,v)	\
    ( (This)->lpVtbl -> put_textJustifyTrim(This,v) ) 

#define IHTMLRuleStyle2_get_textJustifyTrim(This,p)	\
    ( (This)->lpVtbl -> get_textJustifyTrim(This,p) ) 

#define IHTMLRuleStyle2_put_textKashida(This,v)	\
    ( (This)->lpVtbl -> put_textKashida(This,v) ) 

#define IHTMLRuleStyle2_get_textKashida(This,p)	\
    ( (This)->lpVtbl -> get_textKashida(This,p) ) 

#define IHTMLRuleStyle2_put_overflowX(This,v)	\
    ( (This)->lpVtbl -> put_overflowX(This,v) ) 

#define IHTMLRuleStyle2_get_overflowX(This,p)	\
    ( (This)->lpVtbl -> get_overflowX(This,p) ) 

#define IHTMLRuleStyle2_put_overflowY(This,v)	\
    ( (This)->lpVtbl -> put_overflowY(This,v) ) 

#define IHTMLRuleStyle2_get_overflowY(This,p)	\
    ( (This)->lpVtbl -> get_overflowY(This,p) ) 

#define IHTMLRuleStyle2_put_accelerator(This,v)	\
    ( (This)->lpVtbl -> put_accelerator(This,v) ) 

#define IHTMLRuleStyle2_get_accelerator(This,p)	\
    ( (This)->lpVtbl -> get_accelerator(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLRuleStyle2_INTERFACE_DEFINED__ */


#ifndef __IHTMLRuleStyle3_INTERFACE_DEFINED__
#define __IHTMLRuleStyle3_INTERFACE_DEFINED__

/* interface IHTMLRuleStyle3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLRuleStyle3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f657-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLRuleStyle3 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_layoutFlow( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_layoutFlow( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_zoom( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_zoom( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_wordWrap( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_wordWrap( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textUnderlinePosition( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textUnderlinePosition( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollbarBaseColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarBaseColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollbarFaceColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarFaceColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollbar3dLightColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbar3dLightColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollbarShadowColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarShadowColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollbarHighlightColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarHighlightColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollbarDarkShadowColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarDarkShadowColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollbarArrowColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarArrowColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollbarTrackColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarTrackColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_writingMode( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_writingMode( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textAlignLast( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textAlignLast( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textKashidaSpace( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textKashidaSpace( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLRuleStyle3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLRuleStyle3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLRuleStyle3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLRuleStyle3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_layoutFlow )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layoutFlow )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_zoom )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_zoom )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_wordWrap )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_wordWrap )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textUnderlinePosition )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textUnderlinePosition )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollbarBaseColor )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarBaseColor )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollbarFaceColor )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarFaceColor )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollbar3dLightColor )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbar3dLightColor )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollbarShadowColor )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarShadowColor )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollbarHighlightColor )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarHighlightColor )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollbarDarkShadowColor )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarDarkShadowColor )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollbarArrowColor )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarArrowColor )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollbarTrackColor )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarTrackColor )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_writingMode )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_writingMode )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textAlignLast )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAlignLast )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textKashidaSpace )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textKashidaSpace )( 
            __RPC__in IHTMLRuleStyle3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLRuleStyle3Vtbl;

    interface IHTMLRuleStyle3
    {
        CONST_VTBL struct IHTMLRuleStyle3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLRuleStyle3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLRuleStyle3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLRuleStyle3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLRuleStyle3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLRuleStyle3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLRuleStyle3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLRuleStyle3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLRuleStyle3_put_layoutFlow(This,v)	\
    ( (This)->lpVtbl -> put_layoutFlow(This,v) ) 

#define IHTMLRuleStyle3_get_layoutFlow(This,p)	\
    ( (This)->lpVtbl -> get_layoutFlow(This,p) ) 

#define IHTMLRuleStyle3_put_zoom(This,v)	\
    ( (This)->lpVtbl -> put_zoom(This,v) ) 

#define IHTMLRuleStyle3_get_zoom(This,p)	\
    ( (This)->lpVtbl -> get_zoom(This,p) ) 

#define IHTMLRuleStyle3_put_wordWrap(This,v)	\
    ( (This)->lpVtbl -> put_wordWrap(This,v) ) 

#define IHTMLRuleStyle3_get_wordWrap(This,p)	\
    ( (This)->lpVtbl -> get_wordWrap(This,p) ) 

#define IHTMLRuleStyle3_put_textUnderlinePosition(This,v)	\
    ( (This)->lpVtbl -> put_textUnderlinePosition(This,v) ) 

#define IHTMLRuleStyle3_get_textUnderlinePosition(This,p)	\
    ( (This)->lpVtbl -> get_textUnderlinePosition(This,p) ) 

#define IHTMLRuleStyle3_put_scrollbarBaseColor(This,v)	\
    ( (This)->lpVtbl -> put_scrollbarBaseColor(This,v) ) 

#define IHTMLRuleStyle3_get_scrollbarBaseColor(This,p)	\
    ( (This)->lpVtbl -> get_scrollbarBaseColor(This,p) ) 

#define IHTMLRuleStyle3_put_scrollbarFaceColor(This,v)	\
    ( (This)->lpVtbl -> put_scrollbarFaceColor(This,v) ) 

#define IHTMLRuleStyle3_get_scrollbarFaceColor(This,p)	\
    ( (This)->lpVtbl -> get_scrollbarFaceColor(This,p) ) 

#define IHTMLRuleStyle3_put_scrollbar3dLightColor(This,v)	\
    ( (This)->lpVtbl -> put_scrollbar3dLightColor(This,v) ) 

#define IHTMLRuleStyle3_get_scrollbar3dLightColor(This,p)	\
    ( (This)->lpVtbl -> get_scrollbar3dLightColor(This,p) ) 

#define IHTMLRuleStyle3_put_scrollbarShadowColor(This,v)	\
    ( (This)->lpVtbl -> put_scrollbarShadowColor(This,v) ) 

#define IHTMLRuleStyle3_get_scrollbarShadowColor(This,p)	\
    ( (This)->lpVtbl -> get_scrollbarShadowColor(This,p) ) 

#define IHTMLRuleStyle3_put_scrollbarHighlightColor(This,v)	\
    ( (This)->lpVtbl -> put_scrollbarHighlightColor(This,v) ) 

#define IHTMLRuleStyle3_get_scrollbarHighlightColor(This,p)	\
    ( (This)->lpVtbl -> get_scrollbarHighlightColor(This,p) ) 

#define IHTMLRuleStyle3_put_scrollbarDarkShadowColor(This,v)	\
    ( (This)->lpVtbl -> put_scrollbarDarkShadowColor(This,v) ) 

#define IHTMLRuleStyle3_get_scrollbarDarkShadowColor(This,p)	\
    ( (This)->lpVtbl -> get_scrollbarDarkShadowColor(This,p) ) 

#define IHTMLRuleStyle3_put_scrollbarArrowColor(This,v)	\
    ( (This)->lpVtbl -> put_scrollbarArrowColor(This,v) ) 

#define IHTMLRuleStyle3_get_scrollbarArrowColor(This,p)	\
    ( (This)->lpVtbl -> get_scrollbarArrowColor(This,p) ) 

#define IHTMLRuleStyle3_put_scrollbarTrackColor(This,v)	\
    ( (This)->lpVtbl -> put_scrollbarTrackColor(This,v) ) 

#define IHTMLRuleStyle3_get_scrollbarTrackColor(This,p)	\
    ( (This)->lpVtbl -> get_scrollbarTrackColor(This,p) ) 

#define IHTMLRuleStyle3_put_writingMode(This,v)	\
    ( (This)->lpVtbl -> put_writingMode(This,v) ) 

#define IHTMLRuleStyle3_get_writingMode(This,p)	\
    ( (This)->lpVtbl -> get_writingMode(This,p) ) 

#define IHTMLRuleStyle3_put_textAlignLast(This,v)	\
    ( (This)->lpVtbl -> put_textAlignLast(This,v) ) 

#define IHTMLRuleStyle3_get_textAlignLast(This,p)	\
    ( (This)->lpVtbl -> get_textAlignLast(This,p) ) 

#define IHTMLRuleStyle3_put_textKashidaSpace(This,v)	\
    ( (This)->lpVtbl -> put_textKashidaSpace(This,v) ) 

#define IHTMLRuleStyle3_get_textKashidaSpace(This,p)	\
    ( (This)->lpVtbl -> get_textKashidaSpace(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLRuleStyle3_INTERFACE_DEFINED__ */


#ifndef __IHTMLRuleStyle4_INTERFACE_DEFINED__
#define __IHTMLRuleStyle4_INTERFACE_DEFINED__

/* interface IHTMLRuleStyle4 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLRuleStyle4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f817-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLRuleStyle4 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textOverflow( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textOverflow( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_minHeight( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_minHeight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLRuleStyle4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLRuleStyle4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLRuleStyle4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLRuleStyle4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLRuleStyle4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLRuleStyle4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLRuleStyle4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLRuleStyle4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textOverflow )( 
            __RPC__in IHTMLRuleStyle4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textOverflow )( 
            __RPC__in IHTMLRuleStyle4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_minHeight )( 
            __RPC__in IHTMLRuleStyle4 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_minHeight )( 
            __RPC__in IHTMLRuleStyle4 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLRuleStyle4Vtbl;

    interface IHTMLRuleStyle4
    {
        CONST_VTBL struct IHTMLRuleStyle4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLRuleStyle4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLRuleStyle4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLRuleStyle4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLRuleStyle4_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLRuleStyle4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLRuleStyle4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLRuleStyle4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLRuleStyle4_put_textOverflow(This,v)	\
    ( (This)->lpVtbl -> put_textOverflow(This,v) ) 

#define IHTMLRuleStyle4_get_textOverflow(This,p)	\
    ( (This)->lpVtbl -> get_textOverflow(This,p) ) 

#define IHTMLRuleStyle4_put_minHeight(This,v)	\
    ( (This)->lpVtbl -> put_minHeight(This,v) ) 

#define IHTMLRuleStyle4_get_minHeight(This,p)	\
    ( (This)->lpVtbl -> get_minHeight(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLRuleStyle4_INTERFACE_DEFINED__ */


#ifndef __IHTMLRuleStyle5_INTERFACE_DEFINED__
#define __IHTMLRuleStyle5_INTERFACE_DEFINED__

/* interface IHTMLRuleStyle5 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLRuleStyle5;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f335-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLRuleStyle5 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msInterpolationMode( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msInterpolationMode( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_maxHeight( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_maxHeight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_minWidth( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_minWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_maxWidth( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_maxWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLRuleStyle5Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLRuleStyle5 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLRuleStyle5 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLRuleStyle5 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLRuleStyle5 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLRuleStyle5 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLRuleStyle5 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLRuleStyle5 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msInterpolationMode )( 
            __RPC__in IHTMLRuleStyle5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msInterpolationMode )( 
            __RPC__in IHTMLRuleStyle5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_maxHeight )( 
            __RPC__in IHTMLRuleStyle5 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_maxHeight )( 
            __RPC__in IHTMLRuleStyle5 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_minWidth )( 
            __RPC__in IHTMLRuleStyle5 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_minWidth )( 
            __RPC__in IHTMLRuleStyle5 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_maxWidth )( 
            __RPC__in IHTMLRuleStyle5 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_maxWidth )( 
            __RPC__in IHTMLRuleStyle5 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLRuleStyle5Vtbl;

    interface IHTMLRuleStyle5
    {
        CONST_VTBL struct IHTMLRuleStyle5Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLRuleStyle5_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLRuleStyle5_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLRuleStyle5_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLRuleStyle5_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLRuleStyle5_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLRuleStyle5_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLRuleStyle5_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLRuleStyle5_put_msInterpolationMode(This,v)	\
    ( (This)->lpVtbl -> put_msInterpolationMode(This,v) ) 

#define IHTMLRuleStyle5_get_msInterpolationMode(This,p)	\
    ( (This)->lpVtbl -> get_msInterpolationMode(This,p) ) 

#define IHTMLRuleStyle5_put_maxHeight(This,v)	\
    ( (This)->lpVtbl -> put_maxHeight(This,v) ) 

#define IHTMLRuleStyle5_get_maxHeight(This,p)	\
    ( (This)->lpVtbl -> get_maxHeight(This,p) ) 

#define IHTMLRuleStyle5_put_minWidth(This,v)	\
    ( (This)->lpVtbl -> put_minWidth(This,v) ) 

#define IHTMLRuleStyle5_get_minWidth(This,p)	\
    ( (This)->lpVtbl -> get_minWidth(This,p) ) 

#define IHTMLRuleStyle5_put_maxWidth(This,v)	\
    ( (This)->lpVtbl -> put_maxWidth(This,v) ) 

#define IHTMLRuleStyle5_get_maxWidth(This,p)	\
    ( (This)->lpVtbl -> get_maxWidth(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLRuleStyle5_INTERFACE_DEFINED__ */


#ifndef __IHTMLRuleStyle6_INTERFACE_DEFINED__
#define __IHTMLRuleStyle6_INTERFACE_DEFINED__

/* interface IHTMLRuleStyle6 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLRuleStyle6;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510471-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLRuleStyle6 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_content( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_content( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_captionSide( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_captionSide( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_counterIncrement( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_counterIncrement( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_counterReset( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_counterReset( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_outline( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_outline( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_outlineWidth( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_outlineWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_outlineStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_outlineStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_outlineColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_outlineColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_boxSizing( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_boxSizing( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_borderSpacing( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderSpacing( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_orphans( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_orphans( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_widows( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_widows( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_pageBreakInside( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_pageBreakInside( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_emptyCells( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_emptyCells( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msBlockProgression( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msBlockProgression( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_quotes( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_quotes( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLRuleStyle6Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLRuleStyle6 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLRuleStyle6 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLRuleStyle6 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_content )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_content )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_captionSide )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_captionSide )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_counterIncrement )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_counterIncrement )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_counterReset )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_counterReset )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_outline )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_outline )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_outlineWidth )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_outlineWidth )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_outlineStyle )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_outlineStyle )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_outlineColor )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_outlineColor )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_boxSizing )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_boxSizing )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderSpacing )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderSpacing )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_orphans )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_orphans )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_widows )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_widows )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pageBreakInside )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageBreakInside )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_emptyCells )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_emptyCells )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msBlockProgression )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msBlockProgression )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_quotes )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_quotes )( 
            __RPC__in IHTMLRuleStyle6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLRuleStyle6Vtbl;

    interface IHTMLRuleStyle6
    {
        CONST_VTBL struct IHTMLRuleStyle6Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLRuleStyle6_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLRuleStyle6_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLRuleStyle6_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLRuleStyle6_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLRuleStyle6_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLRuleStyle6_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLRuleStyle6_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLRuleStyle6_put_content(This,v)	\
    ( (This)->lpVtbl -> put_content(This,v) ) 

#define IHTMLRuleStyle6_get_content(This,p)	\
    ( (This)->lpVtbl -> get_content(This,p) ) 

#define IHTMLRuleStyle6_put_captionSide(This,v)	\
    ( (This)->lpVtbl -> put_captionSide(This,v) ) 

#define IHTMLRuleStyle6_get_captionSide(This,p)	\
    ( (This)->lpVtbl -> get_captionSide(This,p) ) 

#define IHTMLRuleStyle6_put_counterIncrement(This,v)	\
    ( (This)->lpVtbl -> put_counterIncrement(This,v) ) 

#define IHTMLRuleStyle6_get_counterIncrement(This,p)	\
    ( (This)->lpVtbl -> get_counterIncrement(This,p) ) 

#define IHTMLRuleStyle6_put_counterReset(This,v)	\
    ( (This)->lpVtbl -> put_counterReset(This,v) ) 

#define IHTMLRuleStyle6_get_counterReset(This,p)	\
    ( (This)->lpVtbl -> get_counterReset(This,p) ) 

#define IHTMLRuleStyle6_put_outline(This,v)	\
    ( (This)->lpVtbl -> put_outline(This,v) ) 

#define IHTMLRuleStyle6_get_outline(This,p)	\
    ( (This)->lpVtbl -> get_outline(This,p) ) 

#define IHTMLRuleStyle6_put_outlineWidth(This,v)	\
    ( (This)->lpVtbl -> put_outlineWidth(This,v) ) 

#define IHTMLRuleStyle6_get_outlineWidth(This,p)	\
    ( (This)->lpVtbl -> get_outlineWidth(This,p) ) 

#define IHTMLRuleStyle6_put_outlineStyle(This,v)	\
    ( (This)->lpVtbl -> put_outlineStyle(This,v) ) 

#define IHTMLRuleStyle6_get_outlineStyle(This,p)	\
    ( (This)->lpVtbl -> get_outlineStyle(This,p) ) 

#define IHTMLRuleStyle6_put_outlineColor(This,v)	\
    ( (This)->lpVtbl -> put_outlineColor(This,v) ) 

#define IHTMLRuleStyle6_get_outlineColor(This,p)	\
    ( (This)->lpVtbl -> get_outlineColor(This,p) ) 

#define IHTMLRuleStyle6_put_boxSizing(This,v)	\
    ( (This)->lpVtbl -> put_boxSizing(This,v) ) 

#define IHTMLRuleStyle6_get_boxSizing(This,p)	\
    ( (This)->lpVtbl -> get_boxSizing(This,p) ) 

#define IHTMLRuleStyle6_put_borderSpacing(This,v)	\
    ( (This)->lpVtbl -> put_borderSpacing(This,v) ) 

#define IHTMLRuleStyle6_get_borderSpacing(This,p)	\
    ( (This)->lpVtbl -> get_borderSpacing(This,p) ) 

#define IHTMLRuleStyle6_put_orphans(This,v)	\
    ( (This)->lpVtbl -> put_orphans(This,v) ) 

#define IHTMLRuleStyle6_get_orphans(This,p)	\
    ( (This)->lpVtbl -> get_orphans(This,p) ) 

#define IHTMLRuleStyle6_put_widows(This,v)	\
    ( (This)->lpVtbl -> put_widows(This,v) ) 

#define IHTMLRuleStyle6_get_widows(This,p)	\
    ( (This)->lpVtbl -> get_widows(This,p) ) 

#define IHTMLRuleStyle6_put_pageBreakInside(This,v)	\
    ( (This)->lpVtbl -> put_pageBreakInside(This,v) ) 

#define IHTMLRuleStyle6_get_pageBreakInside(This,p)	\
    ( (This)->lpVtbl -> get_pageBreakInside(This,p) ) 

#define IHTMLRuleStyle6_put_emptyCells(This,v)	\
    ( (This)->lpVtbl -> put_emptyCells(This,v) ) 

#define IHTMLRuleStyle6_get_emptyCells(This,p)	\
    ( (This)->lpVtbl -> get_emptyCells(This,p) ) 

#define IHTMLRuleStyle6_put_msBlockProgression(This,v)	\
    ( (This)->lpVtbl -> put_msBlockProgression(This,v) ) 

#define IHTMLRuleStyle6_get_msBlockProgression(This,p)	\
    ( (This)->lpVtbl -> get_msBlockProgression(This,p) ) 

#define IHTMLRuleStyle6_put_quotes(This,v)	\
    ( (This)->lpVtbl -> put_quotes(This,v) ) 

#define IHTMLRuleStyle6_get_quotes(This,p)	\
    ( (This)->lpVtbl -> get_quotes(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLRuleStyle6_INTERFACE_DEFINED__ */


#ifndef __DispHTMLStyle_DISPINTERFACE_DEFINED__
#define __DispHTMLStyle_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLStyle */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLStyle;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f55a-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLStyle : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLStyleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLStyle * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLStyle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLStyle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLStyle * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLStyle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLStyle * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLStyle * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLStyleVtbl;

    interface DispHTMLStyle
    {
        CONST_VTBL struct DispHTMLStyleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLStyle_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLStyle;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f285-98b5-11cf-bb82-00aa00bdce0b")
HTMLStyle;
#endif

#ifndef __DispHTMLRuleStyle_DISPINTERFACE_DEFINED__
#define __DispHTMLRuleStyle_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLRuleStyle */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLRuleStyle;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f55c-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLRuleStyle : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLRuleStyleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLRuleStyle * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLRuleStyle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLRuleStyle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLRuleStyle * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLRuleStyle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLRuleStyle * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLRuleStyle * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLRuleStyleVtbl;

    interface DispHTMLRuleStyle
    {
        CONST_VTBL struct DispHTMLRuleStyleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLRuleStyle_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLRuleStyle_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLRuleStyle_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLRuleStyle_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLRuleStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLRuleStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLRuleStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLRuleStyle_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLRuleStyle;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f3d0-98b5-11cf-bb82-00aa00bdce0b")
HTMLRuleStyle;
#endif

#ifndef __IHTMLStyleSheetRulesCollection_INTERFACE_DEFINED__
#define __IHTMLStyleSheetRulesCollection_INTERFACE_DEFINED__

/* interface IHTMLStyleSheetRulesCollection */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyleSheetRulesCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f2e5-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyleSheetRulesCollection : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheetRule **ppHTMLStyleSheetRule) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyleSheetRulesCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyleSheetRulesCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyleSheetRulesCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyleSheetRulesCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyleSheetRulesCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyleSheetRulesCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyleSheetRulesCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyleSheetRulesCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLStyleSheetRulesCollection * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLStyleSheetRulesCollection * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
        
        END_INTERFACE
    } IHTMLStyleSheetRulesCollectionVtbl;

    interface IHTMLStyleSheetRulesCollection
    {
        CONST_VTBL struct IHTMLStyleSheetRulesCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLStyleSheetRulesCollection_get_length(This,p)	\
    ( (This)->lpVtbl -> get_length(This,p) ) 

#define IHTMLStyleSheetRulesCollection_item(This,index,ppHTMLStyleSheetRule)	\
    ( (This)->lpVtbl -> item(This,index,ppHTMLStyleSheetRule) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyleSheetRulesCollection_INTERFACE_DEFINED__ */


#ifndef __IHTMLStyleSheet_INTERFACE_DEFINED__
#define __IHTMLStyleSheet_INTERFACE_DEFINED__

/* interface IHTMLStyleSheet */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyleSheet;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f2e3-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyleSheet : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_title( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_title( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_parentStyleSheet( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheet **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_owningElement( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_disabled( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_disabled( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_readOnly( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_imports( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheetsCollection **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_href( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_href( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_id( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE addImport( 
            /* [in] */ __RPC__in BSTR bstrURL,
            /* [in][defaultvalue] */ long lIndex,
            /* [out][retval] */ __RPC__out long *plIndex) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE addRule( 
            /* [in] */ __RPC__in BSTR bstrSelector,
            /* [in] */ __RPC__in BSTR bstrStyle,
            /* [in][defaultvalue] */ long lIndex,
            /* [out][retval] */ __RPC__out long *plNewIndex) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeImport( 
            /* [in] */ long lIndex) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeRule( 
            /* [in] */ long lIndex) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_media( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_media( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_cssText( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cssText( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_rules( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheetRulesCollection **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyleSheetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyleSheet * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyleSheet * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyleSheet * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyleSheet * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyleSheet * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyleSheet * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyleSheet * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_title )( 
            __RPC__in IHTMLStyleSheet * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_title )( 
            __RPC__in IHTMLStyleSheet * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_parentStyleSheet )( 
            __RPC__in IHTMLStyleSheet * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheet **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_owningElement )( 
            __RPC__in IHTMLStyleSheet * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_disabled )( 
            __RPC__in IHTMLStyleSheet * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_disabled )( 
            __RPC__in IHTMLStyleSheet * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_readOnly )( 
            __RPC__in IHTMLStyleSheet * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_imports )( 
            __RPC__in IHTMLStyleSheet * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheetsCollection **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_href )( 
            __RPC__in IHTMLStyleSheet * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_href )( 
            __RPC__in IHTMLStyleSheet * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLStyleSheet * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_id )( 
            __RPC__in IHTMLStyleSheet * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *addImport )( 
            __RPC__in IHTMLStyleSheet * This,
            /* [in] */ __RPC__in BSTR bstrURL,
            /* [in][defaultvalue] */ long lIndex,
            /* [out][retval] */ __RPC__out long *plIndex);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *addRule )( 
            __RPC__in IHTMLStyleSheet * This,
            /* [in] */ __RPC__in BSTR bstrSelector,
            /* [in] */ __RPC__in BSTR bstrStyle,
            /* [in][defaultvalue] */ long lIndex,
            /* [out][retval] */ __RPC__out long *plNewIndex);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeImport )( 
            __RPC__in IHTMLStyleSheet * This,
            /* [in] */ long lIndex);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeRule )( 
            __RPC__in IHTMLStyleSheet * This,
            /* [in] */ long lIndex);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_media )( 
            __RPC__in IHTMLStyleSheet * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_media )( 
            __RPC__in IHTMLStyleSheet * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_cssText )( 
            __RPC__in IHTMLStyleSheet * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cssText )( 
            __RPC__in IHTMLStyleSheet * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rules )( 
            __RPC__in IHTMLStyleSheet * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheetRulesCollection **p);
        
        END_INTERFACE
    } IHTMLStyleSheetVtbl;

    interface IHTMLStyleSheet
    {
        CONST_VTBL struct IHTMLStyleSheetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyleSheet_INTERFACE_DEFINED__ */


#ifndef __IHTMLCSSRule_INTERFACE_DEFINED__
#define __IHTMLCSSRule_INTERFACE_DEFINED__

/* interface IHTMLCSSRule */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLCSSRule;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106e9-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLCSSRule : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__out USHORT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_cssText( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cssText( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_parentRule( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLCSSRule **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_parentStyleSheet( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheet **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLCSSRuleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLCSSRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLCSSRule * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLCSSRule * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLCSSRule * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLCSSRule * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLCSSRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLCSSRule * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLCSSRule * This,
            /* [out][retval] */ __RPC__out USHORT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_cssText )( 
            __RPC__in IHTMLCSSRule * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cssText )( 
            __RPC__in IHTMLCSSRule * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_parentRule )( 
            __RPC__in IHTMLCSSRule * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLCSSRule **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_parentStyleSheet )( 
            __RPC__in IHTMLCSSRule * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheet **p);
        
        END_INTERFACE
    } IHTMLCSSRuleVtbl;

    interface IHTMLCSSRule
    {
        CONST_VTBL struct IHTMLCSSRuleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLCSSRule_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLCSSRule_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLCSSRule_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLCSSRule_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLCSSRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLCSSRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLCSSRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLCSSRule_get_type(This,p)	\
    ( (This)->lpVtbl -> get_type(This,p) ) 

#define IHTMLCSSRule_put_cssText(This,v)	\
    ( (This)->lpVtbl -> put_cssText(This,v) ) 

#define IHTMLCSSRule_get_cssText(This,p)	\
    ( (This)->lpVtbl -> get_cssText(This,p) ) 

#define IHTMLCSSRule_get_parentRule(This,p)	\
    ( (This)->lpVtbl -> get_parentRule(This,p) ) 

#define IHTMLCSSRule_get_parentStyleSheet(This,p)	\
    ( (This)->lpVtbl -> get_parentStyleSheet(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLCSSRule_INTERFACE_DEFINED__ */


#ifndef __IHTMLCSSImportRule_INTERFACE_DEFINED__
#define __IHTMLCSSImportRule_INTERFACE_DEFINED__

/* interface IHTMLCSSImportRule */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLCSSImportRule;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106ea-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLCSSImportRule : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_href( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_media( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_media( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_styleSheet( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheet **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLCSSImportRuleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLCSSImportRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLCSSImportRule * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLCSSImportRule * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLCSSImportRule * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLCSSImportRule * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLCSSImportRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLCSSImportRule * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_href )( 
            __RPC__in IHTMLCSSImportRule * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_media )( 
            __RPC__in IHTMLCSSImportRule * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_media )( 
            __RPC__in IHTMLCSSImportRule * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_styleSheet )( 
            __RPC__in IHTMLCSSImportRule * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheet **p);
        
        END_INTERFACE
    } IHTMLCSSImportRuleVtbl;

    interface IHTMLCSSImportRule
    {
        CONST_VTBL struct IHTMLCSSImportRuleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLCSSImportRule_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLCSSImportRule_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLCSSImportRule_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLCSSImportRule_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLCSSImportRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLCSSImportRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLCSSImportRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLCSSImportRule_get_href(This,p)	\
    ( (This)->lpVtbl -> get_href(This,p) ) 

#define IHTMLCSSImportRule_put_media(This,v)	\
    ( (This)->lpVtbl -> put_media(This,v) ) 

#define IHTMLCSSImportRule_get_media(This,p)	\
    ( (This)->lpVtbl -> get_media(This,p) ) 

#define IHTMLCSSImportRule_get_styleSheet(This,p)	\
    ( (This)->lpVtbl -> get_styleSheet(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLCSSImportRule_INTERFACE_DEFINED__ */


#ifndef __IHTMLCSSMediaRule_INTERFACE_DEFINED__
#define __IHTMLCSSMediaRule_INTERFACE_DEFINED__

/* interface IHTMLCSSMediaRule */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLCSSMediaRule;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106eb-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLCSSMediaRule : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_media( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_media( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cssRules( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheetRulesCollection **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE insertRule( 
            /* [in] */ __RPC__in BSTR bstrRule,
            /* [in][defaultvalue] */ long lIndex,
            /* [out][retval] */ __RPC__out long *plNewIndex) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE deleteRule( 
            /* [in][defaultvalue] */ long lIndex = -1) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLCSSMediaRuleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLCSSMediaRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLCSSMediaRule * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLCSSMediaRule * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLCSSMediaRule * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLCSSMediaRule * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLCSSMediaRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLCSSMediaRule * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_media )( 
            __RPC__in IHTMLCSSMediaRule * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_media )( 
            __RPC__in IHTMLCSSMediaRule * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cssRules )( 
            __RPC__in IHTMLCSSMediaRule * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheetRulesCollection **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *insertRule )( 
            __RPC__in IHTMLCSSMediaRule * This,
            /* [in] */ __RPC__in BSTR bstrRule,
            /* [in][defaultvalue] */ long lIndex,
            /* [out][retval] */ __RPC__out long *plNewIndex);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *deleteRule )( 
            __RPC__in IHTMLCSSMediaRule * This,
            /* [in][defaultvalue] */ long lIndex);
        
        END_INTERFACE
    } IHTMLCSSMediaRuleVtbl;

    interface IHTMLCSSMediaRule
    {
        CONST_VTBL struct IHTMLCSSMediaRuleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLCSSMediaRule_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLCSSMediaRule_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLCSSMediaRule_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLCSSMediaRule_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLCSSMediaRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLCSSMediaRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLCSSMediaRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLCSSMediaRule_put_media(This,v)	\
    ( (This)->lpVtbl -> put_media(This,v) ) 

#define IHTMLCSSMediaRule_get_media(This,p)	\
    ( (This)->lpVtbl -> get_media(This,p) ) 

#define IHTMLCSSMediaRule_get_cssRules(This,p)	\
    ( (This)->lpVtbl -> get_cssRules(This,p) ) 

#define IHTMLCSSMediaRule_insertRule(This,bstrRule,lIndex,plNewIndex)	\
    ( (This)->lpVtbl -> insertRule(This,bstrRule,lIndex,plNewIndex) ) 

#define IHTMLCSSMediaRule_deleteRule(This,lIndex)	\
    ( (This)->lpVtbl -> deleteRule(This,lIndex) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLCSSMediaRule_INTERFACE_DEFINED__ */


#ifndef __IHTMLCSSMediaList_INTERFACE_DEFINED__
#define __IHTMLCSSMediaList_INTERFACE_DEFINED__

/* interface IHTMLCSSMediaList */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLCSSMediaList;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510731-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLCSSMediaList : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_mediaText( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_mediaText( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrMedium) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE appendMedium( 
            /* [in] */ __RPC__in BSTR bstrMedium) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE deleteMedium( 
            /* [in] */ __RPC__in BSTR bstrMedium) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLCSSMediaListVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLCSSMediaList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLCSSMediaList * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLCSSMediaList * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLCSSMediaList * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLCSSMediaList * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLCSSMediaList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLCSSMediaList * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_mediaText )( 
            __RPC__in IHTMLCSSMediaList * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_mediaText )( 
            __RPC__in IHTMLCSSMediaList * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLCSSMediaList * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLCSSMediaList * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrMedium);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *appendMedium )( 
            __RPC__in IHTMLCSSMediaList * This,
            /* [in] */ __RPC__in BSTR bstrMedium);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *deleteMedium )( 
            __RPC__in IHTMLCSSMediaList * This,
            /* [in] */ __RPC__in BSTR bstrMedium);
        
        END_INTERFACE
    } IHTMLCSSMediaListVtbl;

    interface IHTMLCSSMediaList
    {
        CONST_VTBL struct IHTMLCSSMediaListVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLCSSMediaList_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLCSSMediaList_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLCSSMediaList_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLCSSMediaList_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLCSSMediaList_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLCSSMediaList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLCSSMediaList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLCSSMediaList_put_mediaText(This,v)	\
    ( (This)->lpVtbl -> put_mediaText(This,v) ) 

#define IHTMLCSSMediaList_get_mediaText(This,p)	\
    ( (This)->lpVtbl -> get_mediaText(This,p) ) 

#define IHTMLCSSMediaList_get_length(This,p)	\
    ( (This)->lpVtbl -> get_length(This,p) ) 

#define IHTMLCSSMediaList_item(This,index,pbstrMedium)	\
    ( (This)->lpVtbl -> item(This,index,pbstrMedium) ) 

#define IHTMLCSSMediaList_appendMedium(This,bstrMedium)	\
    ( (This)->lpVtbl -> appendMedium(This,bstrMedium) ) 

#define IHTMLCSSMediaList_deleteMedium(This,bstrMedium)	\
    ( (This)->lpVtbl -> deleteMedium(This,bstrMedium) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLCSSMediaList_INTERFACE_DEFINED__ */


#ifndef __IHTMLCSSNamespaceRule_INTERFACE_DEFINED__
#define __IHTMLCSSNamespaceRule_INTERFACE_DEFINED__

/* interface IHTMLCSSNamespaceRule */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLCSSNamespaceRule;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106ee-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLCSSNamespaceRule : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_namespaceURI( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_prefix( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLCSSNamespaceRuleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLCSSNamespaceRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLCSSNamespaceRule * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLCSSNamespaceRule * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLCSSNamespaceRule * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLCSSNamespaceRule * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLCSSNamespaceRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLCSSNamespaceRule * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_namespaceURI )( 
            __RPC__in IHTMLCSSNamespaceRule * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_prefix )( 
            __RPC__in IHTMLCSSNamespaceRule * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLCSSNamespaceRuleVtbl;

    interface IHTMLCSSNamespaceRule
    {
        CONST_VTBL struct IHTMLCSSNamespaceRuleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLCSSNamespaceRule_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLCSSNamespaceRule_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLCSSNamespaceRule_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLCSSNamespaceRule_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLCSSNamespaceRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLCSSNamespaceRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLCSSNamespaceRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLCSSNamespaceRule_get_namespaceURI(This,p)	\
    ( (This)->lpVtbl -> get_namespaceURI(This,p) ) 

#define IHTMLCSSNamespaceRule_get_prefix(This,p)	\
    ( (This)->lpVtbl -> get_prefix(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLCSSNamespaceRule_INTERFACE_DEFINED__ */


#ifndef __IHTMLMSCSSKeyframeRule_INTERFACE_DEFINED__
#define __IHTMLMSCSSKeyframeRule_INTERFACE_DEFINED__

/* interface IHTMLMSCSSKeyframeRule */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLMSCSSKeyframeRule;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051080C-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLMSCSSKeyframeRule : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_keyText( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_keyText( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_style( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLRuleStyle **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLMSCSSKeyframeRuleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLMSCSSKeyframeRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLMSCSSKeyframeRule * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLMSCSSKeyframeRule * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLMSCSSKeyframeRule * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLMSCSSKeyframeRule * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLMSCSSKeyframeRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLMSCSSKeyframeRule * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_keyText )( 
            __RPC__in IHTMLMSCSSKeyframeRule * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_keyText )( 
            __RPC__in IHTMLMSCSSKeyframeRule * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_style )( 
            __RPC__in IHTMLMSCSSKeyframeRule * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLRuleStyle **p);
        
        END_INTERFACE
    } IHTMLMSCSSKeyframeRuleVtbl;

    interface IHTMLMSCSSKeyframeRule
    {
        CONST_VTBL struct IHTMLMSCSSKeyframeRuleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLMSCSSKeyframeRule_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLMSCSSKeyframeRule_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLMSCSSKeyframeRule_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLMSCSSKeyframeRule_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLMSCSSKeyframeRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLMSCSSKeyframeRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLMSCSSKeyframeRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLMSCSSKeyframeRule_put_keyText(This,v)	\
    ( (This)->lpVtbl -> put_keyText(This,v) ) 

#define IHTMLMSCSSKeyframeRule_get_keyText(This,p)	\
    ( (This)->lpVtbl -> get_keyText(This,p) ) 

#define IHTMLMSCSSKeyframeRule_get_style(This,p)	\
    ( (This)->lpVtbl -> get_style(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLMSCSSKeyframeRule_INTERFACE_DEFINED__ */


#ifndef __IHTMLMSCSSKeyframesRule_INTERFACE_DEFINED__
#define __IHTMLMSCSSKeyframesRule_INTERFACE_DEFINED__

/* interface IHTMLMSCSSKeyframesRule */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLMSCSSKeyframesRule;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051080D-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLMSCSSKeyframesRule : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_name( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cssRules( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheetRulesCollection **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE appendRule( 
            /* [in] */ __RPC__in BSTR bstrRule) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE deleteRule( 
            /* [in] */ __RPC__in BSTR bstrKey) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE findRule( 
            /* [in] */ __RPC__in BSTR bstrKey,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLMSCSSKeyframeRule **ppMSKeyframeRule) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLMSCSSKeyframesRuleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLMSCSSKeyframesRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLMSCSSKeyframesRule * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLMSCSSKeyframesRule * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLMSCSSKeyframesRule * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLMSCSSKeyframesRule * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLMSCSSKeyframesRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLMSCSSKeyframesRule * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            __RPC__in IHTMLMSCSSKeyframesRule * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLMSCSSKeyframesRule * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cssRules )( 
            __RPC__in IHTMLMSCSSKeyframesRule * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheetRulesCollection **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *appendRule )( 
            __RPC__in IHTMLMSCSSKeyframesRule * This,
            /* [in] */ __RPC__in BSTR bstrRule);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *deleteRule )( 
            __RPC__in IHTMLMSCSSKeyframesRule * This,
            /* [in] */ __RPC__in BSTR bstrKey);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *findRule )( 
            __RPC__in IHTMLMSCSSKeyframesRule * This,
            /* [in] */ __RPC__in BSTR bstrKey,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLMSCSSKeyframeRule **ppMSKeyframeRule);
        
        END_INTERFACE
    } IHTMLMSCSSKeyframesRuleVtbl;

    interface IHTMLMSCSSKeyframesRule
    {
        CONST_VTBL struct IHTMLMSCSSKeyframesRuleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLMSCSSKeyframesRule_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLMSCSSKeyframesRule_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLMSCSSKeyframesRule_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLMSCSSKeyframesRule_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLMSCSSKeyframesRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLMSCSSKeyframesRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLMSCSSKeyframesRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLMSCSSKeyframesRule_put_name(This,v)	\
    ( (This)->lpVtbl -> put_name(This,v) ) 

#define IHTMLMSCSSKeyframesRule_get_name(This,p)	\
    ( (This)->lpVtbl -> get_name(This,p) ) 

#define IHTMLMSCSSKeyframesRule_get_cssRules(This,p)	\
    ( (This)->lpVtbl -> get_cssRules(This,p) ) 

#define IHTMLMSCSSKeyframesRule_appendRule(This,bstrRule)	\
    ( (This)->lpVtbl -> appendRule(This,bstrRule) ) 

#define IHTMLMSCSSKeyframesRule_deleteRule(This,bstrKey)	\
    ( (This)->lpVtbl -> deleteRule(This,bstrKey) ) 

#define IHTMLMSCSSKeyframesRule_findRule(This,bstrKey,ppMSKeyframeRule)	\
    ( (This)->lpVtbl -> findRule(This,bstrKey,ppMSKeyframeRule) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLMSCSSKeyframesRule_INTERFACE_DEFINED__ */


#ifndef __DispHTMLCSSRule_DISPINTERFACE_DEFINED__
#define __DispHTMLCSSRule_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLCSSRule */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLCSSRule;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059007d-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLCSSRule : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLCSSRuleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLCSSRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLCSSRule * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLCSSRule * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLCSSRule * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLCSSRule * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLCSSRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLCSSRule * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLCSSRuleVtbl;

    interface DispHTMLCSSRule
    {
        CONST_VTBL struct DispHTMLCSSRuleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLCSSRule_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLCSSRule_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLCSSRule_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLCSSRule_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLCSSRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLCSSRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLCSSRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLCSSRule_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLCSSRule;

#ifdef __cplusplus

class DECLSPEC_UUID("305106ef-98b5-11cf-bb82-00aa00bdce0b")
HTMLCSSRule;
#endif

#ifndef __DispHTMLCSSImportRule_DISPINTERFACE_DEFINED__
#define __DispHTMLCSSImportRule_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLCSSImportRule */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLCSSImportRule;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059007e-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLCSSImportRule : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLCSSImportRuleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLCSSImportRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLCSSImportRule * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLCSSImportRule * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLCSSImportRule * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLCSSImportRule * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLCSSImportRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLCSSImportRule * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLCSSImportRuleVtbl;

    interface DispHTMLCSSImportRule
    {
        CONST_VTBL struct DispHTMLCSSImportRuleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLCSSImportRule_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLCSSImportRule_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLCSSImportRule_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLCSSImportRule_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLCSSImportRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLCSSImportRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLCSSImportRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLCSSImportRule_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLCSSImportRule;

#ifdef __cplusplus

class DECLSPEC_UUID("305106f0-98b5-11cf-bb82-00aa00bdce0b")
HTMLCSSImportRule;
#endif

#ifndef __DispHTMLCSSMediaRule_DISPINTERFACE_DEFINED__
#define __DispHTMLCSSMediaRule_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLCSSMediaRule */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLCSSMediaRule;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059007f-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLCSSMediaRule : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLCSSMediaRuleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLCSSMediaRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLCSSMediaRule * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLCSSMediaRule * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLCSSMediaRule * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLCSSMediaRule * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLCSSMediaRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLCSSMediaRule * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLCSSMediaRuleVtbl;

    interface DispHTMLCSSMediaRule
    {
        CONST_VTBL struct DispHTMLCSSMediaRuleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLCSSMediaRule_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLCSSMediaRule_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLCSSMediaRule_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLCSSMediaRule_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLCSSMediaRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLCSSMediaRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLCSSMediaRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLCSSMediaRule_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLCSSMediaRule;

#ifdef __cplusplus

class DECLSPEC_UUID("305106f1-98b5-11cf-bb82-00aa00bdce0b")
HTMLCSSMediaRule;
#endif

#ifndef __DispHTMLCSSMediaList_DISPINTERFACE_DEFINED__
#define __DispHTMLCSSMediaList_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLCSSMediaList */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLCSSMediaList;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590097-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLCSSMediaList : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLCSSMediaListVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLCSSMediaList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLCSSMediaList * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLCSSMediaList * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLCSSMediaList * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLCSSMediaList * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLCSSMediaList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLCSSMediaList * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLCSSMediaListVtbl;

    interface DispHTMLCSSMediaList
    {
        CONST_VTBL struct DispHTMLCSSMediaListVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLCSSMediaList_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLCSSMediaList_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLCSSMediaList_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLCSSMediaList_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLCSSMediaList_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLCSSMediaList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLCSSMediaList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLCSSMediaList_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLCSSMediaList;

#ifdef __cplusplus

class DECLSPEC_UUID("30510732-98b5-11cf-bb82-00aa00bdce0b")
HTMLCSSMediaList;
#endif

#ifndef __DispHTMLCSSNamespaceRule_DISPINTERFACE_DEFINED__
#define __DispHTMLCSSNamespaceRule_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLCSSNamespaceRule */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLCSSNamespaceRule;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590080-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLCSSNamespaceRule : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLCSSNamespaceRuleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLCSSNamespaceRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLCSSNamespaceRule * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLCSSNamespaceRule * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLCSSNamespaceRule * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLCSSNamespaceRule * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLCSSNamespaceRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLCSSNamespaceRule * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLCSSNamespaceRuleVtbl;

    interface DispHTMLCSSNamespaceRule
    {
        CONST_VTBL struct DispHTMLCSSNamespaceRuleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLCSSNamespaceRule_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLCSSNamespaceRule_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLCSSNamespaceRule_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLCSSNamespaceRule_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLCSSNamespaceRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLCSSNamespaceRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLCSSNamespaceRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLCSSNamespaceRule_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLCSSNamespaceRule;

#ifdef __cplusplus

class DECLSPEC_UUID("305106f2-98b5-11cf-bb82-00aa00bdce0b")
HTMLCSSNamespaceRule;
#endif

#ifndef __DispHTMLMSCSSKeyframeRule_DISPINTERFACE_DEFINED__
#define __DispHTMLMSCSSKeyframeRule_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLMSCSSKeyframeRule */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLMSCSSKeyframeRule;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("305900de-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLMSCSSKeyframeRule : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLMSCSSKeyframeRuleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLMSCSSKeyframeRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLMSCSSKeyframeRule * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLMSCSSKeyframeRule * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLMSCSSKeyframeRule * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLMSCSSKeyframeRule * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLMSCSSKeyframeRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLMSCSSKeyframeRule * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLMSCSSKeyframeRuleVtbl;

    interface DispHTMLMSCSSKeyframeRule
    {
        CONST_VTBL struct DispHTMLMSCSSKeyframeRuleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLMSCSSKeyframeRule_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLMSCSSKeyframeRule_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLMSCSSKeyframeRule_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLMSCSSKeyframeRule_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLMSCSSKeyframeRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLMSCSSKeyframeRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLMSCSSKeyframeRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLMSCSSKeyframeRule_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLMSCSSKeyframeRule;

#ifdef __cplusplus

class DECLSPEC_UUID("3051080E-98b5-11cf-bb82-00aa00bdce0b")
HTMLMSCSSKeyframeRule;
#endif

#ifndef __DispHTMLMSCSSKeyframesRule_DISPINTERFACE_DEFINED__
#define __DispHTMLMSCSSKeyframesRule_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLMSCSSKeyframesRule */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLMSCSSKeyframesRule;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("305900df-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLMSCSSKeyframesRule : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLMSCSSKeyframesRuleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLMSCSSKeyframesRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLMSCSSKeyframesRule * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLMSCSSKeyframesRule * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLMSCSSKeyframesRule * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLMSCSSKeyframesRule * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLMSCSSKeyframesRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLMSCSSKeyframesRule * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLMSCSSKeyframesRuleVtbl;

    interface DispHTMLMSCSSKeyframesRule
    {
        CONST_VTBL struct DispHTMLMSCSSKeyframesRuleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLMSCSSKeyframesRule_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLMSCSSKeyframesRule_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLMSCSSKeyframesRule_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLMSCSSKeyframesRule_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLMSCSSKeyframesRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLMSCSSKeyframesRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLMSCSSKeyframesRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLMSCSSKeyframesRule_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLMSCSSKeyframesRule;

#ifdef __cplusplus

class DECLSPEC_UUID("3051080F-98b5-11cf-bb82-00aa00bdce0b")
HTMLMSCSSKeyframesRule;
#endif

#ifndef __IHTMLRenderStyle_INTERFACE_DEFINED__
#define __IHTMLRenderStyle_INTERFACE_DEFINED__

/* interface IHTMLRenderStyle */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLRenderStyle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f6ae-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLRenderStyle : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textLineThroughStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textLineThroughStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textUnderlineStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textUnderlineStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textEffect( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textEffect( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textBackgroundColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textBackgroundColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textDecorationColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textDecorationColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_renderingPriority( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_renderingPriority( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_defaultTextSelection( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_defaultTextSelection( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_textDecoration( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textDecoration( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLRenderStyleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLRenderStyle * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLRenderStyle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLRenderStyle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLRenderStyle * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLRenderStyle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLRenderStyle * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLRenderStyle * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textLineThroughStyle )( 
            __RPC__in IHTMLRenderStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textLineThroughStyle )( 
            __RPC__in IHTMLRenderStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textUnderlineStyle )( 
            __RPC__in IHTMLRenderStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textUnderlineStyle )( 
            __RPC__in IHTMLRenderStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textEffect )( 
            __RPC__in IHTMLRenderStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textEffect )( 
            __RPC__in IHTMLRenderStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textColor )( 
            __RPC__in IHTMLRenderStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textColor )( 
            __RPC__in IHTMLRenderStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textBackgroundColor )( 
            __RPC__in IHTMLRenderStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBackgroundColor )( 
            __RPC__in IHTMLRenderStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textDecorationColor )( 
            __RPC__in IHTMLRenderStyle * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textDecorationColor )( 
            __RPC__in IHTMLRenderStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_renderingPriority )( 
            __RPC__in IHTMLRenderStyle * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_renderingPriority )( 
            __RPC__in IHTMLRenderStyle * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_defaultTextSelection )( 
            __RPC__in IHTMLRenderStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_defaultTextSelection )( 
            __RPC__in IHTMLRenderStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textDecoration )( 
            __RPC__in IHTMLRenderStyle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textDecoration )( 
            __RPC__in IHTMLRenderStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLRenderStyleVtbl;

    interface IHTMLRenderStyle
    {
        CONST_VTBL struct IHTMLRenderStyleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLRenderStyle_INTERFACE_DEFINED__ */


#ifndef __DispHTMLRenderStyle_DISPINTERFACE_DEFINED__
#define __DispHTMLRenderStyle_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLRenderStyle */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLRenderStyle;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f58b-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLRenderStyle : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLRenderStyleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLRenderStyle * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLRenderStyle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLRenderStyle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLRenderStyle * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLRenderStyle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLRenderStyle * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLRenderStyle * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLRenderStyleVtbl;

    interface DispHTMLRenderStyle
    {
        CONST_VTBL struct DispHTMLRenderStyleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLRenderStyle_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLRenderStyle_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLRenderStyle_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLRenderStyle_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLRenderStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLRenderStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLRenderStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLRenderStyle_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLRenderStyle;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f6aa-98b5-11cf-bb82-00aa00bdce0b")
HTMLRenderStyle;
#endif

#ifndef __IHTMLCurrentStyle_INTERFACE_DEFINED__
#define __IHTMLCurrentStyle_INTERFACE_DEFINED__

/* interface IHTMLCurrentStyle */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLCurrentStyle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f3db-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLCurrentStyle : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_position( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_styleFloat( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_color( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fontFamily( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fontStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fontVariant( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fontWeight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fontSize( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundImage( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundPositionX( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundPositionY( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundRepeat( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderLeftColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderTopColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderRightColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderBottomColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderTopStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderRightStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderBottomStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderLeftStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderTopWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderRightWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderBottomWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderLeftWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_left( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_top( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_paddingLeft( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_paddingTop( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_paddingRight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_paddingBottom( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textAlign( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textDecoration( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_display( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_visibility( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_zIndex( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_letterSpacing( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_lineHeight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textIndent( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_verticalAlign( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundAttachment( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_marginTop( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_marginRight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_marginBottom( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_marginLeft( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clear( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_listStyleType( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_listStylePosition( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_listStyleImage( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clipTop( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clipRight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clipBottom( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clipLeft( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_overflow( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_pageBreakBefore( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_pageBreakAfter( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_cursor( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_tableLayout( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderCollapse( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_direction( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_behavior( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getAttribute( 
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in][defaultvalue] */ LONG lFlags,
            /* [out][retval] */ __RPC__out VARIANT *AttributeValue) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_unicodeBidi( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_right( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_bottom( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_imeMode( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_rubyAlign( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_rubyPosition( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_rubyOverhang( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textAutospace( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_lineBreak( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_wordBreak( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textJustify( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textJustifyTrim( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textKashida( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_blockDirection( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_layoutGridChar( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_layoutGridLine( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_layoutGridMode( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_layoutGridType( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderColor( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderWidth( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_padding( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_margin( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_accelerator( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_overflowX( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_overflowY( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textTransform( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLCurrentStyleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLCurrentStyle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLCurrentStyle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLCurrentStyle * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_position )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_styleFloat )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_color )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundColor )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontFamily )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontStyle )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontVariant )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontWeight )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontSize )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundImage )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundPositionX )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundPositionY )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundRepeat )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderLeftColor )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderTopColor )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderRightColor )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderBottomColor )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderTopStyle )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderRightStyle )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderBottomStyle )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderLeftStyle )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderTopWidth )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderRightWidth )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderBottomWidth )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderLeftWidth )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_left )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_top )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_paddingLeft )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_paddingTop )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_paddingRight )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_paddingBottom )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAlign )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textDecoration )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_display )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_visibility )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_zIndex )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_letterSpacing )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lineHeight )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textIndent )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_verticalAlign )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundAttachment )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginTop )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginRight )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginBottom )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginLeft )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clear )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_listStyleType )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_listStylePosition )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_listStyleImage )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clipTop )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clipRight )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clipBottom )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clipLeft )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_overflow )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageBreakBefore )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageBreakAfter )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cursor )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_tableLayout )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderCollapse )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_direction )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_behavior )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getAttribute )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in][defaultvalue] */ LONG lFlags,
            /* [out][retval] */ __RPC__out VARIANT *AttributeValue);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unicodeBidi )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_right )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bottom )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_imeMode )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rubyAlign )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rubyPosition )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rubyOverhang )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAutospace )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lineBreak )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_wordBreak )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textJustify )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textJustifyTrim )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textKashida )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_blockDirection )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layoutGridChar )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layoutGridLine )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layoutGridMode )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layoutGridType )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderStyle )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderColor )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderWidth )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_padding )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_margin )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_accelerator )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_overflowX )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_overflowY )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textTransform )( 
            __RPC__in IHTMLCurrentStyle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLCurrentStyleVtbl;

    interface IHTMLCurrentStyle
    {
        CONST_VTBL struct IHTMLCurrentStyleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLCurrentStyle_INTERFACE_DEFINED__ */


#ifndef __IHTMLCurrentStyle2_INTERFACE_DEFINED__
#define __IHTMLCurrentStyle2_INTERFACE_DEFINED__

/* interface IHTMLCurrentStyle2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLCurrentStyle2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f658-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLCurrentStyle2 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_layoutFlow( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_wordWrap( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textUnderlinePosition( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_hasLayout( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarBaseColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarFaceColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbar3dLightColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarShadowColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarHighlightColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarDarkShadowColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarArrowColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbarTrackColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_writingMode( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_zoom( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_filter( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textAlignLast( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textKashidaSpace( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [nonbrowsable][restricted][hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_isBlock( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLCurrentStyle2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLCurrentStyle2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLCurrentStyle2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLCurrentStyle2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLCurrentStyle2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLCurrentStyle2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLCurrentStyle2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLCurrentStyle2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layoutFlow )( 
            __RPC__in IHTMLCurrentStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_wordWrap )( 
            __RPC__in IHTMLCurrentStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textUnderlinePosition )( 
            __RPC__in IHTMLCurrentStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasLayout )( 
            __RPC__in IHTMLCurrentStyle2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarBaseColor )( 
            __RPC__in IHTMLCurrentStyle2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarFaceColor )( 
            __RPC__in IHTMLCurrentStyle2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbar3dLightColor )( 
            __RPC__in IHTMLCurrentStyle2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarShadowColor )( 
            __RPC__in IHTMLCurrentStyle2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarHighlightColor )( 
            __RPC__in IHTMLCurrentStyle2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarDarkShadowColor )( 
            __RPC__in IHTMLCurrentStyle2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarArrowColor )( 
            __RPC__in IHTMLCurrentStyle2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbarTrackColor )( 
            __RPC__in IHTMLCurrentStyle2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_writingMode )( 
            __RPC__in IHTMLCurrentStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_zoom )( 
            __RPC__in IHTMLCurrentStyle2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_filter )( 
            __RPC__in IHTMLCurrentStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAlignLast )( 
            __RPC__in IHTMLCurrentStyle2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textKashidaSpace )( 
            __RPC__in IHTMLCurrentStyle2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [nonbrowsable][restricted][hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isBlock )( 
            __RPC__in IHTMLCurrentStyle2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        END_INTERFACE
    } IHTMLCurrentStyle2Vtbl;

    interface IHTMLCurrentStyle2
    {
        CONST_VTBL struct IHTMLCurrentStyle2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLCurrentStyle2_INTERFACE_DEFINED__ */


#ifndef __IHTMLCurrentStyle3_INTERFACE_DEFINED__
#define __IHTMLCurrentStyle3_INTERFACE_DEFINED__

/* interface IHTMLCurrentStyle3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLCurrentStyle3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f818-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLCurrentStyle3 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_textOverflow( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_minHeight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_wordSpacing( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_whiteSpace( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLCurrentStyle3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLCurrentStyle3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLCurrentStyle3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLCurrentStyle3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLCurrentStyle3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLCurrentStyle3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLCurrentStyle3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLCurrentStyle3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textOverflow )( 
            __RPC__in IHTMLCurrentStyle3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_minHeight )( 
            __RPC__in IHTMLCurrentStyle3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_wordSpacing )( 
            __RPC__in IHTMLCurrentStyle3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_whiteSpace )( 
            __RPC__in IHTMLCurrentStyle3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLCurrentStyle3Vtbl;

    interface IHTMLCurrentStyle3
    {
        CONST_VTBL struct IHTMLCurrentStyle3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLCurrentStyle3_INTERFACE_DEFINED__ */


#ifndef __IHTMLCurrentStyle4_INTERFACE_DEFINED__
#define __IHTMLCurrentStyle4_INTERFACE_DEFINED__

/* interface IHTMLCurrentStyle4 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLCurrentStyle4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f33b-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLCurrentStyle4 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msInterpolationMode( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_maxHeight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_minWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_maxWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLCurrentStyle4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLCurrentStyle4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLCurrentStyle4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLCurrentStyle4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLCurrentStyle4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLCurrentStyle4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLCurrentStyle4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLCurrentStyle4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msInterpolationMode )( 
            __RPC__in IHTMLCurrentStyle4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_maxHeight )( 
            __RPC__in IHTMLCurrentStyle4 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_minWidth )( 
            __RPC__in IHTMLCurrentStyle4 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_maxWidth )( 
            __RPC__in IHTMLCurrentStyle4 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLCurrentStyle4Vtbl;

    interface IHTMLCurrentStyle4
    {
        CONST_VTBL struct IHTMLCurrentStyle4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLCurrentStyle4_INTERFACE_DEFINED__ */


#ifndef __IHTMLCurrentStyle5_INTERFACE_DEFINED__
#define __IHTMLCurrentStyle5_INTERFACE_DEFINED__

/* interface IHTMLCurrentStyle5 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLCurrentStyle5;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510481-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLCurrentStyle5 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_captionSide( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_outline( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_outlineWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_outlineStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_outlineColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_boxSizing( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_borderSpacing( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_orphans( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_widows( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_pageBreakInside( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_emptyCells( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msBlockProgression( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_quotes( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLCurrentStyle5Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLCurrentStyle5 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLCurrentStyle5 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLCurrentStyle5 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLCurrentStyle5 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLCurrentStyle5 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLCurrentStyle5 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLCurrentStyle5 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_captionSide )( 
            __RPC__in IHTMLCurrentStyle5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_outline )( 
            __RPC__in IHTMLCurrentStyle5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_outlineWidth )( 
            __RPC__in IHTMLCurrentStyle5 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_outlineStyle )( 
            __RPC__in IHTMLCurrentStyle5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_outlineColor )( 
            __RPC__in IHTMLCurrentStyle5 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_boxSizing )( 
            __RPC__in IHTMLCurrentStyle5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderSpacing )( 
            __RPC__in IHTMLCurrentStyle5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_orphans )( 
            __RPC__in IHTMLCurrentStyle5 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_widows )( 
            __RPC__in IHTMLCurrentStyle5 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageBreakInside )( 
            __RPC__in IHTMLCurrentStyle5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_emptyCells )( 
            __RPC__in IHTMLCurrentStyle5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msBlockProgression )( 
            __RPC__in IHTMLCurrentStyle5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_quotes )( 
            __RPC__in IHTMLCurrentStyle5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLCurrentStyle5Vtbl;

    interface IHTMLCurrentStyle5
    {
        CONST_VTBL struct IHTMLCurrentStyle5Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLCurrentStyle5_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLCurrentStyle5_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLCurrentStyle5_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLCurrentStyle5_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLCurrentStyle5_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLCurrentStyle5_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLCurrentStyle5_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLCurrentStyle5_get_captionSide(This,p)	\
    ( (This)->lpVtbl -> get_captionSide(This,p) ) 

#define IHTMLCurrentStyle5_get_outline(This,p)	\
    ( (This)->lpVtbl -> get_outline(This,p) ) 

#define IHTMLCurrentStyle5_get_outlineWidth(This,p)	\
    ( (This)->lpVtbl -> get_outlineWidth(This,p) ) 

#define IHTMLCurrentStyle5_get_outlineStyle(This,p)	\
    ( (This)->lpVtbl -> get_outlineStyle(This,p) ) 

#define IHTMLCurrentStyle5_get_outlineColor(This,p)	\
    ( (This)->lpVtbl -> get_outlineColor(This,p) ) 

#define IHTMLCurrentStyle5_get_boxSizing(This,p)	\
    ( (This)->lpVtbl -> get_boxSizing(This,p) ) 

#define IHTMLCurrentStyle5_get_borderSpacing(This,p)	\
    ( (This)->lpVtbl -> get_borderSpacing(This,p) ) 

#define IHTMLCurrentStyle5_get_orphans(This,p)	\
    ( (This)->lpVtbl -> get_orphans(This,p) ) 

#define IHTMLCurrentStyle5_get_widows(This,p)	\
    ( (This)->lpVtbl -> get_widows(This,p) ) 

#define IHTMLCurrentStyle5_get_pageBreakInside(This,p)	\
    ( (This)->lpVtbl -> get_pageBreakInside(This,p) ) 

#define IHTMLCurrentStyle5_get_emptyCells(This,p)	\
    ( (This)->lpVtbl -> get_emptyCells(This,p) ) 

#define IHTMLCurrentStyle5_get_msBlockProgression(This,p)	\
    ( (This)->lpVtbl -> get_msBlockProgression(This,p) ) 

#define IHTMLCurrentStyle5_get_quotes(This,p)	\
    ( (This)->lpVtbl -> get_quotes(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLCurrentStyle5_INTERFACE_DEFINED__ */


#ifndef __DispHTMLCurrentStyle_DISPINTERFACE_DEFINED__
#define __DispHTMLCurrentStyle_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLCurrentStyle */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLCurrentStyle;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f557-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLCurrentStyle : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLCurrentStyleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLCurrentStyle * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLCurrentStyle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLCurrentStyle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLCurrentStyle * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLCurrentStyle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLCurrentStyle * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLCurrentStyle * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLCurrentStyleVtbl;

    interface DispHTMLCurrentStyle
    {
        CONST_VTBL struct DispHTMLCurrentStyleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLCurrentStyle_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLCurrentStyle;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f3dc-98b5-11cf-bb82-00aa00bdce0b")
HTMLCurrentStyle;
#endif

#ifndef __IHTMLElement_INTERFACE_DEFINED__
#define __IHTMLElement_INTERFACE_DEFINED__

/* interface IHTMLElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f1ff-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLElement : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setAttribute( 
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in] */ VARIANT AttributeValue,
            /* [in][defaultvalue] */ LONG lFlags = 1) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getAttribute( 
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in][defaultvalue] */ LONG lFlags,
            /* [out][retval] */ __RPC__out VARIANT *AttributeValue) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeAttribute( 
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in][defaultvalue] */ LONG lFlags,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfSuccess) = 0;
        
        virtual /* [bindable][id][propput] */ HRESULT STDMETHODCALLTYPE put_className( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_className( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][id][propput] */ HRESULT STDMETHODCALLTYPE put_id( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_id( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_tagName( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_parentElement( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p) = 0;
        
        virtual /* [nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_style( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyle **p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onhelp( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onhelp( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onclick( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onclick( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondblclick( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondblclick( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onkeydown( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onkeydown( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onkeyup( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onkeyup( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onkeypress( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onkeypress( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmouseout( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmouseout( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmouseover( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmouseover( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmousemove( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmousemove( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmousedown( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmousedown( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmouseup( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmouseup( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_document( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_title( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_title( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_language( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_language( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onselectstart( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onselectstart( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE scrollIntoView( 
            /* [in][optional] */ VARIANT varargStart) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE contains( 
            /* [in] */ __RPC__in_opt IHTMLElement *pChild,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfResult) = 0;
        
        virtual /* [bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_sourceIndex( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_recordNumber( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_lang( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_lang( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_offsetLeft( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_offsetTop( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_offsetWidth( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_offsetHeight( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_offsetParent( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_innerHTML( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_innerHTML( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_innerText( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_innerText( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_outerHTML( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_outerHTML( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_outerText( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_outerText( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE insertAdjacentHTML( 
            /* [in] */ __RPC__in BSTR where,
            /* [in] */ __RPC__in BSTR html) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE insertAdjacentText( 
            /* [in] */ __RPC__in BSTR where,
            /* [in] */ __RPC__in BSTR text) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_parentTextEdit( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_isTextEdit( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE click( void) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_filters( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFiltersCollection **p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondragstart( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondragstart( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE toString( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *String) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onbeforeupdate( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onbeforeupdate( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onafterupdate( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onafterupdate( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onerrorupdate( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onerrorupdate( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onrowexit( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onrowexit( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onrowenter( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onrowenter( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondatasetchanged( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondatasetchanged( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondataavailable( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondataavailable( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondatasetcomplete( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondatasetcomplete( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onfilterchange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onfilterchange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_children( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_all( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setAttribute )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in] */ VARIANT AttributeValue,
            /* [in][defaultvalue] */ LONG lFlags);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getAttribute )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in][defaultvalue] */ LONG lFlags,
            /* [out][retval] */ __RPC__out VARIANT *AttributeValue);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeAttribute )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in][defaultvalue] */ LONG lFlags,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfSuccess);
        
        /* [bindable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_className )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_className )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_id )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_id )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_tagName )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_parentElement )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p);
        
        /* [nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_style )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyle **p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onhelp )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onhelp )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onclick )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onclick )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondblclick )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondblclick )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onkeydown )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onkeydown )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onkeyup )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onkeyup )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onkeypress )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onkeypress )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmouseout )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmouseout )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmouseover )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmouseover )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmousemove )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmousemove )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmousedown )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmousedown )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmouseup )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmouseup )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_document )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_title )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_title )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_language )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_language )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onselectstart )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onselectstart )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *scrollIntoView )( 
            __RPC__in IHTMLElement * This,
            /* [in][optional] */ VARIANT varargStart);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *contains )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ __RPC__in_opt IHTMLElement *pChild,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfResult);
        
        /* [bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sourceIndex )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_recordNumber )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_lang )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lang )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetLeft )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetTop )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetWidth )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetHeight )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetParent )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_innerHTML )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_innerHTML )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_innerText )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_innerText )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_outerHTML )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_outerHTML )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_outerText )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_outerText )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *insertAdjacentHTML )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ __RPC__in BSTR where,
            /* [in] */ __RPC__in BSTR html);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *insertAdjacentText )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ __RPC__in BSTR where,
            /* [in] */ __RPC__in BSTR text);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_parentTextEdit )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isTextEdit )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *click )( 
            __RPC__in IHTMLElement * This);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_filters )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFiltersCollection **p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondragstart )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondragstart )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *toString )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *String);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onbeforeupdate )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onbeforeupdate )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onafterupdate )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onafterupdate )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onerrorupdate )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onerrorupdate )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onrowexit )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onrowexit )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onrowenter )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onrowenter )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondatasetchanged )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondatasetchanged )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondataavailable )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondataavailable )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondatasetcomplete )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondatasetcomplete )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onfilterchange )( 
            __RPC__in IHTMLElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onfilterchange )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_children )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_all )( 
            __RPC__in IHTMLElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        END_INTERFACE
    } IHTMLElementVtbl;

    interface IHTMLElement
    {
        CONST_VTBL struct IHTMLElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLRect_INTERFACE_DEFINED__
#define __IHTMLRect_INTERFACE_DEFINED__

/* interface IHTMLRect */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLRect;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4a3-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLRect : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_left( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_left( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_top( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_top( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_right( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_right( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_bottom( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_bottom( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLRectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLRect * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLRect * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLRect * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLRect * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLRect * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLRect * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLRect * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_left )( 
            __RPC__in IHTMLRect * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_left )( 
            __RPC__in IHTMLRect * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_top )( 
            __RPC__in IHTMLRect * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_top )( 
            __RPC__in IHTMLRect * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_right )( 
            __RPC__in IHTMLRect * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_right )( 
            __RPC__in IHTMLRect * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_bottom )( 
            __RPC__in IHTMLRect * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bottom )( 
            __RPC__in IHTMLRect * This,
            /* [out][retval] */ __RPC__out long *p);
        
        END_INTERFACE
    } IHTMLRectVtbl;

    interface IHTMLRect
    {
        CONST_VTBL struct IHTMLRectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLRect_INTERFACE_DEFINED__ */


#ifndef __IHTMLRect2_INTERFACE_DEFINED__
#define __IHTMLRect2_INTERFACE_DEFINED__

/* interface IHTMLRect2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLRect2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051076c-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLRect2 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLRect2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLRect2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLRect2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLRect2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLRect2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLRect2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLRect2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLRect2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in IHTMLRect2 * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in IHTMLRect2 * This,
            /* [out][retval] */ __RPC__out float *p);
        
        END_INTERFACE
    } IHTMLRect2Vtbl;

    interface IHTMLRect2
    {
        CONST_VTBL struct IHTMLRect2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLRect2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLRect2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLRect2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLRect2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLRect2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLRect2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLRect2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLRect2_get_width(This,p)	\
    ( (This)->lpVtbl -> get_width(This,p) ) 

#define IHTMLRect2_get_height(This,p)	\
    ( (This)->lpVtbl -> get_height(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLRect2_INTERFACE_DEFINED__ */


#ifndef __IHTMLRectCollection_INTERFACE_DEFINED__
#define __IHTMLRectCollection_INTERFACE_DEFINED__

/* interface IHTMLRectCollection */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLRectCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4a4-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLRectCollection : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__newEnum( 
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ __RPC__in VARIANT *pvarIndex,
            /* [out][retval] */ __RPC__out VARIANT *pvarResult) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLRectCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLRectCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLRectCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLRectCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLRectCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLRectCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLRectCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLRectCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLRectCollection * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__newEnum )( 
            __RPC__in IHTMLRectCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLRectCollection * This,
            /* [in] */ __RPC__in VARIANT *pvarIndex,
            /* [out][retval] */ __RPC__out VARIANT *pvarResult);
        
        END_INTERFACE
    } IHTMLRectCollectionVtbl;

    interface IHTMLRectCollection
    {
        CONST_VTBL struct IHTMLRectCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLRectCollection_INTERFACE_DEFINED__ */


#ifndef __IHTMLElementCollection_INTERFACE_DEFINED__
#define __IHTMLElementCollection_INTERFACE_DEFINED__

/* interface IHTMLElementCollection */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLElementCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f21f-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLElementCollection : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE toString( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *String) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_length( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__newEnum( 
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in][optional] */ VARIANT name,
            /* [in][optional] */ VARIANT index,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE tags( 
            /* [in] */ VARIANT tagName,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLElementCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLElementCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLElementCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLElementCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLElementCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLElementCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLElementCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLElementCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *toString )( 
            __RPC__in IHTMLElementCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *String);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_length )( 
            __RPC__in IHTMLElementCollection * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLElementCollection * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__newEnum )( 
            __RPC__in IHTMLElementCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLElementCollection * This,
            /* [in][optional] */ VARIANT name,
            /* [in][optional] */ VARIANT index,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *tags )( 
            __RPC__in IHTMLElementCollection * This,
            /* [in] */ VARIANT tagName,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp);
        
        END_INTERFACE
    } IHTMLElementCollectionVtbl;

    interface IHTMLElementCollection
    {
        CONST_VTBL struct IHTMLElementCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLElementCollection_INTERFACE_DEFINED__ */


#ifndef __IHTMLElement2_INTERFACE_DEFINED__
#define __IHTMLElement2_INTERFACE_DEFINED__

/* interface IHTMLElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f434-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLElement2 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_scopeName( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setCapture( 
            /* [in][defaultvalue] */ VARIANT_BOOL containerCapture = -1) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE releaseCapture( void) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onlosecapture( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onlosecapture( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE componentFromPoint( 
            /* [in] */ long x,
            /* [in] */ long y,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *component) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE doScroll( 
            /* [in][optional] */ VARIANT component) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onscroll( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onscroll( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondrag( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondrag( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondragend( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondragend( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondragenter( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondragenter( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondragover( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondragover( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondragleave( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondragleave( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondrop( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondrop( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onbeforecut( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onbeforecut( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_oncut( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_oncut( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onbeforecopy( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onbeforecopy( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_oncopy( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_oncopy( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onbeforepaste( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onbeforepaste( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onpaste( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onpaste( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_currentStyle( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLCurrentStyle **p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onpropertychange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onpropertychange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getClientRects( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLRectCollection **pRectCol) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getBoundingClientRect( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLRect **pRect) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setExpression( 
            /* [in] */ __RPC__in BSTR propname,
            /* [in] */ __RPC__in BSTR expression,
            /* [in][defaultvalue] */ __RPC__in BSTR language = (BSTR)L"") = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getExpression( 
            /* [in] */ __RPC__in BSTR propname,
            /* [out][retval] */ __RPC__out VARIANT *expression) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeExpression( 
            /* [in] */ __RPC__in BSTR propname,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfSuccess) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_tabIndex( 
            /* [in] */ short v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_tabIndex( 
            /* [out][retval] */ __RPC__out short *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE focus( void) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_accessKey( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_accessKey( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onblur( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onblur( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onfocus( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onfocus( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onresize( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onresize( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE blur( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE addFilter( 
            /* [in] */ __RPC__in_opt IUnknown *pUnk) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeFilter( 
            /* [in] */ __RPC__in_opt IUnknown *pUnk) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clientHeight( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clientWidth( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clientTop( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clientLeft( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE attachEvent( 
            /* [in] */ __RPC__in BSTR event,
            /* [in] */ __RPC__in_opt IDispatch *pDisp,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE detachEvent( 
            /* [in] */ __RPC__in BSTR event,
            /* [in] */ __RPC__in_opt IDispatch *pDisp) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_readyState( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onreadystatechange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onreadystatechange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onrowsdelete( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onrowsdelete( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onrowsinserted( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onrowsinserted( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_oncellchange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_oncellchange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_dir( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_dir( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createControlRange( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **range) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollHeight( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollWidth( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollTop( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollTop( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollLeft( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollLeft( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE clearAttributes( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE mergeAttributes( 
            /* [in] */ __RPC__in_opt IHTMLElement *mergeThis) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_oncontextmenu( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_oncontextmenu( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE insertAdjacentElement( 
            /* [in] */ __RPC__in BSTR where,
            /* [in] */ __RPC__in_opt IHTMLElement *insertedElement,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **inserted) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE applyElement( 
            /* [in] */ __RPC__in_opt IHTMLElement *apply,
            /* [in] */ __RPC__in BSTR where,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **applied) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getAdjacentText( 
            /* [in] */ __RPC__in BSTR where,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *text) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE replaceAdjacentText( 
            /* [in] */ __RPC__in BSTR where,
            /* [in] */ __RPC__in BSTR newText,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *oldText) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_canHaveChildren( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE addBehavior( 
            /* [in] */ __RPC__in BSTR bstrUrl,
            /* [in][optional] */ __RPC__in VARIANT *pvarFactory,
            /* [out][retval] */ __RPC__out long *pCookie) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeBehavior( 
            /* [in] */ long cookie,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfResult) = 0;
        
        virtual /* [nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_runtimeStyle( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyle **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_behaviorUrns( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_tagUrn( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_tagUrn( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onbeforeeditfocus( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onbeforeeditfocus( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_readyStateValue( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getElementsByTagName( 
            /* [in] */ __RPC__in BSTR v,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **pelColl) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scopeName )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setCapture )( 
            __RPC__in IHTMLElement2 * This,
            /* [in][defaultvalue] */ VARIANT_BOOL containerCapture);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *releaseCapture )( 
            __RPC__in IHTMLElement2 * This);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onlosecapture )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onlosecapture )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *componentFromPoint )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ long x,
            /* [in] */ long y,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *component);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *doScroll )( 
            __RPC__in IHTMLElement2 * This,
            /* [in][optional] */ VARIANT component);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onscroll )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onscroll )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondrag )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondrag )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondragend )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondragend )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondragenter )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondragenter )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondragover )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondragover )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondragleave )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondragleave )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondrop )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondrop )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onbeforecut )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onbeforecut )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_oncut )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oncut )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onbeforecopy )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onbeforecopy )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_oncopy )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oncopy )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onbeforepaste )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onbeforepaste )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onpaste )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onpaste )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentStyle )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLCurrentStyle **p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onpropertychange )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onpropertychange )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getClientRects )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLRectCollection **pRectCol);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getBoundingClientRect )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLRect **pRect);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setExpression )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ __RPC__in BSTR propname,
            /* [in] */ __RPC__in BSTR expression,
            /* [in][defaultvalue] */ __RPC__in BSTR language);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getExpression )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ __RPC__in BSTR propname,
            /* [out][retval] */ __RPC__out VARIANT *expression);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeExpression )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ __RPC__in BSTR propname,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfSuccess);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_tabIndex )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ short v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_tabIndex )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out short *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *focus )( 
            __RPC__in IHTMLElement2 * This);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_accessKey )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_accessKey )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onblur )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onblur )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onfocus )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onfocus )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onresize )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onresize )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *blur )( 
            __RPC__in IHTMLElement2 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *addFilter )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ __RPC__in_opt IUnknown *pUnk);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeFilter )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ __RPC__in_opt IUnknown *pUnk);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clientHeight )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clientWidth )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clientTop )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clientLeft )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *attachEvent )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ __RPC__in BSTR event,
            /* [in] */ __RPC__in_opt IDispatch *pDisp,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *detachEvent )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ __RPC__in BSTR event,
            /* [in] */ __RPC__in_opt IDispatch *pDisp);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_readyState )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onreadystatechange )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onreadystatechange )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onrowsdelete )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onrowsdelete )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onrowsinserted )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onrowsinserted )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_oncellchange )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oncellchange )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_dir )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dir )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createControlRange )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **range);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollHeight )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollWidth )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollTop )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollTop )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollLeft )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollLeft )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *clearAttributes )( 
            __RPC__in IHTMLElement2 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *mergeAttributes )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ __RPC__in_opt IHTMLElement *mergeThis);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_oncontextmenu )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oncontextmenu )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *insertAdjacentElement )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ __RPC__in BSTR where,
            /* [in] */ __RPC__in_opt IHTMLElement *insertedElement,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **inserted);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *applyElement )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ __RPC__in_opt IHTMLElement *apply,
            /* [in] */ __RPC__in BSTR where,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **applied);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getAdjacentText )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ __RPC__in BSTR where,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *text);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *replaceAdjacentText )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ __RPC__in BSTR where,
            /* [in] */ __RPC__in BSTR newText,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *oldText);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_canHaveChildren )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *addBehavior )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ __RPC__in BSTR bstrUrl,
            /* [in][optional] */ __RPC__in VARIANT *pvarFactory,
            /* [out][retval] */ __RPC__out long *pCookie);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeBehavior )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ long cookie,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfResult);
        
        /* [nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_runtimeStyle )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyle **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_behaviorUrns )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_tagUrn )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_tagUrn )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onbeforeeditfocus )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onbeforeeditfocus )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_readyStateValue )( 
            __RPC__in IHTMLElement2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getElementsByTagName )( 
            __RPC__in IHTMLElement2 * This,
            /* [in] */ __RPC__in BSTR v,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **pelColl);
        
        END_INTERFACE
    } IHTMLElement2Vtbl;

    interface IHTMLElement2
    {
        CONST_VTBL struct IHTMLElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLElement2_INTERFACE_DEFINED__ */


#ifndef __IHTMLAttributeCollection3_INTERFACE_DEFINED__
#define __IHTMLAttributeCollection3_INTERFACE_DEFINED__

/* interface IHTMLAttributeCollection3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLAttributeCollection3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510469-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLAttributeCollection3 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getNamedItem( 
            /* [in] */ __RPC__in BSTR bstrName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **ppNodeOut) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setNamedItem( 
            /* [in] */ __RPC__in_opt IHTMLDOMAttribute *pNodeIn,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **ppNodeOut) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeNamedItem( 
            /* [in] */ __RPC__in BSTR bstrName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **ppNodeOut) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **ppNodeOut) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLAttributeCollection3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLAttributeCollection3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLAttributeCollection3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLAttributeCollection3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLAttributeCollection3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLAttributeCollection3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLAttributeCollection3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLAttributeCollection3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getNamedItem )( 
            __RPC__in IHTMLAttributeCollection3 * This,
            /* [in] */ __RPC__in BSTR bstrName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **ppNodeOut);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setNamedItem )( 
            __RPC__in IHTMLAttributeCollection3 * This,
            /* [in] */ __RPC__in_opt IHTMLDOMAttribute *pNodeIn,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **ppNodeOut);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeNamedItem )( 
            __RPC__in IHTMLAttributeCollection3 * This,
            /* [in] */ __RPC__in BSTR bstrName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **ppNodeOut);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLAttributeCollection3 * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **ppNodeOut);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLAttributeCollection3 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        END_INTERFACE
    } IHTMLAttributeCollection3Vtbl;

    interface IHTMLAttributeCollection3
    {
        CONST_VTBL struct IHTMLAttributeCollection3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLAttributeCollection3_INTERFACE_DEFINED__ */


#ifndef __IDOMDocumentType_INTERFACE_DEFINED__
#define __IDOMDocumentType_INTERFACE_DEFINED__

/* interface IDOMDocumentType */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMDocumentType;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510738-98b5-11cf-bb82-00aa00bdce0b")
    IDOMDocumentType : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_entities( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_notations( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_publicId( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_systemId( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_internalSubset( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMDocumentTypeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMDocumentType * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMDocumentType * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMDocumentType * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMDocumentType * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMDocumentType * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMDocumentType * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMDocumentType * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IDOMDocumentType * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_entities )( 
            __RPC__in IDOMDocumentType * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_notations )( 
            __RPC__in IDOMDocumentType * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_publicId )( 
            __RPC__in IDOMDocumentType * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_systemId )( 
            __RPC__in IDOMDocumentType * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_internalSubset )( 
            __RPC__in IDOMDocumentType * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IDOMDocumentTypeVtbl;

    interface IDOMDocumentType
    {
        CONST_VTBL struct IDOMDocumentTypeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMDocumentType_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMDocumentType_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMDocumentType_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMDocumentType_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMDocumentType_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMDocumentType_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMDocumentType_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMDocumentType_get_name(This,p)	\
    ( (This)->lpVtbl -> get_name(This,p) ) 

#define IDOMDocumentType_get_entities(This,p)	\
    ( (This)->lpVtbl -> get_entities(This,p) ) 

#define IDOMDocumentType_get_notations(This,p)	\
    ( (This)->lpVtbl -> get_notations(This,p) ) 

#define IDOMDocumentType_get_publicId(This,p)	\
    ( (This)->lpVtbl -> get_publicId(This,p) ) 

#define IDOMDocumentType_get_systemId(This,p)	\
    ( (This)->lpVtbl -> get_systemId(This,p) ) 

#define IDOMDocumentType_get_internalSubset(This,p)	\
    ( (This)->lpVtbl -> get_internalSubset(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMDocumentType_INTERFACE_DEFINED__ */


#ifndef __IHTMLDocument7_INTERFACE_DEFINED__
#define __IHTMLDocument7_INTERFACE_DEFINED__

/* interface IHTMLDocument7 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDocument7;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104b8-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDocument7 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_defaultView( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLWindow2 **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createCDATASection( 
            /* [in] */ __RPC__in BSTR text,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **newCDATASectionNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getSelection( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLSelection **ppIHTMLSelection) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getElementsByTagNameNS( 
            /* [in] */ __RPC__in VARIANT *pvarNS,
            /* [in] */ __RPC__in BSTR bstrLocalName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **pelColl) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createElementNS( 
            /* [in] */ __RPC__in VARIANT *pvarNS,
            /* [in] */ __RPC__in BSTR bstrTag,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **newElem) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createAttributeNS( 
            /* [in] */ __RPC__in VARIANT *pvarNS,
            /* [in] */ __RPC__in BSTR bstrAttrName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **ppAttribute) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsthumbnailclick( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsthumbnailclick( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_characterSet( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createElement( 
            /* [in] */ __RPC__in BSTR bstrTag,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **newElem) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createAttribute( 
            /* [in] */ __RPC__in BSTR bstrAttrName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **ppAttribute) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getElementsByClassName( 
            /* [in] */ __RPC__in BSTR v,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **pel) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createProcessingInstruction( 
            /* [in] */ __RPC__in BSTR bstrTarget,
            /* [in] */ __RPC__in BSTR bstrData,
            /* [out][retval] */ __RPC__deref_out_opt IDOMProcessingInstruction **newProcessingInstruction) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE adoptNode( 
            /* [in] */ __RPC__in_opt IHTMLDOMNode *pNodeSource,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode3 **ppNodeDest) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmssitemodejumplistitemremoved( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmssitemodejumplistitemremoved( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_all( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_inputEncoding( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_xmlEncoding( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_xmlStandalone( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_xmlStandalone( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_xmlVersion( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_xmlVersion( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE hasAttributes( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfHasAttributes) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onabort( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onabort( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onblur( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onblur( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_oncanplay( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_oncanplay( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_oncanplaythrough( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_oncanplaythrough( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onchange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onchange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondrag( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondrag( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondragend( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondragend( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondragenter( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondragenter( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondragleave( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondragleave( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondragover( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondragover( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondrop( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondrop( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondurationchange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondurationchange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onemptied( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onemptied( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onended( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onended( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onerror( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onerror( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onfocus( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onfocus( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_oninput( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_oninput( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onload( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onload( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onloadeddata( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onloadeddata( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onloadedmetadata( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onloadedmetadata( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onloadstart( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onloadstart( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onpause( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onpause( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onplay( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onplay( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onplaying( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onplaying( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onprogress( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onprogress( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onratechange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onratechange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onreset( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onreset( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onscroll( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onscroll( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onseeked( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onseeked( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onseeking( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onseeking( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onselect( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onselect( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onstalled( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onstalled( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onsubmit( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onsubmit( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onsuspend( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onsuspend( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ontimeupdate( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ontimeupdate( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onvolumechange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onvolumechange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onwaiting( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onwaiting( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE normalize( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE importNode( 
            /* [in] */ __RPC__in_opt IHTMLDOMNode *pNodeSource,
            /* [in] */ VARIANT_BOOL fDeep,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode3 **ppNodeDest) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_parentWindow( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLWindow2 **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_body( 
            /* [in] */ __RPC__in_opt IHTMLElement *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_body( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_head( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDocument7Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDocument7 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDocument7 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDocument7 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_defaultView )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLWindow2 **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createCDATASection )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ __RPC__in BSTR text,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **newCDATASectionNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getSelection )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLSelection **ppIHTMLSelection);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getElementsByTagNameNS )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ __RPC__in VARIANT *pvarNS,
            /* [in] */ __RPC__in BSTR bstrLocalName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **pelColl);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createElementNS )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ __RPC__in VARIANT *pvarNS,
            /* [in] */ __RPC__in BSTR bstrTag,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **newElem);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createAttributeNS )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ __RPC__in VARIANT *pvarNS,
            /* [in] */ __RPC__in BSTR bstrAttrName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **ppAttribute);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsthumbnailclick )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsthumbnailclick )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterSet )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createElement )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ __RPC__in BSTR bstrTag,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **newElem);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createAttribute )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ __RPC__in BSTR bstrAttrName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **ppAttribute);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getElementsByClassName )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ __RPC__in BSTR v,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **pel);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createProcessingInstruction )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ __RPC__in BSTR bstrTarget,
            /* [in] */ __RPC__in BSTR bstrData,
            /* [out][retval] */ __RPC__deref_out_opt IDOMProcessingInstruction **newProcessingInstruction);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *adoptNode )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ __RPC__in_opt IHTMLDOMNode *pNodeSource,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode3 **ppNodeDest);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmssitemodejumplistitemremoved )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmssitemodejumplistitemremoved )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_all )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_inputEncoding )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_xmlEncoding )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_xmlStandalone )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_xmlStandalone )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_xmlVersion )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_xmlVersion )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *hasAttributes )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfHasAttributes);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onabort )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onabort )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onblur )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onblur )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_oncanplay )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oncanplay )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_oncanplaythrough )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oncanplaythrough )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onchange )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onchange )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondrag )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondrag )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondragend )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondragend )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondragenter )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondragenter )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondragleave )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondragleave )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondragover )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondragover )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondrop )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondrop )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondurationchange )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondurationchange )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onemptied )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onemptied )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onended )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onended )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onerror )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onerror )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onfocus )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onfocus )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_oninput )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oninput )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onload )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onload )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onloadeddata )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onloadeddata )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onloadedmetadata )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onloadedmetadata )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onloadstart )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onloadstart )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onpause )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onpause )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onplay )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onplay )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onplaying )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onplaying )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onprogress )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onprogress )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onratechange )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onratechange )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onreset )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onreset )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onscroll )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onscroll )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onseeked )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onseeked )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onseeking )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onseeking )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onselect )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onselect )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onstalled )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onstalled )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onsubmit )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onsubmit )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onsuspend )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onsuspend )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ontimeupdate )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ontimeupdate )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onvolumechange )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onvolumechange )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onwaiting )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onwaiting )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *normalize )( 
            __RPC__in IHTMLDocument7 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *importNode )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ __RPC__in_opt IHTMLDOMNode *pNodeSource,
            /* [in] */ VARIANT_BOOL fDeep,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode3 **ppNodeDest);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_parentWindow )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLWindow2 **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_body )( 
            __RPC__in IHTMLDocument7 * This,
            /* [in] */ __RPC__in_opt IHTMLElement *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_body )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_head )( 
            __RPC__in IHTMLDocument7 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p);
        
        END_INTERFACE
    } IHTMLDocument7Vtbl;

    interface IHTMLDocument7
    {
        CONST_VTBL struct IHTMLDocument7Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDocument7_INTERFACE_DEFINED__ */


#ifndef __IHTMLDOMNode_INTERFACE_DEFINED__
#define __IHTMLDOMNode_INTERFACE_DEFINED__

/* interface IHTMLDOMNode */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDOMNode;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f5da-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDOMNode : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_nodeType( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_parentNode( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE hasChildNodes( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *fChildren) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_childNodes( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_attributes( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE insertBefore( 
            /* [in] */ __RPC__in_opt IHTMLDOMNode *newChild,
            /* [in][optional] */ VARIANT refChild,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **node) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeChild( 
            /* [in] */ __RPC__in_opt IHTMLDOMNode *oldChild,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **node) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE replaceChild( 
            /* [in] */ __RPC__in_opt IHTMLDOMNode *newChild,
            /* [in] */ __RPC__in_opt IHTMLDOMNode *oldChild,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **node) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE cloneNode( 
            /* [in] */ VARIANT_BOOL fDeep,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **clonedNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeNode( 
            /* [in][defaultvalue] */ VARIANT_BOOL fDeep,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **removed) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE swapNode( 
            /* [in] */ __RPC__in_opt IHTMLDOMNode *otherNode,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **swappedNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE replaceNode( 
            /* [in] */ __RPC__in_opt IHTMLDOMNode *replacement,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **replaced) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE appendChild( 
            /* [in] */ __RPC__in_opt IHTMLDOMNode *newChild,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **node) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_nodeName( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_nodeValue( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_nodeValue( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_firstChild( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_lastChild( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_previousSibling( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_nextSibling( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDOMNodeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDOMNode * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDOMNode * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDOMNode * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDOMNode * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDOMNode * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDOMNode * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDOMNode * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nodeType )( 
            __RPC__in IHTMLDOMNode * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_parentNode )( 
            __RPC__in IHTMLDOMNode * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *hasChildNodes )( 
            __RPC__in IHTMLDOMNode * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *fChildren);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_childNodes )( 
            __RPC__in IHTMLDOMNode * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )( 
            __RPC__in IHTMLDOMNode * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *insertBefore )( 
            __RPC__in IHTMLDOMNode * This,
            /* [in] */ __RPC__in_opt IHTMLDOMNode *newChild,
            /* [in][optional] */ VARIANT refChild,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **node);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeChild )( 
            __RPC__in IHTMLDOMNode * This,
            /* [in] */ __RPC__in_opt IHTMLDOMNode *oldChild,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **node);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *replaceChild )( 
            __RPC__in IHTMLDOMNode * This,
            /* [in] */ __RPC__in_opt IHTMLDOMNode *newChild,
            /* [in] */ __RPC__in_opt IHTMLDOMNode *oldChild,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **node);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *cloneNode )( 
            __RPC__in IHTMLDOMNode * This,
            /* [in] */ VARIANT_BOOL fDeep,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **clonedNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeNode )( 
            __RPC__in IHTMLDOMNode * This,
            /* [in][defaultvalue] */ VARIANT_BOOL fDeep,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **removed);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *swapNode )( 
            __RPC__in IHTMLDOMNode * This,
            /* [in] */ __RPC__in_opt IHTMLDOMNode *otherNode,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **swappedNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *replaceNode )( 
            __RPC__in IHTMLDOMNode * This,
            /* [in] */ __RPC__in_opt IHTMLDOMNode *replacement,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **replaced);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *appendChild )( 
            __RPC__in IHTMLDOMNode * This,
            /* [in] */ __RPC__in_opt IHTMLDOMNode *newChild,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **node);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nodeName )( 
            __RPC__in IHTMLDOMNode * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_nodeValue )( 
            __RPC__in IHTMLDOMNode * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nodeValue )( 
            __RPC__in IHTMLDOMNode * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_firstChild )( 
            __RPC__in IHTMLDOMNode * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastChild )( 
            __RPC__in IHTMLDOMNode * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_previousSibling )( 
            __RPC__in IHTMLDOMNode * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextSibling )( 
            __RPC__in IHTMLDOMNode * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p);
        
        END_INTERFACE
    } IHTMLDOMNodeVtbl;

    interface IHTMLDOMNode
    {
        CONST_VTBL struct IHTMLDOMNodeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDOMNode_INTERFACE_DEFINED__ */


#ifndef __IHTMLDOMNode2_INTERFACE_DEFINED__
#define __IHTMLDOMNode2_INTERFACE_DEFINED__

/* interface IHTMLDOMNode2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDOMNode2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f80b-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDOMNode2 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ownerDocument( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDOMNode2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDOMNode2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDOMNode2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDOMNode2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDOMNode2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDOMNode2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDOMNode2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDOMNode2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ownerDocument )( 
            __RPC__in IHTMLDOMNode2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        END_INTERFACE
    } IHTMLDOMNode2Vtbl;

    interface IHTMLDOMNode2
    {
        CONST_VTBL struct IHTMLDOMNode2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLDOMNode2_get_ownerDocument(This,p)	\
    ( (This)->lpVtbl -> get_ownerDocument(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDOMNode2_INTERFACE_DEFINED__ */


#ifndef __IHTMLDOMNode3_INTERFACE_DEFINED__
#define __IHTMLDOMNode3_INTERFACE_DEFINED__

/* interface IHTMLDOMNode3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDOMNode3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106e0-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDOMNode3 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_prefix( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_prefix( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_localName( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_namespaceURI( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_textContent( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_textContent( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE isEqualNode( 
            /* [in] */ __RPC__in_opt IHTMLDOMNode3 *otherNode,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *isEqual) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE lookupNamespaceURI( 
            /* [in] */ __RPC__in VARIANT *pvarPrefix,
            /* [out][retval] */ __RPC__out VARIANT *pvarNamespaceURI) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE lookupPrefix( 
            /* [in] */ __RPC__in VARIANT *pvarNamespaceURI,
            /* [out][retval] */ __RPC__out VARIANT *pvarPrefix) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE isDefaultNamespace( 
            /* [in] */ __RPC__in VARIANT *pvarNamespace,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfDefaultNamespace) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE appendChild( 
            /* [in] */ __RPC__in_opt IHTMLDOMNode *newChild,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **node) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE insertBefore( 
            /* [in] */ __RPC__in_opt IHTMLDOMNode *newChild,
            /* [in][optional] */ VARIANT refChild,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **node) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeChild( 
            /* [in] */ __RPC__in_opt IHTMLDOMNode *oldChild,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **node) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE replaceChild( 
            /* [in] */ __RPC__in_opt IHTMLDOMNode *newChild,
            /* [in] */ __RPC__in_opt IHTMLDOMNode *oldChild,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **node) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE isSameNode( 
            /* [in] */ __RPC__in_opt IHTMLDOMNode3 *otherNode,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *isSame) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE compareDocumentPosition( 
            /* [in] */ __RPC__in_opt IHTMLDOMNode *otherNode,
            /* [out][retval] */ __RPC__out USHORT *flags) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE isSupported( 
            /* [in] */ __RPC__in BSTR feature,
            /* [in] */ VARIANT version,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfisSupported) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDOMNode3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDOMNode3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDOMNode3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDOMNode3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDOMNode3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDOMNode3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDOMNode3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDOMNode3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_prefix )( 
            __RPC__in IHTMLDOMNode3 * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_prefix )( 
            __RPC__in IHTMLDOMNode3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_localName )( 
            __RPC__in IHTMLDOMNode3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_namespaceURI )( 
            __RPC__in IHTMLDOMNode3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textContent )( 
            __RPC__in IHTMLDOMNode3 * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textContent )( 
            __RPC__in IHTMLDOMNode3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *isEqualNode )( 
            __RPC__in IHTMLDOMNode3 * This,
            /* [in] */ __RPC__in_opt IHTMLDOMNode3 *otherNode,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *isEqual);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *lookupNamespaceURI )( 
            __RPC__in IHTMLDOMNode3 * This,
            /* [in] */ __RPC__in VARIANT *pvarPrefix,
            /* [out][retval] */ __RPC__out VARIANT *pvarNamespaceURI);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *lookupPrefix )( 
            __RPC__in IHTMLDOMNode3 * This,
            /* [in] */ __RPC__in VARIANT *pvarNamespaceURI,
            /* [out][retval] */ __RPC__out VARIANT *pvarPrefix);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *isDefaultNamespace )( 
            __RPC__in IHTMLDOMNode3 * This,
            /* [in] */ __RPC__in VARIANT *pvarNamespace,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfDefaultNamespace);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *appendChild )( 
            __RPC__in IHTMLDOMNode3 * This,
            /* [in] */ __RPC__in_opt IHTMLDOMNode *newChild,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **node);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *insertBefore )( 
            __RPC__in IHTMLDOMNode3 * This,
            /* [in] */ __RPC__in_opt IHTMLDOMNode *newChild,
            /* [in][optional] */ VARIANT refChild,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **node);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeChild )( 
            __RPC__in IHTMLDOMNode3 * This,
            /* [in] */ __RPC__in_opt IHTMLDOMNode *oldChild,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **node);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *replaceChild )( 
            __RPC__in IHTMLDOMNode3 * This,
            /* [in] */ __RPC__in_opt IHTMLDOMNode *newChild,
            /* [in] */ __RPC__in_opt IHTMLDOMNode *oldChild,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **node);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *isSameNode )( 
            __RPC__in IHTMLDOMNode3 * This,
            /* [in] */ __RPC__in_opt IHTMLDOMNode3 *otherNode,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *isSame);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *compareDocumentPosition )( 
            __RPC__in IHTMLDOMNode3 * This,
            /* [in] */ __RPC__in_opt IHTMLDOMNode *otherNode,
            /* [out][retval] */ __RPC__out USHORT *flags);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *isSupported )( 
            __RPC__in IHTMLDOMNode3 * This,
            /* [in] */ __RPC__in BSTR feature,
            /* [in] */ VARIANT version,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfisSupported);
        
        END_INTERFACE
    } IHTMLDOMNode3Vtbl;

    interface IHTMLDOMNode3
    {
        CONST_VTBL struct IHTMLDOMNode3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDOMNode3_INTERFACE_DEFINED__ */


#ifndef __IHTMLDOMAttribute_INTERFACE_DEFINED__
#define __IHTMLDOMAttribute_INTERFACE_DEFINED__

/* interface IHTMLDOMAttribute */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDOMAttribute;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4b0-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDOMAttribute : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_nodeName( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_nodeValue( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_nodeValue( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_specified( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDOMAttributeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDOMAttribute * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDOMAttribute * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDOMAttribute * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDOMAttribute * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDOMAttribute * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDOMAttribute * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDOMAttribute * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nodeName )( 
            __RPC__in IHTMLDOMAttribute * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_nodeValue )( 
            __RPC__in IHTMLDOMAttribute * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nodeValue )( 
            __RPC__in IHTMLDOMAttribute * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_specified )( 
            __RPC__in IHTMLDOMAttribute * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        END_INTERFACE
    } IHTMLDOMAttributeVtbl;

    interface IHTMLDOMAttribute
    {
        CONST_VTBL struct IHTMLDOMAttributeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDOMAttribute_INTERFACE_DEFINED__ */


#ifndef __IHTMLDOMAttribute2_INTERFACE_DEFINED__
#define __IHTMLDOMAttribute2_INTERFACE_DEFINED__

/* interface IHTMLDOMAttribute2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDOMAttribute2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f810-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDOMAttribute2 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_value( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_value( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_expando( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_nodeType( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_parentNode( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_childNodes( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_firstChild( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_lastChild( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_previousSibling( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_nextSibling( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_attributes( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ownerDocument( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE insertBefore( 
            /* [in] */ __RPC__in_opt IHTMLDOMNode *newChild,
            /* [in][optional] */ VARIANT refChild,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **node) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE replaceChild( 
            /* [in] */ __RPC__in_opt IHTMLDOMNode *newChild,
            /* [in] */ __RPC__in_opt IHTMLDOMNode *oldChild,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **node) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeChild( 
            /* [in] */ __RPC__in_opt IHTMLDOMNode *oldChild,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **node) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE appendChild( 
            /* [in] */ __RPC__in_opt IHTMLDOMNode *newChild,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **node) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE hasChildNodes( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *fChildren) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE cloneNode( 
            /* [in] */ VARIANT_BOOL fDeep,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **clonedNode) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDOMAttribute2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDOMAttribute2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDOMAttribute2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDOMAttribute2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDOMAttribute2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDOMAttribute2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDOMAttribute2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDOMAttribute2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLDOMAttribute2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_value )( 
            __RPC__in IHTMLDOMAttribute2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 
            __RPC__in IHTMLDOMAttribute2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_expando )( 
            __RPC__in IHTMLDOMAttribute2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nodeType )( 
            __RPC__in IHTMLDOMAttribute2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_parentNode )( 
            __RPC__in IHTMLDOMAttribute2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_childNodes )( 
            __RPC__in IHTMLDOMAttribute2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_firstChild )( 
            __RPC__in IHTMLDOMAttribute2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastChild )( 
            __RPC__in IHTMLDOMAttribute2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_previousSibling )( 
            __RPC__in IHTMLDOMAttribute2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextSibling )( 
            __RPC__in IHTMLDOMAttribute2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )( 
            __RPC__in IHTMLDOMAttribute2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ownerDocument )( 
            __RPC__in IHTMLDOMAttribute2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *insertBefore )( 
            __RPC__in IHTMLDOMAttribute2 * This,
            /* [in] */ __RPC__in_opt IHTMLDOMNode *newChild,
            /* [in][optional] */ VARIANT refChild,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **node);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *replaceChild )( 
            __RPC__in IHTMLDOMAttribute2 * This,
            /* [in] */ __RPC__in_opt IHTMLDOMNode *newChild,
            /* [in] */ __RPC__in_opt IHTMLDOMNode *oldChild,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **node);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeChild )( 
            __RPC__in IHTMLDOMAttribute2 * This,
            /* [in] */ __RPC__in_opt IHTMLDOMNode *oldChild,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **node);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *appendChild )( 
            __RPC__in IHTMLDOMAttribute2 * This,
            /* [in] */ __RPC__in_opt IHTMLDOMNode *newChild,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **node);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *hasChildNodes )( 
            __RPC__in IHTMLDOMAttribute2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *fChildren);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *cloneNode )( 
            __RPC__in IHTMLDOMAttribute2 * This,
            /* [in] */ VARIANT_BOOL fDeep,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **clonedNode);
        
        END_INTERFACE
    } IHTMLDOMAttribute2Vtbl;

    interface IHTMLDOMAttribute2
    {
        CONST_VTBL struct IHTMLDOMAttribute2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDOMAttribute2_INTERFACE_DEFINED__ */


#ifndef __IHTMLDOMAttribute3_INTERFACE_DEFINED__
#define __IHTMLDOMAttribute3_INTERFACE_DEFINED__

/* interface IHTMLDOMAttribute3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDOMAttribute3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510468-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDOMAttribute3 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_nodeValue( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_nodeValue( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_value( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_value( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_specified( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ownerElement( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement2 **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDOMAttribute3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDOMAttribute3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDOMAttribute3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDOMAttribute3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDOMAttribute3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDOMAttribute3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDOMAttribute3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDOMAttribute3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_nodeValue )( 
            __RPC__in IHTMLDOMAttribute3 * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nodeValue )( 
            __RPC__in IHTMLDOMAttribute3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_value )( 
            __RPC__in IHTMLDOMAttribute3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 
            __RPC__in IHTMLDOMAttribute3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_specified )( 
            __RPC__in IHTMLDOMAttribute3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ownerElement )( 
            __RPC__in IHTMLDOMAttribute3 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement2 **p);
        
        END_INTERFACE
    } IHTMLDOMAttribute3Vtbl;

    interface IHTMLDOMAttribute3
    {
        CONST_VTBL struct IHTMLDOMAttribute3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLDOMAttribute3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLDOMAttribute3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLDOMAttribute3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLDOMAttribute3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLDOMAttribute3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLDOMAttribute3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLDOMAttribute3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLDOMAttribute3_put_nodeValue(This,v)	\
    ( (This)->lpVtbl -> put_nodeValue(This,v) ) 

#define IHTMLDOMAttribute3_get_nodeValue(This,p)	\
    ( (This)->lpVtbl -> get_nodeValue(This,p) ) 

#define IHTMLDOMAttribute3_put_value(This,v)	\
    ( (This)->lpVtbl -> put_value(This,v) ) 

#define IHTMLDOMAttribute3_get_value(This,p)	\
    ( (This)->lpVtbl -> get_value(This,p) ) 

#define IHTMLDOMAttribute3_get_specified(This,p)	\
    ( (This)->lpVtbl -> get_specified(This,p) ) 

#define IHTMLDOMAttribute3_get_ownerElement(This,p)	\
    ( (This)->lpVtbl -> get_ownerElement(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDOMAttribute3_INTERFACE_DEFINED__ */


#ifndef __IHTMLDOMAttribute4_INTERFACE_DEFINED__
#define __IHTMLDOMAttribute4_INTERFACE_DEFINED__

/* interface IHTMLDOMAttribute4 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDOMAttribute4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106f9-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDOMAttribute4 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_nodeValue( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_nodeValue( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_nodeName( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_value( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_value( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_firstChild( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_lastChild( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_childNodes( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE hasAttributes( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfHasAttributes) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE hasChildNodes( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *fChildren) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE normalize( void) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_specified( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDOMAttribute4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDOMAttribute4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDOMAttribute4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDOMAttribute4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDOMAttribute4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDOMAttribute4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDOMAttribute4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDOMAttribute4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_nodeValue )( 
            __RPC__in IHTMLDOMAttribute4 * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nodeValue )( 
            __RPC__in IHTMLDOMAttribute4 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nodeName )( 
            __RPC__in IHTMLDOMAttribute4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLDOMAttribute4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_value )( 
            __RPC__in IHTMLDOMAttribute4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 
            __RPC__in IHTMLDOMAttribute4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_firstChild )( 
            __RPC__in IHTMLDOMAttribute4 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastChild )( 
            __RPC__in IHTMLDOMAttribute4 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_childNodes )( 
            __RPC__in IHTMLDOMAttribute4 * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *hasAttributes )( 
            __RPC__in IHTMLDOMAttribute4 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfHasAttributes);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *hasChildNodes )( 
            __RPC__in IHTMLDOMAttribute4 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *fChildren);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *normalize )( 
            __RPC__in IHTMLDOMAttribute4 * This);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_specified )( 
            __RPC__in IHTMLDOMAttribute4 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        END_INTERFACE
    } IHTMLDOMAttribute4Vtbl;

    interface IHTMLDOMAttribute4
    {
        CONST_VTBL struct IHTMLDOMAttribute4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLDOMAttribute4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLDOMAttribute4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLDOMAttribute4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLDOMAttribute4_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLDOMAttribute4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLDOMAttribute4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLDOMAttribute4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLDOMAttribute4_put_nodeValue(This,v)	\
    ( (This)->lpVtbl -> put_nodeValue(This,v) ) 

#define IHTMLDOMAttribute4_get_nodeValue(This,p)	\
    ( (This)->lpVtbl -> get_nodeValue(This,p) ) 

#define IHTMLDOMAttribute4_get_nodeName(This,p)	\
    ( (This)->lpVtbl -> get_nodeName(This,p) ) 

#define IHTMLDOMAttribute4_get_name(This,p)	\
    ( (This)->lpVtbl -> get_name(This,p) ) 

#define IHTMLDOMAttribute4_put_value(This,v)	\
    ( (This)->lpVtbl -> put_value(This,v) ) 

#define IHTMLDOMAttribute4_get_value(This,p)	\
    ( (This)->lpVtbl -> get_value(This,p) ) 

#define IHTMLDOMAttribute4_get_firstChild(This,p)	\
    ( (This)->lpVtbl -> get_firstChild(This,p) ) 

#define IHTMLDOMAttribute4_get_lastChild(This,p)	\
    ( (This)->lpVtbl -> get_lastChild(This,p) ) 

#define IHTMLDOMAttribute4_get_childNodes(This,p)	\
    ( (This)->lpVtbl -> get_childNodes(This,p) ) 

#define IHTMLDOMAttribute4_hasAttributes(This,pfHasAttributes)	\
    ( (This)->lpVtbl -> hasAttributes(This,pfHasAttributes) ) 

#define IHTMLDOMAttribute4_hasChildNodes(This,fChildren)	\
    ( (This)->lpVtbl -> hasChildNodes(This,fChildren) ) 

#define IHTMLDOMAttribute4_normalize(This)	\
    ( (This)->lpVtbl -> normalize(This) ) 

#define IHTMLDOMAttribute4_get_specified(This,p)	\
    ( (This)->lpVtbl -> get_specified(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDOMAttribute4_INTERFACE_DEFINED__ */


#ifndef __IHTMLDOMTextNode_INTERFACE_DEFINED__
#define __IHTMLDOMTextNode_INTERFACE_DEFINED__

/* interface IHTMLDOMTextNode */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDOMTextNode;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4b1-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDOMTextNode : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_data( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_data( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE toString( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *String) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE splitText( 
            /* [in] */ long offset,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **pRetNode) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDOMTextNodeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDOMTextNode * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDOMTextNode * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDOMTextNode * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDOMTextNode * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDOMTextNode * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDOMTextNode * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDOMTextNode * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_data )( 
            __RPC__in IHTMLDOMTextNode * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_data )( 
            __RPC__in IHTMLDOMTextNode * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *toString )( 
            __RPC__in IHTMLDOMTextNode * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *String);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLDOMTextNode * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *splitText )( 
            __RPC__in IHTMLDOMTextNode * This,
            /* [in] */ long offset,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **pRetNode);
        
        END_INTERFACE
    } IHTMLDOMTextNodeVtbl;

    interface IHTMLDOMTextNode
    {
        CONST_VTBL struct IHTMLDOMTextNodeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDOMTextNode_INTERFACE_DEFINED__ */


#ifndef __IHTMLDOMTextNode2_INTERFACE_DEFINED__
#define __IHTMLDOMTextNode2_INTERFACE_DEFINED__

/* interface IHTMLDOMTextNode2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDOMTextNode2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f809-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDOMTextNode2 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE substringData( 
            /* [in] */ long offset,
            /* [in] */ long Count,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrsubString) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE appendData( 
            /* [in] */ __RPC__in BSTR bstrstring) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE insertData( 
            /* [in] */ long offset,
            /* [in] */ __RPC__in BSTR bstrstring) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE deleteData( 
            /* [in] */ long offset,
            /* [in] */ long Count) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE replaceData( 
            /* [in] */ long offset,
            /* [in] */ long Count,
            /* [in] */ __RPC__in BSTR bstrstring) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDOMTextNode2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDOMTextNode2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDOMTextNode2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDOMTextNode2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDOMTextNode2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDOMTextNode2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDOMTextNode2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDOMTextNode2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *substringData )( 
            __RPC__in IHTMLDOMTextNode2 * This,
            /* [in] */ long offset,
            /* [in] */ long Count,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrsubString);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *appendData )( 
            __RPC__in IHTMLDOMTextNode2 * This,
            /* [in] */ __RPC__in BSTR bstrstring);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *insertData )( 
            __RPC__in IHTMLDOMTextNode2 * This,
            /* [in] */ long offset,
            /* [in] */ __RPC__in BSTR bstrstring);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *deleteData )( 
            __RPC__in IHTMLDOMTextNode2 * This,
            /* [in] */ long offset,
            /* [in] */ long Count);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *replaceData )( 
            __RPC__in IHTMLDOMTextNode2 * This,
            /* [in] */ long offset,
            /* [in] */ long Count,
            /* [in] */ __RPC__in BSTR bstrstring);
        
        END_INTERFACE
    } IHTMLDOMTextNode2Vtbl;

    interface IHTMLDOMTextNode2
    {
        CONST_VTBL struct IHTMLDOMTextNode2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDOMTextNode2_INTERFACE_DEFINED__ */


#ifndef __IHTMLDOMTextNode3_INTERFACE_DEFINED__
#define __IHTMLDOMTextNode3_INTERFACE_DEFINED__

/* interface IHTMLDOMTextNode3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDOMTextNode3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051073e-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDOMTextNode3 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE substringData( 
            /* [in] */ long offset,
            /* [in] */ long Count,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrsubString) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE insertData( 
            /* [in] */ long offset,
            /* [in] */ __RPC__in BSTR bstrstring) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE deleteData( 
            /* [in] */ long offset,
            /* [in] */ long Count) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE replaceData( 
            /* [in] */ long offset,
            /* [in] */ long Count,
            /* [in] */ __RPC__in BSTR bstrstring) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE splitText( 
            /* [in] */ long offset,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **pRetNode) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_wholeText( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE replaceWholeText( 
            /* [in] */ __RPC__in BSTR bstrText,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **ppRetNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE hasAttributes( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfHasAttributes) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE normalize( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDOMTextNode3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDOMTextNode3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDOMTextNode3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDOMTextNode3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDOMTextNode3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDOMTextNode3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDOMTextNode3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDOMTextNode3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *substringData )( 
            __RPC__in IHTMLDOMTextNode3 * This,
            /* [in] */ long offset,
            /* [in] */ long Count,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrsubString);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *insertData )( 
            __RPC__in IHTMLDOMTextNode3 * This,
            /* [in] */ long offset,
            /* [in] */ __RPC__in BSTR bstrstring);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *deleteData )( 
            __RPC__in IHTMLDOMTextNode3 * This,
            /* [in] */ long offset,
            /* [in] */ long Count);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *replaceData )( 
            __RPC__in IHTMLDOMTextNode3 * This,
            /* [in] */ long offset,
            /* [in] */ long Count,
            /* [in] */ __RPC__in BSTR bstrstring);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *splitText )( 
            __RPC__in IHTMLDOMTextNode3 * This,
            /* [in] */ long offset,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **pRetNode);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_wholeText )( 
            __RPC__in IHTMLDOMTextNode3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *replaceWholeText )( 
            __RPC__in IHTMLDOMTextNode3 * This,
            /* [in] */ __RPC__in BSTR bstrText,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **ppRetNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *hasAttributes )( 
            __RPC__in IHTMLDOMTextNode3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfHasAttributes);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *normalize )( 
            __RPC__in IHTMLDOMTextNode3 * This);
        
        END_INTERFACE
    } IHTMLDOMTextNode3Vtbl;

    interface IHTMLDOMTextNode3
    {
        CONST_VTBL struct IHTMLDOMTextNode3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLDOMTextNode3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLDOMTextNode3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLDOMTextNode3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLDOMTextNode3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLDOMTextNode3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLDOMTextNode3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLDOMTextNode3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLDOMTextNode3_substringData(This,offset,Count,pbstrsubString)	\
    ( (This)->lpVtbl -> substringData(This,offset,Count,pbstrsubString) ) 

#define IHTMLDOMTextNode3_insertData(This,offset,bstrstring)	\
    ( (This)->lpVtbl -> insertData(This,offset,bstrstring) ) 

#define IHTMLDOMTextNode3_deleteData(This,offset,Count)	\
    ( (This)->lpVtbl -> deleteData(This,offset,Count) ) 

#define IHTMLDOMTextNode3_replaceData(This,offset,Count,bstrstring)	\
    ( (This)->lpVtbl -> replaceData(This,offset,Count,bstrstring) ) 

#define IHTMLDOMTextNode3_splitText(This,offset,pRetNode)	\
    ( (This)->lpVtbl -> splitText(This,offset,pRetNode) ) 

#define IHTMLDOMTextNode3_get_wholeText(This,p)	\
    ( (This)->lpVtbl -> get_wholeText(This,p) ) 

#define IHTMLDOMTextNode3_replaceWholeText(This,bstrText,ppRetNode)	\
    ( (This)->lpVtbl -> replaceWholeText(This,bstrText,ppRetNode) ) 

#define IHTMLDOMTextNode3_hasAttributes(This,pfHasAttributes)	\
    ( (This)->lpVtbl -> hasAttributes(This,pfHasAttributes) ) 

#define IHTMLDOMTextNode3_normalize(This)	\
    ( (This)->lpVtbl -> normalize(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDOMTextNode3_INTERFACE_DEFINED__ */


#ifndef __IHTMLDOMImplementation_INTERFACE_DEFINED__
#define __IHTMLDOMImplementation_INTERFACE_DEFINED__

/* interface IHTMLDOMImplementation */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDOMImplementation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f80d-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDOMImplementation : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE hasFeature( 
            /* [in] */ __RPC__in BSTR bstrfeature,
            /* [in][optional] */ VARIANT version,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfHasFeature) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDOMImplementationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDOMImplementation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDOMImplementation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDOMImplementation * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDOMImplementation * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDOMImplementation * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDOMImplementation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDOMImplementation * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *hasFeature )( 
            __RPC__in IHTMLDOMImplementation * This,
            /* [in] */ __RPC__in BSTR bstrfeature,
            /* [in][optional] */ VARIANT version,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfHasFeature);
        
        END_INTERFACE
    } IHTMLDOMImplementationVtbl;

    interface IHTMLDOMImplementation
    {
        CONST_VTBL struct IHTMLDOMImplementationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLDOMImplementation_hasFeature(This,bstrfeature,version,pfHasFeature)	\
    ( (This)->lpVtbl -> hasFeature(This,bstrfeature,version,pfHasFeature) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDOMImplementation_INTERFACE_DEFINED__ */


#ifndef __IHTMLDOMImplementation2_INTERFACE_DEFINED__
#define __IHTMLDOMImplementation2_INTERFACE_DEFINED__

/* interface IHTMLDOMImplementation2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDOMImplementation2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051073c-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDOMImplementation2 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createDocumentType( 
            /* [in] */ __RPC__in BSTR bstrQualifiedName,
            /* [in] */ __RPC__in VARIANT *pvarPublicId,
            /* [in] */ __RPC__in VARIANT *pvarSystemId,
            /* [out][retval] */ __RPC__deref_out_opt IDOMDocumentType **newDocumentType) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createDocument( 
            /* [in] */ __RPC__in VARIANT *pvarNS,
            /* [in] */ __RPC__in VARIANT *pvarTagName,
            /* [in] */ __RPC__in_opt IDOMDocumentType *pDocumentType,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDocument7 **ppnewDocument) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createHTMLDocument( 
            /* [in] */ __RPC__in BSTR bstrTitle,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDocument7 **ppnewDocument) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE hasFeature( 
            /* [in] */ __RPC__in BSTR bstrfeature,
            /* [in][optional] */ VARIANT version,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfHasFeature) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDOMImplementation2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDOMImplementation2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDOMImplementation2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDOMImplementation2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDOMImplementation2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDOMImplementation2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDOMImplementation2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDOMImplementation2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createDocumentType )( 
            __RPC__in IHTMLDOMImplementation2 * This,
            /* [in] */ __RPC__in BSTR bstrQualifiedName,
            /* [in] */ __RPC__in VARIANT *pvarPublicId,
            /* [in] */ __RPC__in VARIANT *pvarSystemId,
            /* [out][retval] */ __RPC__deref_out_opt IDOMDocumentType **newDocumentType);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createDocument )( 
            __RPC__in IHTMLDOMImplementation2 * This,
            /* [in] */ __RPC__in VARIANT *pvarNS,
            /* [in] */ __RPC__in VARIANT *pvarTagName,
            /* [in] */ __RPC__in_opt IDOMDocumentType *pDocumentType,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDocument7 **ppnewDocument);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createHTMLDocument )( 
            __RPC__in IHTMLDOMImplementation2 * This,
            /* [in] */ __RPC__in BSTR bstrTitle,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDocument7 **ppnewDocument);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *hasFeature )( 
            __RPC__in IHTMLDOMImplementation2 * This,
            /* [in] */ __RPC__in BSTR bstrfeature,
            /* [in][optional] */ VARIANT version,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfHasFeature);
        
        END_INTERFACE
    } IHTMLDOMImplementation2Vtbl;

    interface IHTMLDOMImplementation2
    {
        CONST_VTBL struct IHTMLDOMImplementation2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLDOMImplementation2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLDOMImplementation2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLDOMImplementation2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLDOMImplementation2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLDOMImplementation2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLDOMImplementation2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLDOMImplementation2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLDOMImplementation2_createDocumentType(This,bstrQualifiedName,pvarPublicId,pvarSystemId,newDocumentType)	\
    ( (This)->lpVtbl -> createDocumentType(This,bstrQualifiedName,pvarPublicId,pvarSystemId,newDocumentType) ) 

#define IHTMLDOMImplementation2_createDocument(This,pvarNS,pvarTagName,pDocumentType,ppnewDocument)	\
    ( (This)->lpVtbl -> createDocument(This,pvarNS,pvarTagName,pDocumentType,ppnewDocument) ) 

#define IHTMLDOMImplementation2_createHTMLDocument(This,bstrTitle,ppnewDocument)	\
    ( (This)->lpVtbl -> createHTMLDocument(This,bstrTitle,ppnewDocument) ) 

#define IHTMLDOMImplementation2_hasFeature(This,bstrfeature,version,pfHasFeature)	\
    ( (This)->lpVtbl -> hasFeature(This,bstrfeature,version,pfHasFeature) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDOMImplementation2_INTERFACE_DEFINED__ */


#ifndef __DispHTMLDOMAttribute_DISPINTERFACE_DEFINED__
#define __DispHTMLDOMAttribute_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLDOMAttribute */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLDOMAttribute;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f564-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLDOMAttribute : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLDOMAttributeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLDOMAttribute * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLDOMAttribute * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLDOMAttribute * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLDOMAttribute * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLDOMAttribute * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLDOMAttribute * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLDOMAttribute * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLDOMAttributeVtbl;

    interface DispHTMLDOMAttribute
    {
        CONST_VTBL struct DispHTMLDOMAttributeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLDOMAttribute_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLDOMAttribute;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f4b2-98b5-11cf-bb82-00aa00bdce0b")
HTMLDOMAttribute;
#endif

#ifndef __DispHTMLDOMTextNode_DISPINTERFACE_DEFINED__
#define __DispHTMLDOMTextNode_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLDOMTextNode */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLDOMTextNode;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f565-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLDOMTextNode : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLDOMTextNodeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLDOMTextNode * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLDOMTextNode * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLDOMTextNode * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLDOMTextNode * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLDOMTextNode * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLDOMTextNode * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLDOMTextNode * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLDOMTextNodeVtbl;

    interface DispHTMLDOMTextNode
    {
        CONST_VTBL struct DispHTMLDOMTextNodeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLDOMTextNode_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLDOMTextNode;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f4ba-98b5-11cf-bb82-00aa00bdce0b")
HTMLDOMTextNode;
#endif

#ifndef __DispHTMLDOMImplementation_DISPINTERFACE_DEFINED__
#define __DispHTMLDOMImplementation_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLDOMImplementation */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLDOMImplementation;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f58f-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLDOMImplementation : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLDOMImplementationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLDOMImplementation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLDOMImplementation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLDOMImplementation * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLDOMImplementation * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLDOMImplementation * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLDOMImplementation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLDOMImplementation * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLDOMImplementationVtbl;

    interface DispHTMLDOMImplementation
    {
        CONST_VTBL struct DispHTMLDOMImplementationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLDOMImplementation_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLDOMImplementation_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLDOMImplementation_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLDOMImplementation_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLDOMImplementation_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLDOMImplementation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLDOMImplementation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLDOMImplementation_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLDOMImplementation;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f80e-98b5-11cf-bb82-00aa00bdce0b")
HTMLDOMImplementation;
#endif

#ifndef __IHTMLAttributeCollection_INTERFACE_DEFINED__
#define __IHTMLAttributeCollection_INTERFACE_DEFINED__

/* interface IHTMLAttributeCollection */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLAttributeCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4c3-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLAttributeCollection : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__newEnum( 
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in][optional] */ __RPC__in VARIANT *name,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLAttributeCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLAttributeCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLAttributeCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLAttributeCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLAttributeCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLAttributeCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLAttributeCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLAttributeCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLAttributeCollection * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__newEnum )( 
            __RPC__in IHTMLAttributeCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLAttributeCollection * This,
            /* [in][optional] */ __RPC__in VARIANT *name,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp);
        
        END_INTERFACE
    } IHTMLAttributeCollectionVtbl;

    interface IHTMLAttributeCollection
    {
        CONST_VTBL struct IHTMLAttributeCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLAttributeCollection_INTERFACE_DEFINED__ */


#ifndef __IHTMLAttributeCollection2_INTERFACE_DEFINED__
#define __IHTMLAttributeCollection2_INTERFACE_DEFINED__

/* interface IHTMLAttributeCollection2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLAttributeCollection2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f80a-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLAttributeCollection2 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getNamedItem( 
            /* [in] */ __RPC__in BSTR bstrName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **newretNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setNamedItem( 
            /* [in] */ __RPC__in_opt IHTMLDOMAttribute *ppNode,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **newretNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeNamedItem( 
            /* [in] */ __RPC__in BSTR bstrName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **newretNode) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLAttributeCollection2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLAttributeCollection2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLAttributeCollection2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLAttributeCollection2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLAttributeCollection2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLAttributeCollection2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLAttributeCollection2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLAttributeCollection2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getNamedItem )( 
            __RPC__in IHTMLAttributeCollection2 * This,
            /* [in] */ __RPC__in BSTR bstrName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **newretNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setNamedItem )( 
            __RPC__in IHTMLAttributeCollection2 * This,
            /* [in] */ __RPC__in_opt IHTMLDOMAttribute *ppNode,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **newretNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeNamedItem )( 
            __RPC__in IHTMLAttributeCollection2 * This,
            /* [in] */ __RPC__in BSTR bstrName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **newretNode);
        
        END_INTERFACE
    } IHTMLAttributeCollection2Vtbl;

    interface IHTMLAttributeCollection2
    {
        CONST_VTBL struct IHTMLAttributeCollection2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLAttributeCollection2_INTERFACE_DEFINED__ */


#ifndef __IHTMLAttributeCollection4_INTERFACE_DEFINED__
#define __IHTMLAttributeCollection4_INTERFACE_DEFINED__

/* interface IHTMLAttributeCollection4 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLAttributeCollection4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106fa-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLAttributeCollection4 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getNamedItemNS( 
            /* [in] */ __RPC__in VARIANT *pvarNS,
            /* [in] */ __RPC__in BSTR bstrName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppNodeOut) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setNamedItemNS( 
            /* [in] */ __RPC__in_opt IHTMLDOMAttribute2 *pNodeIn,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppNodeOut) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeNamedItemNS( 
            /* [in] */ __RPC__in VARIANT *pvarNS,
            /* [in] */ __RPC__in BSTR bstrName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppNodeOut) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getNamedItem( 
            /* [in] */ __RPC__in BSTR bstrName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppNodeOut) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setNamedItem( 
            /* [in] */ __RPC__in_opt IHTMLDOMAttribute2 *pNodeIn,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppNodeOut) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeNamedItem( 
            /* [in] */ __RPC__in BSTR bstrName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppNodeOut) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppNodeOut) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLAttributeCollection4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLAttributeCollection4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLAttributeCollection4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLAttributeCollection4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLAttributeCollection4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLAttributeCollection4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLAttributeCollection4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLAttributeCollection4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getNamedItemNS )( 
            __RPC__in IHTMLAttributeCollection4 * This,
            /* [in] */ __RPC__in VARIANT *pvarNS,
            /* [in] */ __RPC__in BSTR bstrName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppNodeOut);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setNamedItemNS )( 
            __RPC__in IHTMLAttributeCollection4 * This,
            /* [in] */ __RPC__in_opt IHTMLDOMAttribute2 *pNodeIn,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppNodeOut);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeNamedItemNS )( 
            __RPC__in IHTMLAttributeCollection4 * This,
            /* [in] */ __RPC__in VARIANT *pvarNS,
            /* [in] */ __RPC__in BSTR bstrName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppNodeOut);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getNamedItem )( 
            __RPC__in IHTMLAttributeCollection4 * This,
            /* [in] */ __RPC__in BSTR bstrName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppNodeOut);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setNamedItem )( 
            __RPC__in IHTMLAttributeCollection4 * This,
            /* [in] */ __RPC__in_opt IHTMLDOMAttribute2 *pNodeIn,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppNodeOut);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeNamedItem )( 
            __RPC__in IHTMLAttributeCollection4 * This,
            /* [in] */ __RPC__in BSTR bstrName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppNodeOut);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLAttributeCollection4 * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppNodeOut);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLAttributeCollection4 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        END_INTERFACE
    } IHTMLAttributeCollection4Vtbl;

    interface IHTMLAttributeCollection4
    {
        CONST_VTBL struct IHTMLAttributeCollection4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLAttributeCollection4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLAttributeCollection4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLAttributeCollection4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLAttributeCollection4_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLAttributeCollection4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLAttributeCollection4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLAttributeCollection4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLAttributeCollection4_getNamedItemNS(This,pvarNS,bstrName,ppNodeOut)	\
    ( (This)->lpVtbl -> getNamedItemNS(This,pvarNS,bstrName,ppNodeOut) ) 

#define IHTMLAttributeCollection4_setNamedItemNS(This,pNodeIn,ppNodeOut)	\
    ( (This)->lpVtbl -> setNamedItemNS(This,pNodeIn,ppNodeOut) ) 

#define IHTMLAttributeCollection4_removeNamedItemNS(This,pvarNS,bstrName,ppNodeOut)	\
    ( (This)->lpVtbl -> removeNamedItemNS(This,pvarNS,bstrName,ppNodeOut) ) 

#define IHTMLAttributeCollection4_getNamedItem(This,bstrName,ppNodeOut)	\
    ( (This)->lpVtbl -> getNamedItem(This,bstrName,ppNodeOut) ) 

#define IHTMLAttributeCollection4_setNamedItem(This,pNodeIn,ppNodeOut)	\
    ( (This)->lpVtbl -> setNamedItem(This,pNodeIn,ppNodeOut) ) 

#define IHTMLAttributeCollection4_removeNamedItem(This,bstrName,ppNodeOut)	\
    ( (This)->lpVtbl -> removeNamedItem(This,bstrName,ppNodeOut) ) 

#define IHTMLAttributeCollection4_item(This,index,ppNodeOut)	\
    ( (This)->lpVtbl -> item(This,index,ppNodeOut) ) 

#define IHTMLAttributeCollection4_get_length(This,p)	\
    ( (This)->lpVtbl -> get_length(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLAttributeCollection4_INTERFACE_DEFINED__ */


#ifndef __IHTMLDOMChildrenCollection_INTERFACE_DEFINED__
#define __IHTMLDOMChildrenCollection_INTERFACE_DEFINED__

/* interface IHTMLDOMChildrenCollection */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDOMChildrenCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f5ab-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDOMChildrenCollection : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__newEnum( 
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppItem) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDOMChildrenCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDOMChildrenCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDOMChildrenCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDOMChildrenCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDOMChildrenCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDOMChildrenCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDOMChildrenCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDOMChildrenCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLDOMChildrenCollection * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__newEnum )( 
            __RPC__in IHTMLDOMChildrenCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLDOMChildrenCollection * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppItem);
        
        END_INTERFACE
    } IHTMLDOMChildrenCollectionVtbl;

    interface IHTMLDOMChildrenCollection
    {
        CONST_VTBL struct IHTMLDOMChildrenCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDOMChildrenCollection_INTERFACE_DEFINED__ */


#ifndef __IHTMLDOMChildrenCollection2_INTERFACE_DEFINED__
#define __IHTMLDOMChildrenCollection2_INTERFACE_DEFINED__

/* interface IHTMLDOMChildrenCollection2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDOMChildrenCollection2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510791-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDOMChildrenCollection2 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppItem) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDOMChildrenCollection2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDOMChildrenCollection2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDOMChildrenCollection2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDOMChildrenCollection2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDOMChildrenCollection2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDOMChildrenCollection2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDOMChildrenCollection2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDOMChildrenCollection2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLDOMChildrenCollection2 * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppItem);
        
        END_INTERFACE
    } IHTMLDOMChildrenCollection2Vtbl;

    interface IHTMLDOMChildrenCollection2
    {
        CONST_VTBL struct IHTMLDOMChildrenCollection2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLDOMChildrenCollection2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLDOMChildrenCollection2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLDOMChildrenCollection2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLDOMChildrenCollection2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLDOMChildrenCollection2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLDOMChildrenCollection2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLDOMChildrenCollection2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLDOMChildrenCollection2_item(This,index,ppItem)	\
    ( (This)->lpVtbl -> item(This,index,ppItem) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDOMChildrenCollection2_INTERFACE_DEFINED__ */


#ifndef __DispHTMLAttributeCollection_DISPINTERFACE_DEFINED__
#define __DispHTMLAttributeCollection_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLAttributeCollection */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLAttributeCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f56c-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLAttributeCollection : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLAttributeCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLAttributeCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLAttributeCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLAttributeCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLAttributeCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLAttributeCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLAttributeCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLAttributeCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLAttributeCollectionVtbl;

    interface DispHTMLAttributeCollection
    {
        CONST_VTBL struct DispHTMLAttributeCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLAttributeCollection_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLAttributeCollection;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f4cc-98b5-11cf-bb82-00aa00bdce0b")
HTMLAttributeCollection;
#endif

#ifndef __DispStaticNodeList_DISPINTERFACE_DEFINED__
#define __DispStaticNodeList_DISPINTERFACE_DEFINED__

/* dispinterface DispStaticNodeList */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispStaticNodeList;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f59b-98b5-11cf-bb82-00aa00bdce0b")
    DispStaticNodeList : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispStaticNodeListVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispStaticNodeList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispStaticNodeList * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispStaticNodeList * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispStaticNodeList * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispStaticNodeList * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispStaticNodeList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispStaticNodeList * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispStaticNodeListVtbl;

    interface DispStaticNodeList
    {
        CONST_VTBL struct DispStaticNodeListVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispStaticNodeList_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispStaticNodeList_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispStaticNodeList_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispStaticNodeList_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispStaticNodeList_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispStaticNodeList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispStaticNodeList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispStaticNodeList_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_StaticNodeList;

#ifdef __cplusplus

class DECLSPEC_UUID("30510467-98b5-11cf-bb82-00aa00bdce0b")
StaticNodeList;
#endif

#ifndef __DispDOMChildrenCollection_DISPINTERFACE_DEFINED__
#define __DispDOMChildrenCollection_DISPINTERFACE_DEFINED__

/* dispinterface DispDOMChildrenCollection */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispDOMChildrenCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f577-98b5-11cf-bb82-00aa00bdce0b")
    DispDOMChildrenCollection : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispDOMChildrenCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispDOMChildrenCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispDOMChildrenCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispDOMChildrenCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispDOMChildrenCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispDOMChildrenCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispDOMChildrenCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispDOMChildrenCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispDOMChildrenCollectionVtbl;

    interface DispDOMChildrenCollection
    {
        CONST_VTBL struct DispDOMChildrenCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispDOMChildrenCollection_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DOMChildrenCollection;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f5aa-98b5-11cf-bb82-00aa00bdce0b")
DOMChildrenCollection;
#endif

#ifndef __HTMLElementEvents4_DISPINTERFACE_DEFINED__
#define __HTMLElementEvents4_DISPINTERFACE_DEFINED__

/* dispinterface HTMLElementEvents4 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLElementEvents4;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3051075e-98b5-11cf-bb82-00aa00bdce0b")
    HTMLElementEvents4 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLElementEvents4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLElementEvents4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLElementEvents4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLElementEvents4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLElementEvents4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLElementEvents4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLElementEvents4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLElementEvents4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLElementEvents4Vtbl;

    interface HTMLElementEvents4
    {
        CONST_VTBL struct HTMLElementEvents4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLElementEvents4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLElementEvents4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLElementEvents4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLElementEvents4_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLElementEvents4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLElementEvents4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLElementEvents4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLElementEvents4_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLElementEvents3_DISPINTERFACE_DEFINED__
#define __HTMLElementEvents3_DISPINTERFACE_DEFINED__

/* dispinterface HTMLElementEvents3 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLElementEvents3;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f59f-98b5-11cf-bb82-00aa00bdce0b")
    HTMLElementEvents3 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLElementEvents3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLElementEvents3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLElementEvents3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLElementEvents3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLElementEvents3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLElementEvents3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLElementEvents3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLElementEvents3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLElementEvents3Vtbl;

    interface HTMLElementEvents3
    {
        CONST_VTBL struct HTMLElementEvents3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLElementEvents3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLElementEvents3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLElementEvents3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLElementEvents3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLElementEvents3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLElementEvents3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLElementEvents3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLElementEvents3_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLElementEvents2_DISPINTERFACE_DEFINED__
#define __HTMLElementEvents2_DISPINTERFACE_DEFINED__

/* dispinterface HTMLElementEvents2 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLElementEvents2;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f60f-98b5-11cf-bb82-00aa00bdce0b")
    HTMLElementEvents2 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLElementEvents2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLElementEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLElementEvents2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLElementEvents2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLElementEvents2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLElementEvents2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLElementEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLElementEvents2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLElementEvents2Vtbl;

    interface HTMLElementEvents2
    {
        CONST_VTBL struct HTMLElementEvents2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLElementEvents2_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLElementEvents_DISPINTERFACE_DEFINED__
#define __HTMLElementEvents_DISPINTERFACE_DEFINED__

/* dispinterface HTMLElementEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLElementEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f33c-98b5-11cf-bb82-00aa00bdce0b")
    HTMLElementEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLElementEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLElementEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLElementEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLElementEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLElementEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLElementEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLElementEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLElementEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLElementEventsVtbl;

    interface HTMLElementEvents
    {
        CONST_VTBL struct HTMLElementEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLElementEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IRulesAppliedCollection_INTERFACE_DEFINED__
#define __IRulesAppliedCollection_INTERFACE_DEFINED__

/* interface IRulesAppliedCollection */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IRulesAppliedCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104be-98b5-11cf-bb82-00aa00bdce0b")
    IRulesAppliedCollection : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IRulesApplied **ppRulesApplied) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_element( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE propertyInheritedFrom( 
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__deref_out_opt IRulesApplied **ppRulesApplied) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_propertyCount( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE property( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrProperty) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE propertyInheritedTrace( 
            /* [in] */ __RPC__in BSTR name,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IRulesApplied **ppRulesApplied) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE propertyInheritedTraceLength( 
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__out long *pLength) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IRulesAppliedCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IRulesAppliedCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IRulesAppliedCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IRulesAppliedCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IRulesAppliedCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IRulesAppliedCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IRulesAppliedCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRulesAppliedCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IRulesAppliedCollection * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IRulesApplied **ppRulesApplied);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IRulesAppliedCollection * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_element )( 
            __RPC__in IRulesAppliedCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *propertyInheritedFrom )( 
            __RPC__in IRulesAppliedCollection * This,
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__deref_out_opt IRulesApplied **ppRulesApplied);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_propertyCount )( 
            __RPC__in IRulesAppliedCollection * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *property )( 
            __RPC__in IRulesAppliedCollection * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrProperty);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *propertyInheritedTrace )( 
            __RPC__in IRulesAppliedCollection * This,
            /* [in] */ __RPC__in BSTR name,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IRulesApplied **ppRulesApplied);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *propertyInheritedTraceLength )( 
            __RPC__in IRulesAppliedCollection * This,
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__out long *pLength);
        
        END_INTERFACE
    } IRulesAppliedCollectionVtbl;

    interface IRulesAppliedCollection
    {
        CONST_VTBL struct IRulesAppliedCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRulesAppliedCollection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IRulesAppliedCollection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IRulesAppliedCollection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IRulesAppliedCollection_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IRulesAppliedCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IRulesAppliedCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IRulesAppliedCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IRulesAppliedCollection_item(This,index,ppRulesApplied)	\
    ( (This)->lpVtbl -> item(This,index,ppRulesApplied) ) 

#define IRulesAppliedCollection_get_length(This,p)	\
    ( (This)->lpVtbl -> get_length(This,p) ) 

#define IRulesAppliedCollection_get_element(This,p)	\
    ( (This)->lpVtbl -> get_element(This,p) ) 

#define IRulesAppliedCollection_propertyInheritedFrom(This,name,ppRulesApplied)	\
    ( (This)->lpVtbl -> propertyInheritedFrom(This,name,ppRulesApplied) ) 

#define IRulesAppliedCollection_get_propertyCount(This,p)	\
    ( (This)->lpVtbl -> get_propertyCount(This,p) ) 

#define IRulesAppliedCollection_property(This,index,pbstrProperty)	\
    ( (This)->lpVtbl -> property(This,index,pbstrProperty) ) 

#define IRulesAppliedCollection_propertyInheritedTrace(This,name,index,ppRulesApplied)	\
    ( (This)->lpVtbl -> propertyInheritedTrace(This,name,index,ppRulesApplied) ) 

#define IRulesAppliedCollection_propertyInheritedTraceLength(This,name,pLength)	\
    ( (This)->lpVtbl -> propertyInheritedTraceLength(This,name,pLength) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRulesAppliedCollection_INTERFACE_DEFINED__ */


#ifndef __IHTMLElement3_INTERFACE_DEFINED__
#define __IHTMLElement3_INTERFACE_DEFINED__

/* interface IHTMLElement3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLElement3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f673-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLElement3 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE mergeAttributes( 
            /* [in] */ __RPC__in_opt IHTMLElement *mergeThis,
            /* [in][optional] */ __RPC__in VARIANT *pvarFlags) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_isMultiLine( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_canHaveHTML( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onlayoutcomplete( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onlayoutcomplete( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onpage( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onpage( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [nonbrowsable][restricted][hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_inflateBlock( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [nonbrowsable][restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_inflateBlock( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onbeforedeactivate( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onbeforedeactivate( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setActive( void) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_contentEditable( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_contentEditable( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_isContentEditable( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_hideFocus( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_hideFocus( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_disabled( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_disabled( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_isDisabled( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmove( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmove( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_oncontrolselect( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_oncontrolselect( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE fireEvent( 
            /* [in] */ __RPC__in BSTR bstrEventName,
            /* [in][optional] */ __RPC__in VARIANT *pvarEventObject,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfCancelled) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onresizestart( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onresizestart( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onresizeend( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onresizeend( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmovestart( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmovestart( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmoveend( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmoveend( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmouseenter( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmouseenter( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmouseleave( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmouseleave( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onactivate( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onactivate( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondeactivate( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondeactivate( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE dragDrop( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet) = 0;
        
        virtual /* [nonbrowsable][restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_glyphMode( 
            /* [out][retval] */ __RPC__out LONG *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLElement3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLElement3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLElement3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLElement3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLElement3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLElement3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *mergeAttributes )( 
            __RPC__in IHTMLElement3 * This,
            /* [in] */ __RPC__in_opt IHTMLElement *mergeThis,
            /* [in][optional] */ __RPC__in VARIANT *pvarFlags);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isMultiLine )( 
            __RPC__in IHTMLElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_canHaveHTML )( 
            __RPC__in IHTMLElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onlayoutcomplete )( 
            __RPC__in IHTMLElement3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onlayoutcomplete )( 
            __RPC__in IHTMLElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onpage )( 
            __RPC__in IHTMLElement3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onpage )( 
            __RPC__in IHTMLElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [nonbrowsable][restricted][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_inflateBlock )( 
            __RPC__in IHTMLElement3 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [nonbrowsable][restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_inflateBlock )( 
            __RPC__in IHTMLElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onbeforedeactivate )( 
            __RPC__in IHTMLElement3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onbeforedeactivate )( 
            __RPC__in IHTMLElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setActive )( 
            __RPC__in IHTMLElement3 * This);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_contentEditable )( 
            __RPC__in IHTMLElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_contentEditable )( 
            __RPC__in IHTMLElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isContentEditable )( 
            __RPC__in IHTMLElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_hideFocus )( 
            __RPC__in IHTMLElement3 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hideFocus )( 
            __RPC__in IHTMLElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_disabled )( 
            __RPC__in IHTMLElement3 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_disabled )( 
            __RPC__in IHTMLElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isDisabled )( 
            __RPC__in IHTMLElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmove )( 
            __RPC__in IHTMLElement3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmove )( 
            __RPC__in IHTMLElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_oncontrolselect )( 
            __RPC__in IHTMLElement3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oncontrolselect )( 
            __RPC__in IHTMLElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *fireEvent )( 
            __RPC__in IHTMLElement3 * This,
            /* [in] */ __RPC__in BSTR bstrEventName,
            /* [in][optional] */ __RPC__in VARIANT *pvarEventObject,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfCancelled);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onresizestart )( 
            __RPC__in IHTMLElement3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onresizestart )( 
            __RPC__in IHTMLElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onresizeend )( 
            __RPC__in IHTMLElement3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onresizeend )( 
            __RPC__in IHTMLElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmovestart )( 
            __RPC__in IHTMLElement3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmovestart )( 
            __RPC__in IHTMLElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmoveend )( 
            __RPC__in IHTMLElement3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmoveend )( 
            __RPC__in IHTMLElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmouseenter )( 
            __RPC__in IHTMLElement3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmouseenter )( 
            __RPC__in IHTMLElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmouseleave )( 
            __RPC__in IHTMLElement3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmouseleave )( 
            __RPC__in IHTMLElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onactivate )( 
            __RPC__in IHTMLElement3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onactivate )( 
            __RPC__in IHTMLElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondeactivate )( 
            __RPC__in IHTMLElement3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondeactivate )( 
            __RPC__in IHTMLElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *dragDrop )( 
            __RPC__in IHTMLElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet);
        
        /* [nonbrowsable][restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_glyphMode )( 
            __RPC__in IHTMLElement3 * This,
            /* [out][retval] */ __RPC__out LONG *p);
        
        END_INTERFACE
    } IHTMLElement3Vtbl;

    interface IHTMLElement3
    {
        CONST_VTBL struct IHTMLElement3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLElement3_INTERFACE_DEFINED__ */


#ifndef __IHTMLElement4_INTERFACE_DEFINED__
#define __IHTMLElement4_INTERFACE_DEFINED__

/* interface IHTMLElement4 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLElement4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f80f-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLElement4 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmousewheel( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmousewheel( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE normalize( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getAttributeNode( 
            /* [in] */ __RPC__in BSTR bstrname,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **ppAttribute) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setAttributeNode( 
            /* [in] */ __RPC__in_opt IHTMLDOMAttribute *pattr,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **ppretAttribute) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeAttributeNode( 
            /* [in] */ __RPC__in_opt IHTMLDOMAttribute *pattr,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **ppretAttribute) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onbeforeactivate( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onbeforeactivate( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onfocusin( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onfocusin( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onfocusout( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onfocusout( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLElement4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLElement4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLElement4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLElement4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLElement4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLElement4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLElement4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLElement4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmousewheel )( 
            __RPC__in IHTMLElement4 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmousewheel )( 
            __RPC__in IHTMLElement4 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *normalize )( 
            __RPC__in IHTMLElement4 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getAttributeNode )( 
            __RPC__in IHTMLElement4 * This,
            /* [in] */ __RPC__in BSTR bstrname,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **ppAttribute);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setAttributeNode )( 
            __RPC__in IHTMLElement4 * This,
            /* [in] */ __RPC__in_opt IHTMLDOMAttribute *pattr,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **ppretAttribute);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeAttributeNode )( 
            __RPC__in IHTMLElement4 * This,
            /* [in] */ __RPC__in_opt IHTMLDOMAttribute *pattr,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **ppretAttribute);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onbeforeactivate )( 
            __RPC__in IHTMLElement4 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onbeforeactivate )( 
            __RPC__in IHTMLElement4 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onfocusin )( 
            __RPC__in IHTMLElement4 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onfocusin )( 
            __RPC__in IHTMLElement4 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onfocusout )( 
            __RPC__in IHTMLElement4 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onfocusout )( 
            __RPC__in IHTMLElement4 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLElement4Vtbl;

    interface IHTMLElement4
    {
        CONST_VTBL struct IHTMLElement4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLElement4_INTERFACE_DEFINED__ */


#ifndef __IElementSelector_INTERFACE_DEFINED__
#define __IElementSelector_INTERFACE_DEFINED__

/* interface IElementSelector */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IElementSelector;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510463-98b5-11cf-bb82-00aa00bdce0b")
    IElementSelector : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE querySelector( 
            /* [in] */ __RPC__in BSTR v,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **pel) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE querySelectorAll( 
            /* [in] */ __RPC__in BSTR v,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMChildrenCollection **pel) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IElementSelectorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IElementSelector * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IElementSelector * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IElementSelector * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IElementSelector * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IElementSelector * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IElementSelector * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IElementSelector * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *querySelector )( 
            __RPC__in IElementSelector * This,
            /* [in] */ __RPC__in BSTR v,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **pel);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *querySelectorAll )( 
            __RPC__in IElementSelector * This,
            /* [in] */ __RPC__in BSTR v,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMChildrenCollection **pel);
        
        END_INTERFACE
    } IElementSelectorVtbl;

    interface IElementSelector
    {
        CONST_VTBL struct IElementSelectorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IElementSelector_querySelector(This,v,pel)	\
    ( (This)->lpVtbl -> querySelector(This,v,pel) ) 

#define IElementSelector_querySelectorAll(This,v,pel)	\
    ( (This)->lpVtbl -> querySelectorAll(This,v,pel) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IElementSelector_INTERFACE_DEFINED__ */


#ifndef __IHTMLElementRender_INTERFACE_DEFINED__
#define __IHTMLElementRender_INTERFACE_DEFINED__

/* interface IHTMLElementRender */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IHTMLElementRender;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f669-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLElementRender : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE DrawToDC( 
            /* [in] */ __RPC__in HDC hDC) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetDocumentPrinter( 
            /* [in] */ __RPC__in BSTR bstrPrinterName,
            /* [in] */ __RPC__in HDC hDC) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLElementRenderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLElementRender * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLElementRender * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLElementRender * This);
        
        HRESULT ( STDMETHODCALLTYPE *DrawToDC )( 
            __RPC__in IHTMLElementRender * This,
            /* [in] */ __RPC__in HDC hDC);
        
        HRESULT ( STDMETHODCALLTYPE *SetDocumentPrinter )( 
            __RPC__in IHTMLElementRender * This,
            /* [in] */ __RPC__in BSTR bstrPrinterName,
            /* [in] */ __RPC__in HDC hDC);
        
        END_INTERFACE
    } IHTMLElementRenderVtbl;

    interface IHTMLElementRender
    {
        CONST_VTBL struct IHTMLElementRenderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLElementRender_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLElementRender_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLElementRender_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLElementRender_DrawToDC(This,hDC)	\
    ( (This)->lpVtbl -> DrawToDC(This,hDC) ) 

#define IHTMLElementRender_SetDocumentPrinter(This,bstrPrinterName,hDC)	\
    ( (This)->lpVtbl -> SetDocumentPrinter(This,bstrPrinterName,hDC) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLElementRender_INTERFACE_DEFINED__ */


#ifndef __IHTMLUniqueName_INTERFACE_DEFINED__
#define __IHTMLUniqueName_INTERFACE_DEFINED__

/* interface IHTMLUniqueName */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLUniqueName;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4d0-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLUniqueName : public IDispatch
    {
    public:
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_uniqueNumber( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_uniqueID( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLUniqueNameVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLUniqueName * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLUniqueName * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLUniqueName * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLUniqueName * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLUniqueName * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLUniqueName * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLUniqueName * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_uniqueNumber )( 
            __RPC__in IHTMLUniqueName * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_uniqueID )( 
            __RPC__in IHTMLUniqueName * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLUniqueNameVtbl;

    interface IHTMLUniqueName
    {
        CONST_VTBL struct IHTMLUniqueNameVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLUniqueName_get_uniqueNumber(This,p)	\
    ( (This)->lpVtbl -> get_uniqueNumber(This,p) ) 

#define IHTMLUniqueName_get_uniqueID(This,p)	\
    ( (This)->lpVtbl -> get_uniqueID(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLUniqueName_INTERFACE_DEFINED__ */


#ifndef __IHTMLElement5_INTERFACE_DEFINED__
#define __IHTMLElement5_INTERFACE_DEFINED__

/* interface IHTMLElement5 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLElement5;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051045d-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLElement5 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getAttributeNode( 
            /* [in] */ __RPC__in BSTR bstrname,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppretAttribute) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setAttributeNode( 
            /* [in] */ __RPC__in_opt IHTMLDOMAttribute2 *pattr,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppretAttribute) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeAttributeNode( 
            /* [in] */ __RPC__in_opt IHTMLDOMAttribute2 *pattr,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppretAttribute) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE hasAttribute( 
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfHasAttribute) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_role( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_role( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaBusy( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaBusy( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaChecked( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaChecked( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaDisabled( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaDisabled( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaExpanded( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaExpanded( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaHaspopup( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaHaspopup( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaHidden( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaHidden( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaInvalid( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaInvalid( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaMultiselectable( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaMultiselectable( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaPressed( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaPressed( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaReadonly( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaReadonly( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaRequired( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaRequired( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaSecret( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaSecret( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaSelected( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaSelected( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getAttribute( 
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [out][retval] */ __RPC__out VARIANT *AttributeValue) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setAttribute( 
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in] */ VARIANT AttributeValue) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeAttribute( 
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfSuccess) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_attributes( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLAttributeCollection3 **p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaValuenow( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaValuenow( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaPosinset( 
            /* [in] */ short v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaPosinset( 
            /* [out][retval] */ __RPC__out short *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaSetsize( 
            /* [in] */ short v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaSetsize( 
            /* [out][retval] */ __RPC__out short *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaLevel( 
            /* [in] */ short v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaLevel( 
            /* [out][retval] */ __RPC__out short *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaValuemin( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaValuemin( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaValuemax( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaValuemax( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaControls( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaControls( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaDescribedby( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaDescribedby( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaFlowto( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaFlowto( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaLabelledby( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaLabelledby( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaActivedescendant( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaActivedescendant( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaOwns( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaOwns( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE hasAttributes( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfHasAttributes) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaLive( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaLive( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ariaRelevant( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ariaRelevant( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLElement5Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLElement5 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLElement5 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLElement5 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLElement5 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getAttributeNode )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR bstrname,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppretAttribute);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setAttributeNode )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in_opt IHTMLDOMAttribute2 *pattr,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppretAttribute);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeAttributeNode )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in_opt IHTMLDOMAttribute2 *pattr,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppretAttribute);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *hasAttribute )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfHasAttribute);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_role )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_role )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaBusy )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaBusy )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaChecked )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaChecked )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaDisabled )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaDisabled )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaExpanded )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaExpanded )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaHaspopup )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaHaspopup )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaHidden )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaHidden )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaInvalid )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaInvalid )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaMultiselectable )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaMultiselectable )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaPressed )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaPressed )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaReadonly )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaReadonly )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaRequired )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaRequired )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaSecret )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaSecret )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaSelected )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaSelected )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getAttribute )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [out][retval] */ __RPC__out VARIANT *AttributeValue);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setAttribute )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in] */ VARIANT AttributeValue);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeAttribute )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfSuccess);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLAttributeCollection3 **p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaValuenow )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaValuenow )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaPosinset )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ short v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaPosinset )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__out short *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaSetsize )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ short v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaSetsize )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__out short *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaLevel )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ short v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaLevel )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__out short *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaValuemin )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaValuemin )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaValuemax )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaValuemax )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaControls )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaControls )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaDescribedby )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaDescribedby )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaFlowto )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaFlowto )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaLabelledby )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaLabelledby )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaActivedescendant )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaActivedescendant )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaOwns )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaOwns )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *hasAttributes )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfHasAttributes);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaLive )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaLive )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ariaRelevant )( 
            __RPC__in IHTMLElement5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ariaRelevant )( 
            __RPC__in IHTMLElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLElement5Vtbl;

    interface IHTMLElement5
    {
        CONST_VTBL struct IHTMLElement5Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLElement5_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLElement5_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLElement5_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLElement5_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLElement5_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLElement5_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLElement5_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLElement5_getAttributeNode(This,bstrname,ppretAttribute)	\
    ( (This)->lpVtbl -> getAttributeNode(This,bstrname,ppretAttribute) ) 

#define IHTMLElement5_setAttributeNode(This,pattr,ppretAttribute)	\
    ( (This)->lpVtbl -> setAttributeNode(This,pattr,ppretAttribute) ) 

#define IHTMLElement5_removeAttributeNode(This,pattr,ppretAttribute)	\
    ( (This)->lpVtbl -> removeAttributeNode(This,pattr,ppretAttribute) ) 

#define IHTMLElement5_hasAttribute(This,name,pfHasAttribute)	\
    ( (This)->lpVtbl -> hasAttribute(This,name,pfHasAttribute) ) 

#define IHTMLElement5_put_role(This,v)	\
    ( (This)->lpVtbl -> put_role(This,v) ) 

#define IHTMLElement5_get_role(This,p)	\
    ( (This)->lpVtbl -> get_role(This,p) ) 

#define IHTMLElement5_put_ariaBusy(This,v)	\
    ( (This)->lpVtbl -> put_ariaBusy(This,v) ) 

#define IHTMLElement5_get_ariaBusy(This,p)	\
    ( (This)->lpVtbl -> get_ariaBusy(This,p) ) 

#define IHTMLElement5_put_ariaChecked(This,v)	\
    ( (This)->lpVtbl -> put_ariaChecked(This,v) ) 

#define IHTMLElement5_get_ariaChecked(This,p)	\
    ( (This)->lpVtbl -> get_ariaChecked(This,p) ) 

#define IHTMLElement5_put_ariaDisabled(This,v)	\
    ( (This)->lpVtbl -> put_ariaDisabled(This,v) ) 

#define IHTMLElement5_get_ariaDisabled(This,p)	\
    ( (This)->lpVtbl -> get_ariaDisabled(This,p) ) 

#define IHTMLElement5_put_ariaExpanded(This,v)	\
    ( (This)->lpVtbl -> put_ariaExpanded(This,v) ) 

#define IHTMLElement5_get_ariaExpanded(This,p)	\
    ( (This)->lpVtbl -> get_ariaExpanded(This,p) ) 

#define IHTMLElement5_put_ariaHaspopup(This,v)	\
    ( (This)->lpVtbl -> put_ariaHaspopup(This,v) ) 

#define IHTMLElement5_get_ariaHaspopup(This,p)	\
    ( (This)->lpVtbl -> get_ariaHaspopup(This,p) ) 

#define IHTMLElement5_put_ariaHidden(This,v)	\
    ( (This)->lpVtbl -> put_ariaHidden(This,v) ) 

#define IHTMLElement5_get_ariaHidden(This,p)	\
    ( (This)->lpVtbl -> get_ariaHidden(This,p) ) 

#define IHTMLElement5_put_ariaInvalid(This,v)	\
    ( (This)->lpVtbl -> put_ariaInvalid(This,v) ) 

#define IHTMLElement5_get_ariaInvalid(This,p)	\
    ( (This)->lpVtbl -> get_ariaInvalid(This,p) ) 

#define IHTMLElement5_put_ariaMultiselectable(This,v)	\
    ( (This)->lpVtbl -> put_ariaMultiselectable(This,v) ) 

#define IHTMLElement5_get_ariaMultiselectable(This,p)	\
    ( (This)->lpVtbl -> get_ariaMultiselectable(This,p) ) 

#define IHTMLElement5_put_ariaPressed(This,v)	\
    ( (This)->lpVtbl -> put_ariaPressed(This,v) ) 

#define IHTMLElement5_get_ariaPressed(This,p)	\
    ( (This)->lpVtbl -> get_ariaPressed(This,p) ) 

#define IHTMLElement5_put_ariaReadonly(This,v)	\
    ( (This)->lpVtbl -> put_ariaReadonly(This,v) ) 

#define IHTMLElement5_get_ariaReadonly(This,p)	\
    ( (This)->lpVtbl -> get_ariaReadonly(This,p) ) 

#define IHTMLElement5_put_ariaRequired(This,v)	\
    ( (This)->lpVtbl -> put_ariaRequired(This,v) ) 

#define IHTMLElement5_get_ariaRequired(This,p)	\
    ( (This)->lpVtbl -> get_ariaRequired(This,p) ) 

#define IHTMLElement5_put_ariaSecret(This,v)	\
    ( (This)->lpVtbl -> put_ariaSecret(This,v) ) 

#define IHTMLElement5_get_ariaSecret(This,p)	\
    ( (This)->lpVtbl -> get_ariaSecret(This,p) ) 

#define IHTMLElement5_put_ariaSelected(This,v)	\
    ( (This)->lpVtbl -> put_ariaSelected(This,v) ) 

#define IHTMLElement5_get_ariaSelected(This,p)	\
    ( (This)->lpVtbl -> get_ariaSelected(This,p) ) 

#define IHTMLElement5_getAttribute(This,strAttributeName,AttributeValue)	\
    ( (This)->lpVtbl -> getAttribute(This,strAttributeName,AttributeValue) ) 

#define IHTMLElement5_setAttribute(This,strAttributeName,AttributeValue)	\
    ( (This)->lpVtbl -> setAttribute(This,strAttributeName,AttributeValue) ) 

#define IHTMLElement5_removeAttribute(This,strAttributeName,pfSuccess)	\
    ( (This)->lpVtbl -> removeAttribute(This,strAttributeName,pfSuccess) ) 

#define IHTMLElement5_get_attributes(This,p)	\
    ( (This)->lpVtbl -> get_attributes(This,p) ) 

#define IHTMLElement5_put_ariaValuenow(This,v)	\
    ( (This)->lpVtbl -> put_ariaValuenow(This,v) ) 

#define IHTMLElement5_get_ariaValuenow(This,p)	\
    ( (This)->lpVtbl -> get_ariaValuenow(This,p) ) 

#define IHTMLElement5_put_ariaPosinset(This,v)	\
    ( (This)->lpVtbl -> put_ariaPosinset(This,v) ) 

#define IHTMLElement5_get_ariaPosinset(This,p)	\
    ( (This)->lpVtbl -> get_ariaPosinset(This,p) ) 

#define IHTMLElement5_put_ariaSetsize(This,v)	\
    ( (This)->lpVtbl -> put_ariaSetsize(This,v) ) 

#define IHTMLElement5_get_ariaSetsize(This,p)	\
    ( (This)->lpVtbl -> get_ariaSetsize(This,p) ) 

#define IHTMLElement5_put_ariaLevel(This,v)	\
    ( (This)->lpVtbl -> put_ariaLevel(This,v) ) 

#define IHTMLElement5_get_ariaLevel(This,p)	\
    ( (This)->lpVtbl -> get_ariaLevel(This,p) ) 

#define IHTMLElement5_put_ariaValuemin(This,v)	\
    ( (This)->lpVtbl -> put_ariaValuemin(This,v) ) 

#define IHTMLElement5_get_ariaValuemin(This,p)	\
    ( (This)->lpVtbl -> get_ariaValuemin(This,p) ) 

#define IHTMLElement5_put_ariaValuemax(This,v)	\
    ( (This)->lpVtbl -> put_ariaValuemax(This,v) ) 

#define IHTMLElement5_get_ariaValuemax(This,p)	\
    ( (This)->lpVtbl -> get_ariaValuemax(This,p) ) 

#define IHTMLElement5_put_ariaControls(This,v)	\
    ( (This)->lpVtbl -> put_ariaControls(This,v) ) 

#define IHTMLElement5_get_ariaControls(This,p)	\
    ( (This)->lpVtbl -> get_ariaControls(This,p) ) 

#define IHTMLElement5_put_ariaDescribedby(This,v)	\
    ( (This)->lpVtbl -> put_ariaDescribedby(This,v) ) 

#define IHTMLElement5_get_ariaDescribedby(This,p)	\
    ( (This)->lpVtbl -> get_ariaDescribedby(This,p) ) 

#define IHTMLElement5_put_ariaFlowto(This,v)	\
    ( (This)->lpVtbl -> put_ariaFlowto(This,v) ) 

#define IHTMLElement5_get_ariaFlowto(This,p)	\
    ( (This)->lpVtbl -> get_ariaFlowto(This,p) ) 

#define IHTMLElement5_put_ariaLabelledby(This,v)	\
    ( (This)->lpVtbl -> put_ariaLabelledby(This,v) ) 

#define IHTMLElement5_get_ariaLabelledby(This,p)	\
    ( (This)->lpVtbl -> get_ariaLabelledby(This,p) ) 

#define IHTMLElement5_put_ariaActivedescendant(This,v)	\
    ( (This)->lpVtbl -> put_ariaActivedescendant(This,v) ) 

#define IHTMLElement5_get_ariaActivedescendant(This,p)	\
    ( (This)->lpVtbl -> get_ariaActivedescendant(This,p) ) 

#define IHTMLElement5_put_ariaOwns(This,v)	\
    ( (This)->lpVtbl -> put_ariaOwns(This,v) ) 

#define IHTMLElement5_get_ariaOwns(This,p)	\
    ( (This)->lpVtbl -> get_ariaOwns(This,p) ) 

#define IHTMLElement5_hasAttributes(This,pfHasAttributes)	\
    ( (This)->lpVtbl -> hasAttributes(This,pfHasAttributes) ) 

#define IHTMLElement5_put_ariaLive(This,v)	\
    ( (This)->lpVtbl -> put_ariaLive(This,v) ) 

#define IHTMLElement5_get_ariaLive(This,p)	\
    ( (This)->lpVtbl -> get_ariaLive(This,p) ) 

#define IHTMLElement5_put_ariaRelevant(This,v)	\
    ( (This)->lpVtbl -> put_ariaRelevant(This,v) ) 

#define IHTMLElement5_get_ariaRelevant(This,p)	\
    ( (This)->lpVtbl -> get_ariaRelevant(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLElement5_INTERFACE_DEFINED__ */


#ifndef __IHTMLElement6_INTERFACE_DEFINED__
#define __IHTMLElement6_INTERFACE_DEFINED__

/* interface IHTMLElement6 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLElement6;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106f8-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLElement6 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getAttributeNS( 
            /* [in] */ __RPC__in VARIANT *pvarNS,
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [out][retval] */ __RPC__out VARIANT *AttributeValue) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setAttributeNS( 
            /* [in] */ __RPC__in VARIANT *pvarNS,
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in] */ __RPC__in VARIANT *pvarAttributeValue) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeAttributeNS( 
            /* [in] */ __RPC__in VARIANT *pvarNS,
            /* [in] */ __RPC__in BSTR strAttributeName) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getAttributeNodeNS( 
            /* [in] */ __RPC__in VARIANT *pvarNS,
            /* [in] */ __RPC__in BSTR bstrname,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppretAttribute) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setAttributeNodeNS( 
            /* [in] */ __RPC__in_opt IHTMLDOMAttribute2 *pattr,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppretAttribute) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE hasAttributeNS( 
            /* [in] */ __RPC__in VARIANT *pvarNS,
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfHasAttribute) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getAttribute( 
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [out][retval] */ __RPC__out VARIANT *AttributeValue) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setAttribute( 
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in] */ __RPC__in VARIANT *pvarAttributeValue) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeAttribute( 
            /* [in] */ __RPC__in BSTR strAttributeName) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getAttributeNode( 
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppretAttribute) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setAttributeNode( 
            /* [in] */ __RPC__in_opt IHTMLDOMAttribute2 *pattr,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppretAttribute) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeAttributeNode( 
            /* [in] */ __RPC__in_opt IHTMLDOMAttribute2 *pattr,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppretAttribute) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE hasAttribute( 
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfHasAttribute) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getElementsByTagNameNS( 
            /* [in] */ __RPC__in VARIANT *varNS,
            /* [in] */ __RPC__in BSTR bstrLocalName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **pelColl) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_tagName( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_nodeName( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getElementsByClassName( 
            /* [in] */ __RPC__in BSTR v,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **pel) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE msMatchesSelector( 
            /* [in] */ __RPC__in BSTR v,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfMatches) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onabort( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onabort( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_oncanplay( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_oncanplay( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_oncanplaythrough( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_oncanplaythrough( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onchange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onchange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondurationchange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondurationchange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onemptied( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onemptied( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onended( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onended( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onerror( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onerror( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_oninput( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_oninput( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onload( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onload( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onloadeddata( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onloadeddata( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onloadedmetadata( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onloadedmetadata( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onloadstart( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onloadstart( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onpause( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onpause( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onplay( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onplay( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onplaying( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onplaying( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onprogress( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onprogress( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onratechange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onratechange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onreset( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onreset( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onseeked( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onseeked( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onseeking( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onseeking( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onselect( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onselect( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onstalled( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onstalled( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onsubmit( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onsubmit( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onsuspend( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onsuspend( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ontimeupdate( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ontimeupdate( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onvolumechange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onvolumechange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onwaiting( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onwaiting( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE hasAttributes( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfHasAttributes) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLElement6Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLElement6 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLElement6 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLElement6 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLElement6 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getAttributeNS )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ __RPC__in VARIANT *pvarNS,
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [out][retval] */ __RPC__out VARIANT *AttributeValue);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setAttributeNS )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ __RPC__in VARIANT *pvarNS,
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in] */ __RPC__in VARIANT *pvarAttributeValue);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeAttributeNS )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ __RPC__in VARIANT *pvarNS,
            /* [in] */ __RPC__in BSTR strAttributeName);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getAttributeNodeNS )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ __RPC__in VARIANT *pvarNS,
            /* [in] */ __RPC__in BSTR bstrname,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppretAttribute);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setAttributeNodeNS )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ __RPC__in_opt IHTMLDOMAttribute2 *pattr,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppretAttribute);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *hasAttributeNS )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ __RPC__in VARIANT *pvarNS,
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfHasAttribute);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getAttribute )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [out][retval] */ __RPC__out VARIANT *AttributeValue);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setAttribute )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in] */ __RPC__in VARIANT *pvarAttributeValue);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeAttribute )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ __RPC__in BSTR strAttributeName);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getAttributeNode )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppretAttribute);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setAttributeNode )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ __RPC__in_opt IHTMLDOMAttribute2 *pattr,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppretAttribute);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeAttributeNode )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ __RPC__in_opt IHTMLDOMAttribute2 *pattr,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute2 **ppretAttribute);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *hasAttribute )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfHasAttribute);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getElementsByTagNameNS )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ __RPC__in VARIANT *varNS,
            /* [in] */ __RPC__in BSTR bstrLocalName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **pelColl);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_tagName )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nodeName )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getElementsByClassName )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ __RPC__in BSTR v,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **pel);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *msMatchesSelector )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ __RPC__in BSTR v,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfMatches);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onabort )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onabort )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_oncanplay )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oncanplay )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_oncanplaythrough )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oncanplaythrough )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onchange )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onchange )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondurationchange )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondurationchange )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onemptied )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onemptied )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onended )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onended )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onerror )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onerror )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_oninput )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oninput )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onload )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onload )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onloadeddata )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onloadeddata )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onloadedmetadata )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onloadedmetadata )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onloadstart )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onloadstart )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onpause )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onpause )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onplay )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onplay )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onplaying )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onplaying )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onprogress )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onprogress )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onratechange )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onratechange )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onreset )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onreset )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onseeked )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onseeked )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onseeking )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onseeking )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onselect )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onselect )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onstalled )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onstalled )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onsubmit )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onsubmit )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onsuspend )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onsuspend )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ontimeupdate )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ontimeupdate )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onvolumechange )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onvolumechange )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onwaiting )( 
            __RPC__in IHTMLElement6 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onwaiting )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *hasAttributes )( 
            __RPC__in IHTMLElement6 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfHasAttributes);
        
        END_INTERFACE
    } IHTMLElement6Vtbl;

    interface IHTMLElement6
    {
        CONST_VTBL struct IHTMLElement6Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLElement6_INTERFACE_DEFINED__ */


#ifndef __IHTMLElement7_INTERFACE_DEFINED__
#define __IHTMLElement7_INTERFACE_DEFINED__

/* interface IHTMLElement7 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLElement7;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305107aa-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLElement7 : public IDispatch
    {
    public:
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmspointerdown( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmspointerdown( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmspointermove( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmspointermove( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmspointerup( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmspointerup( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmspointerover( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmspointerover( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmspointerout( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmspointerout( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmspointercancel( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmspointercancel( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmspointerhover( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmspointerhover( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmslostpointercapture( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmslostpointercapture( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsgotpointercapture( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsgotpointercapture( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsgesturestart( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsgesturestart( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsgesturechange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsgesturechange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsgestureend( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsgestureend( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsgesturehold( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsgesturehold( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsgesturetap( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsgesturetap( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsgesturedoubletap( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsgesturedoubletap( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsinertiastart( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsinertiastart( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE msSetPointerCapture( 
            /* [in] */ long pointerId) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE msReleasePointerCapture( 
            /* [in] */ long pointerId) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmstransitionstart( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmstransitionstart( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmstransitionend( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmstransitionend( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsanimationstart( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsanimationstart( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsanimationend( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsanimationend( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsanimationiteration( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsanimationiteration( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_oninvalid( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_oninvalid( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_xmsAcceleratorKey( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_xmsAcceleratorKey( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_spellcheck( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_spellcheck( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsmanipulationstatechanged( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsmanipulationstatechanged( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_oncuechange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_oncuechange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLElement7Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLElement7 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLElement7 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLElement7 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLElement7 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmspointerdown )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmspointerdown )( 
            __RPC__in IHTMLElement7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmspointermove )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmspointermove )( 
            __RPC__in IHTMLElement7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmspointerup )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmspointerup )( 
            __RPC__in IHTMLElement7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmspointerover )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmspointerover )( 
            __RPC__in IHTMLElement7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmspointerout )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmspointerout )( 
            __RPC__in IHTMLElement7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmspointercancel )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmspointercancel )( 
            __RPC__in IHTMLElement7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmspointerhover )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmspointerhover )( 
            __RPC__in IHTMLElement7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmslostpointercapture )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmslostpointercapture )( 
            __RPC__in IHTMLElement7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsgotpointercapture )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsgotpointercapture )( 
            __RPC__in IHTMLElement7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsgesturestart )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsgesturestart )( 
            __RPC__in IHTMLElement7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsgesturechange )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsgesturechange )( 
            __RPC__in IHTMLElement7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsgestureend )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsgestureend )( 
            __RPC__in IHTMLElement7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsgesturehold )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsgesturehold )( 
            __RPC__in IHTMLElement7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsgesturetap )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsgesturetap )( 
            __RPC__in IHTMLElement7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsgesturedoubletap )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsgesturedoubletap )( 
            __RPC__in IHTMLElement7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsinertiastart )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsinertiastart )( 
            __RPC__in IHTMLElement7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *msSetPointerCapture )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ long pointerId);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *msReleasePointerCapture )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ long pointerId);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmstransitionstart )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmstransitionstart )( 
            __RPC__in IHTMLElement7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmstransitionend )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmstransitionend )( 
            __RPC__in IHTMLElement7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsanimationstart )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsanimationstart )( 
            __RPC__in IHTMLElement7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsanimationend )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsanimationend )( 
            __RPC__in IHTMLElement7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsanimationiteration )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsanimationiteration )( 
            __RPC__in IHTMLElement7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_oninvalid )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oninvalid )( 
            __RPC__in IHTMLElement7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_xmsAcceleratorKey )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_xmsAcceleratorKey )( 
            __RPC__in IHTMLElement7 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_spellcheck )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_spellcheck )( 
            __RPC__in IHTMLElement7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsmanipulationstatechanged )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsmanipulationstatechanged )( 
            __RPC__in IHTMLElement7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_oncuechange )( 
            __RPC__in IHTMLElement7 * This,
            /* [in] */ VARIANT v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oncuechange )( 
            __RPC__in IHTMLElement7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLElement7Vtbl;

    interface IHTMLElement7
    {
        CONST_VTBL struct IHTMLElement7Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLElement7_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLElement7_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLElement7_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLElement7_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLElement7_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLElement7_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLElement7_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLElement7_put_onmspointerdown(This,v)	\
    ( (This)->lpVtbl -> put_onmspointerdown(This,v) ) 

#define IHTMLElement7_get_onmspointerdown(This,p)	\
    ( (This)->lpVtbl -> get_onmspointerdown(This,p) ) 

#define IHTMLElement7_put_onmspointermove(This,v)	\
    ( (This)->lpVtbl -> put_onmspointermove(This,v) ) 

#define IHTMLElement7_get_onmspointermove(This,p)	\
    ( (This)->lpVtbl -> get_onmspointermove(This,p) ) 

#define IHTMLElement7_put_onmspointerup(This,v)	\
    ( (This)->lpVtbl -> put_onmspointerup(This,v) ) 

#define IHTMLElement7_get_onmspointerup(This,p)	\
    ( (This)->lpVtbl -> get_onmspointerup(This,p) ) 

#define IHTMLElement7_put_onmspointerover(This,v)	\
    ( (This)->lpVtbl -> put_onmspointerover(This,v) ) 

#define IHTMLElement7_get_onmspointerover(This,p)	\
    ( (This)->lpVtbl -> get_onmspointerover(This,p) ) 

#define IHTMLElement7_put_onmspointerout(This,v)	\
    ( (This)->lpVtbl -> put_onmspointerout(This,v) ) 

#define IHTMLElement7_get_onmspointerout(This,p)	\
    ( (This)->lpVtbl -> get_onmspointerout(This,p) ) 

#define IHTMLElement7_put_onmspointercancel(This,v)	\
    ( (This)->lpVtbl -> put_onmspointercancel(This,v) ) 

#define IHTMLElement7_get_onmspointercancel(This,p)	\
    ( (This)->lpVtbl -> get_onmspointercancel(This,p) ) 

#define IHTMLElement7_put_onmspointerhover(This,v)	\
    ( (This)->lpVtbl -> put_onmspointerhover(This,v) ) 

#define IHTMLElement7_get_onmspointerhover(This,p)	\
    ( (This)->lpVtbl -> get_onmspointerhover(This,p) ) 

#define IHTMLElement7_put_onmslostpointercapture(This,v)	\
    ( (This)->lpVtbl -> put_onmslostpointercapture(This,v) ) 

#define IHTMLElement7_get_onmslostpointercapture(This,p)	\
    ( (This)->lpVtbl -> get_onmslostpointercapture(This,p) ) 

#define IHTMLElement7_put_onmsgotpointercapture(This,v)	\
    ( (This)->lpVtbl -> put_onmsgotpointercapture(This,v) ) 

#define IHTMLElement7_get_onmsgotpointercapture(This,p)	\
    ( (This)->lpVtbl -> get_onmsgotpointercapture(This,p) ) 

#define IHTMLElement7_put_onmsgesturestart(This,v)	\
    ( (This)->lpVtbl -> put_onmsgesturestart(This,v) ) 

#define IHTMLElement7_get_onmsgesturestart(This,p)	\
    ( (This)->lpVtbl -> get_onmsgesturestart(This,p) ) 

#define IHTMLElement7_put_onmsgesturechange(This,v)	\
    ( (This)->lpVtbl -> put_onmsgesturechange(This,v) ) 

#define IHTMLElement7_get_onmsgesturechange(This,p)	\
    ( (This)->lpVtbl -> get_onmsgesturechange(This,p) ) 

#define IHTMLElement7_put_onmsgestureend(This,v)	\
    ( (This)->lpVtbl -> put_onmsgestureend(This,v) ) 

#define IHTMLElement7_get_onmsgestureend(This,p)	\
    ( (This)->lpVtbl -> get_onmsgestureend(This,p) ) 

#define IHTMLElement7_put_onmsgesturehold(This,v)	\
    ( (This)->lpVtbl -> put_onmsgesturehold(This,v) ) 

#define IHTMLElement7_get_onmsgesturehold(This,p)	\
    ( (This)->lpVtbl -> get_onmsgesturehold(This,p) ) 

#define IHTMLElement7_put_onmsgesturetap(This,v)	\
    ( (This)->lpVtbl -> put_onmsgesturetap(This,v) ) 

#define IHTMLElement7_get_onmsgesturetap(This,p)	\
    ( (This)->lpVtbl -> get_onmsgesturetap(This,p) ) 

#define IHTMLElement7_put_onmsgesturedoubletap(This,v)	\
    ( (This)->lpVtbl -> put_onmsgesturedoubletap(This,v) ) 

#define IHTMLElement7_get_onmsgesturedoubletap(This,p)	\
    ( (This)->lpVtbl -> get_onmsgesturedoubletap(This,p) ) 

#define IHTMLElement7_put_onmsinertiastart(This,v)	\
    ( (This)->lpVtbl -> put_onmsinertiastart(This,v) ) 

#define IHTMLElement7_get_onmsinertiastart(This,p)	\
    ( (This)->lpVtbl -> get_onmsinertiastart(This,p) ) 

#define IHTMLElement7_msSetPointerCapture(This,pointerId)	\
    ( (This)->lpVtbl -> msSetPointerCapture(This,pointerId) ) 

#define IHTMLElement7_msReleasePointerCapture(This,pointerId)	\
    ( (This)->lpVtbl -> msReleasePointerCapture(This,pointerId) ) 

#define IHTMLElement7_put_onmstransitionstart(This,v)	\
    ( (This)->lpVtbl -> put_onmstransitionstart(This,v) ) 

#define IHTMLElement7_get_onmstransitionstart(This,p)	\
    ( (This)->lpVtbl -> get_onmstransitionstart(This,p) ) 

#define IHTMLElement7_put_onmstransitionend(This,v)	\
    ( (This)->lpVtbl -> put_onmstransitionend(This,v) ) 

#define IHTMLElement7_get_onmstransitionend(This,p)	\
    ( (This)->lpVtbl -> get_onmstransitionend(This,p) ) 

#define IHTMLElement7_put_onmsanimationstart(This,v)	\
    ( (This)->lpVtbl -> put_onmsanimationstart(This,v) ) 

#define IHTMLElement7_get_onmsanimationstart(This,p)	\
    ( (This)->lpVtbl -> get_onmsanimationstart(This,p) ) 

#define IHTMLElement7_put_onmsanimationend(This,v)	\
    ( (This)->lpVtbl -> put_onmsanimationend(This,v) ) 

#define IHTMLElement7_get_onmsanimationend(This,p)	\
    ( (This)->lpVtbl -> get_onmsanimationend(This,p) ) 

#define IHTMLElement7_put_onmsanimationiteration(This,v)	\
    ( (This)->lpVtbl -> put_onmsanimationiteration(This,v) ) 

#define IHTMLElement7_get_onmsanimationiteration(This,p)	\
    ( (This)->lpVtbl -> get_onmsanimationiteration(This,p) ) 

#define IHTMLElement7_put_oninvalid(This,v)	\
    ( (This)->lpVtbl -> put_oninvalid(This,v) ) 

#define IHTMLElement7_get_oninvalid(This,p)	\
    ( (This)->lpVtbl -> get_oninvalid(This,p) ) 

#define IHTMLElement7_put_xmsAcceleratorKey(This,v)	\
    ( (This)->lpVtbl -> put_xmsAcceleratorKey(This,v) ) 

#define IHTMLElement7_get_xmsAcceleratorKey(This,p)	\
    ( (This)->lpVtbl -> get_xmsAcceleratorKey(This,p) ) 

#define IHTMLElement7_put_spellcheck(This,v)	\
    ( (This)->lpVtbl -> put_spellcheck(This,v) ) 

#define IHTMLElement7_get_spellcheck(This,p)	\
    ( (This)->lpVtbl -> get_spellcheck(This,p) ) 

#define IHTMLElement7_put_onmsmanipulationstatechanged(This,v)	\
    ( (This)->lpVtbl -> put_onmsmanipulationstatechanged(This,v) ) 

#define IHTMLElement7_get_onmsmanipulationstatechanged(This,p)	\
    ( (This)->lpVtbl -> get_onmsmanipulationstatechanged(This,p) ) 

#define IHTMLElement7_put_oncuechange(This,v)	\
    ( (This)->lpVtbl -> put_oncuechange(This,v) ) 

#define IHTMLElement7_get_oncuechange(This,p)	\
    ( (This)->lpVtbl -> get_oncuechange(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLElement7_INTERFACE_DEFINED__ */


#ifndef __IHTMLElementAppliedStyles_INTERFACE_DEFINED__
#define __IHTMLElementAppliedStyles_INTERFACE_DEFINED__

/* interface IHTMLElementAppliedStyles */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLElementAppliedStyles;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104bd-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLElementAppliedStyles : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE msGetRulesApplied( 
            /* [out][retval] */ __RPC__deref_out_opt IRulesAppliedCollection **ppRulesAppliedCollection) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE msGetRulesAppliedWithAncestor( 
            /* [in][optional] */ VARIANT varContext,
            /* [out][retval] */ __RPC__deref_out_opt IRulesAppliedCollection **ppRulesAppliedCollection) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLElementAppliedStylesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLElementAppliedStyles * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLElementAppliedStyles * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLElementAppliedStyles * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLElementAppliedStyles * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLElementAppliedStyles * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLElementAppliedStyles * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLElementAppliedStyles * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *msGetRulesApplied )( 
            __RPC__in IHTMLElementAppliedStyles * This,
            /* [out][retval] */ __RPC__deref_out_opt IRulesAppliedCollection **ppRulesAppliedCollection);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *msGetRulesAppliedWithAncestor )( 
            __RPC__in IHTMLElementAppliedStyles * This,
            /* [in][optional] */ VARIANT varContext,
            /* [out][retval] */ __RPC__deref_out_opt IRulesAppliedCollection **ppRulesAppliedCollection);
        
        END_INTERFACE
    } IHTMLElementAppliedStylesVtbl;

    interface IHTMLElementAppliedStyles
    {
        CONST_VTBL struct IHTMLElementAppliedStylesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLElementAppliedStyles_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLElementAppliedStyles_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLElementAppliedStyles_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLElementAppliedStyles_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLElementAppliedStyles_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLElementAppliedStyles_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLElementAppliedStyles_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLElementAppliedStyles_msGetRulesApplied(This,ppRulesAppliedCollection)	\
    ( (This)->lpVtbl -> msGetRulesApplied(This,ppRulesAppliedCollection) ) 

#define IHTMLElementAppliedStyles_msGetRulesAppliedWithAncestor(This,varContext,ppRulesAppliedCollection)	\
    ( (This)->lpVtbl -> msGetRulesAppliedWithAncestor(This,varContext,ppRulesAppliedCollection) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLElementAppliedStyles_INTERFACE_DEFINED__ */


#ifndef __IElementTraversal_INTERFACE_DEFINED__
#define __IElementTraversal_INTERFACE_DEFINED__

/* interface IElementTraversal */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IElementTraversal;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510736-98b5-11cf-bb82-00aa00bdce0b")
    IElementTraversal : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_firstElementChild( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_lastElementChild( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_previousElementSibling( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_nextElementSibling( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_childElementCount( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IElementTraversalVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IElementTraversal * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IElementTraversal * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IElementTraversal * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IElementTraversal * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IElementTraversal * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IElementTraversal * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IElementTraversal * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_firstElementChild )( 
            __RPC__in IElementTraversal * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastElementChild )( 
            __RPC__in IElementTraversal * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_previousElementSibling )( 
            __RPC__in IElementTraversal * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextElementSibling )( 
            __RPC__in IElementTraversal * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_childElementCount )( 
            __RPC__in IElementTraversal * This,
            /* [out][retval] */ __RPC__out long *p);
        
        END_INTERFACE
    } IElementTraversalVtbl;

    interface IElementTraversal
    {
        CONST_VTBL struct IElementTraversalVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IElementTraversal_INTERFACE_DEFINED__ */


#ifndef __IHTMLDatabinding_INTERFACE_DEFINED__
#define __IHTMLDatabinding_INTERFACE_DEFINED__

/* interface IHTMLDatabinding */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDatabinding;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f3f2-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDatabinding : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_dataFld( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_dataFld( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_dataSrc( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_dataSrc( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_dataFormatAs( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_dataFormatAs( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDatabindingVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDatabinding * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDatabinding * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDatabinding * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDatabinding * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDatabinding * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDatabinding * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDatabinding * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_dataFld )( 
            __RPC__in IHTMLDatabinding * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataFld )( 
            __RPC__in IHTMLDatabinding * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_dataSrc )( 
            __RPC__in IHTMLDatabinding * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataSrc )( 
            __RPC__in IHTMLDatabinding * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_dataFormatAs )( 
            __RPC__in IHTMLDatabinding * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataFormatAs )( 
            __RPC__in IHTMLDatabinding * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLDatabindingVtbl;

    interface IHTMLDatabinding
    {
        CONST_VTBL struct IHTMLDatabindingVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDatabinding_INTERFACE_DEFINED__ */


#ifndef __IHTMLDocument_INTERFACE_DEFINED__
#define __IHTMLDocument_INTERFACE_DEFINED__

/* interface IHTMLDocument */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDocument;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("626FC520-A41E-11cf-A731-00A0C9082637")
    IHTMLDocument : public IDispatch
    {
    public:
        virtual /* [nonbrowsable][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_Script( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDocumentVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDocument * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDocument * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDocument * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDocument * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDocument * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDocument * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDocument * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Script )( 
            __RPC__in IHTMLDocument * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        END_INTERFACE
    } IHTMLDocumentVtbl;

    interface IHTMLDocument
    {
        CONST_VTBL struct IHTMLDocumentVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLDocument_get_Script(This,p)	\
    ( (This)->lpVtbl -> get_Script(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDocument_INTERFACE_DEFINED__ */


#ifndef __IHTMLElementDefaults_INTERFACE_DEFINED__
#define __IHTMLElementDefaults_INTERFACE_DEFINED__

/* interface IHTMLElementDefaults */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLElementDefaults;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f6c9-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLElementDefaults : public IDispatch
    {
    public:
        virtual /* [nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_style( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyle **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_tabStop( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_tabStop( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_viewInheritStyle( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_viewInheritStyle( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_viewMasterTab( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_viewMasterTab( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollSegmentX( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollSegmentX( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollSegmentY( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollSegmentY( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_isMultiLine( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_isMultiLine( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_contentEditable( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_contentEditable( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_canHaveHTML( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_canHaveHTML( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_viewLink( 
            /* [in] */ __RPC__in_opt IHTMLDocument *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_viewLink( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDocument **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_frozen( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_frozen( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLElementDefaultsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLElementDefaults * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLElementDefaults * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLElementDefaults * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLElementDefaults * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLElementDefaults * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLElementDefaults * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLElementDefaults * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_style )( 
            __RPC__in IHTMLElementDefaults * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyle **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_tabStop )( 
            __RPC__in IHTMLElementDefaults * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_tabStop )( 
            __RPC__in IHTMLElementDefaults * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_viewInheritStyle )( 
            __RPC__in IHTMLElementDefaults * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_viewInheritStyle )( 
            __RPC__in IHTMLElementDefaults * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_viewMasterTab )( 
            __RPC__in IHTMLElementDefaults * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_viewMasterTab )( 
            __RPC__in IHTMLElementDefaults * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollSegmentX )( 
            __RPC__in IHTMLElementDefaults * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollSegmentX )( 
            __RPC__in IHTMLElementDefaults * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollSegmentY )( 
            __RPC__in IHTMLElementDefaults * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollSegmentY )( 
            __RPC__in IHTMLElementDefaults * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_isMultiLine )( 
            __RPC__in IHTMLElementDefaults * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isMultiLine )( 
            __RPC__in IHTMLElementDefaults * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_contentEditable )( 
            __RPC__in IHTMLElementDefaults * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_contentEditable )( 
            __RPC__in IHTMLElementDefaults * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_canHaveHTML )( 
            __RPC__in IHTMLElementDefaults * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_canHaveHTML )( 
            __RPC__in IHTMLElementDefaults * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_viewLink )( 
            __RPC__in IHTMLElementDefaults * This,
            /* [in] */ __RPC__in_opt IHTMLDocument *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_viewLink )( 
            __RPC__in IHTMLElementDefaults * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDocument **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_frozen )( 
            __RPC__in IHTMLElementDefaults * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frozen )( 
            __RPC__in IHTMLElementDefaults * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        END_INTERFACE
    } IHTMLElementDefaultsVtbl;

    interface IHTMLElementDefaults
    {
        CONST_VTBL struct IHTMLElementDefaultsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLElementDefaults_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLElementDefaults_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLElementDefaults_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLElementDefaults_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLElementDefaults_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLElementDefaults_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLElementDefaults_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLElementDefaults_get_style(This,p)	\
    ( (This)->lpVtbl -> get_style(This,p) ) 

#define IHTMLElementDefaults_put_tabStop(This,v)	\
    ( (This)->lpVtbl -> put_tabStop(This,v) ) 

#define IHTMLElementDefaults_get_tabStop(This,p)	\
    ( (This)->lpVtbl -> get_tabStop(This,p) ) 

#define IHTMLElementDefaults_put_viewInheritStyle(This,v)	\
    ( (This)->lpVtbl -> put_viewInheritStyle(This,v) ) 

#define IHTMLElementDefaults_get_viewInheritStyle(This,p)	\
    ( (This)->lpVtbl -> get_viewInheritStyle(This,p) ) 

#define IHTMLElementDefaults_put_viewMasterTab(This,v)	\
    ( (This)->lpVtbl -> put_viewMasterTab(This,v) ) 

#define IHTMLElementDefaults_get_viewMasterTab(This,p)	\
    ( (This)->lpVtbl -> get_viewMasterTab(This,p) ) 

#define IHTMLElementDefaults_put_scrollSegmentX(This,v)	\
    ( (This)->lpVtbl -> put_scrollSegmentX(This,v) ) 

#define IHTMLElementDefaults_get_scrollSegmentX(This,p)	\
    ( (This)->lpVtbl -> get_scrollSegmentX(This,p) ) 

#define IHTMLElementDefaults_put_scrollSegmentY(This,v)	\
    ( (This)->lpVtbl -> put_scrollSegmentY(This,v) ) 

#define IHTMLElementDefaults_get_scrollSegmentY(This,p)	\
    ( (This)->lpVtbl -> get_scrollSegmentY(This,p) ) 

#define IHTMLElementDefaults_put_isMultiLine(This,v)	\
    ( (This)->lpVtbl -> put_isMultiLine(This,v) ) 

#define IHTMLElementDefaults_get_isMultiLine(This,p)	\
    ( (This)->lpVtbl -> get_isMultiLine(This,p) ) 

#define IHTMLElementDefaults_put_contentEditable(This,v)	\
    ( (This)->lpVtbl -> put_contentEditable(This,v) ) 

#define IHTMLElementDefaults_get_contentEditable(This,p)	\
    ( (This)->lpVtbl -> get_contentEditable(This,p) ) 

#define IHTMLElementDefaults_put_canHaveHTML(This,v)	\
    ( (This)->lpVtbl -> put_canHaveHTML(This,v) ) 

#define IHTMLElementDefaults_get_canHaveHTML(This,p)	\
    ( (This)->lpVtbl -> get_canHaveHTML(This,p) ) 

#define IHTMLElementDefaults_putref_viewLink(This,v)	\
    ( (This)->lpVtbl -> putref_viewLink(This,v) ) 

#define IHTMLElementDefaults_get_viewLink(This,p)	\
    ( (This)->lpVtbl -> get_viewLink(This,p) ) 

#define IHTMLElementDefaults_put_frozen(This,v)	\
    ( (This)->lpVtbl -> put_frozen(This,v) ) 

#define IHTMLElementDefaults_get_frozen(This,p)	\
    ( (This)->lpVtbl -> get_frozen(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLElementDefaults_INTERFACE_DEFINED__ */


#ifndef __DispHTMLDefaults_DISPINTERFACE_DEFINED__
#define __DispHTMLDefaults_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLDefaults */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLDefaults;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f58c-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLDefaults : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLDefaultsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLDefaults * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLDefaults * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLDefaults * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLDefaults * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLDefaults * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLDefaults * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLDefaults * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLDefaultsVtbl;

    interface DispHTMLDefaults
    {
        CONST_VTBL struct DispHTMLDefaultsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLDefaults_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLDefaults_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLDefaults_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLDefaults_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLDefaults_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLDefaults_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLDefaults_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLDefaults_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLDefaults;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f6c8-98b5-11cf-bb82-00aa00bdce0b")
HTMLDefaults;
#endif

#ifndef __IHTCDefaultDispatch_INTERFACE_DEFINED__
#define __IHTCDefaultDispatch_INTERFACE_DEFINED__

/* interface IHTCDefaultDispatch */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTCDefaultDispatch;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4fd-98b5-11cf-bb82-00aa00bdce0b")
    IHTCDefaultDispatch : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_element( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createEventObject( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLEventObj **eventObj) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_defaults( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_document( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTCDefaultDispatchVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTCDefaultDispatch * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTCDefaultDispatch * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTCDefaultDispatch * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTCDefaultDispatch * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTCDefaultDispatch * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTCDefaultDispatch * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTCDefaultDispatch * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_element )( 
            __RPC__in IHTCDefaultDispatch * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createEventObject )( 
            __RPC__in IHTCDefaultDispatch * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLEventObj **eventObj);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_defaults )( 
            __RPC__in IHTCDefaultDispatch * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_document )( 
            __RPC__in IHTCDefaultDispatch * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        END_INTERFACE
    } IHTCDefaultDispatchVtbl;

    interface IHTCDefaultDispatch
    {
        CONST_VTBL struct IHTCDefaultDispatchVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTCDefaultDispatch_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTCDefaultDispatch_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTCDefaultDispatch_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTCDefaultDispatch_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTCDefaultDispatch_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTCDefaultDispatch_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTCDefaultDispatch_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTCDefaultDispatch_get_element(This,p)	\
    ( (This)->lpVtbl -> get_element(This,p) ) 

#define IHTCDefaultDispatch_createEventObject(This,eventObj)	\
    ( (This)->lpVtbl -> createEventObject(This,eventObj) ) 

#define IHTCDefaultDispatch_get_defaults(This,p)	\
    ( (This)->lpVtbl -> get_defaults(This,p) ) 

#define IHTCDefaultDispatch_get_document(This,p)	\
    ( (This)->lpVtbl -> get_document(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTCDefaultDispatch_INTERFACE_DEFINED__ */


#ifndef __IHTCPropertyBehavior_INTERFACE_DEFINED__
#define __IHTCPropertyBehavior_INTERFACE_DEFINED__

/* interface IHTCPropertyBehavior */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTCPropertyBehavior;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f5df-98b5-11cf-bb82-00aa00bdce0b")
    IHTCPropertyBehavior : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE fireChange( void) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_value( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_value( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTCPropertyBehaviorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTCPropertyBehavior * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTCPropertyBehavior * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTCPropertyBehavior * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTCPropertyBehavior * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTCPropertyBehavior * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTCPropertyBehavior * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTCPropertyBehavior * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *fireChange )( 
            __RPC__in IHTCPropertyBehavior * This);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_value )( 
            __RPC__in IHTCPropertyBehavior * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 
            __RPC__in IHTCPropertyBehavior * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTCPropertyBehaviorVtbl;

    interface IHTCPropertyBehavior
    {
        CONST_VTBL struct IHTCPropertyBehaviorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTCPropertyBehavior_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTCPropertyBehavior_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTCPropertyBehavior_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTCPropertyBehavior_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTCPropertyBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTCPropertyBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTCPropertyBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTCPropertyBehavior_fireChange(This)	\
    ( (This)->lpVtbl -> fireChange(This) ) 

#define IHTCPropertyBehavior_put_value(This,v)	\
    ( (This)->lpVtbl -> put_value(This,v) ) 

#define IHTCPropertyBehavior_get_value(This,p)	\
    ( (This)->lpVtbl -> get_value(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTCPropertyBehavior_INTERFACE_DEFINED__ */


#ifndef __IHTCMethodBehavior_INTERFACE_DEFINED__
#define __IHTCMethodBehavior_INTERFACE_DEFINED__

/* interface IHTCMethodBehavior */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTCMethodBehavior;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f631-98b5-11cf-bb82-00aa00bdce0b")
    IHTCMethodBehavior : public IDispatch
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct IHTCMethodBehaviorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTCMethodBehavior * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTCMethodBehavior * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTCMethodBehavior * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTCMethodBehavior * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTCMethodBehavior * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTCMethodBehavior * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTCMethodBehavior * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } IHTCMethodBehaviorVtbl;

    interface IHTCMethodBehavior
    {
        CONST_VTBL struct IHTCMethodBehaviorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTCMethodBehavior_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTCMethodBehavior_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTCMethodBehavior_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTCMethodBehavior_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTCMethodBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTCMethodBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTCMethodBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTCMethodBehavior_INTERFACE_DEFINED__ */


#ifndef __IHTCEventBehavior_INTERFACE_DEFINED__
#define __IHTCEventBehavior_INTERFACE_DEFINED__

/* interface IHTCEventBehavior */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTCEventBehavior;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4ff-98b5-11cf-bb82-00aa00bdce0b")
    IHTCEventBehavior : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE fire( 
            /* [in] */ __RPC__in_opt IHTMLEventObj *pvar) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTCEventBehaviorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTCEventBehavior * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTCEventBehavior * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTCEventBehavior * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTCEventBehavior * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTCEventBehavior * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTCEventBehavior * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTCEventBehavior * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *fire )( 
            __RPC__in IHTCEventBehavior * This,
            /* [in] */ __RPC__in_opt IHTMLEventObj *pvar);
        
        END_INTERFACE
    } IHTCEventBehaviorVtbl;

    interface IHTCEventBehavior
    {
        CONST_VTBL struct IHTCEventBehaviorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTCEventBehavior_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTCEventBehavior_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTCEventBehavior_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTCEventBehavior_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTCEventBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTCEventBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTCEventBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTCEventBehavior_fire(This,pvar)	\
    ( (This)->lpVtbl -> fire(This,pvar) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTCEventBehavior_INTERFACE_DEFINED__ */


#ifndef __IHTCAttachBehavior_INTERFACE_DEFINED__
#define __IHTCAttachBehavior_INTERFACE_DEFINED__

/* interface IHTCAttachBehavior */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTCAttachBehavior;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f5f4-98b5-11cf-bb82-00aa00bdce0b")
    IHTCAttachBehavior : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE fireEvent( 
            /* [in] */ __RPC__in_opt IDispatch *evt) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE detachEvent( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTCAttachBehaviorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTCAttachBehavior * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTCAttachBehavior * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTCAttachBehavior * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTCAttachBehavior * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTCAttachBehavior * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTCAttachBehavior * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTCAttachBehavior * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *fireEvent )( 
            __RPC__in IHTCAttachBehavior * This,
            /* [in] */ __RPC__in_opt IDispatch *evt);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *detachEvent )( 
            __RPC__in IHTCAttachBehavior * This);
        
        END_INTERFACE
    } IHTCAttachBehaviorVtbl;

    interface IHTCAttachBehavior
    {
        CONST_VTBL struct IHTCAttachBehaviorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTCAttachBehavior_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTCAttachBehavior_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTCAttachBehavior_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTCAttachBehavior_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTCAttachBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTCAttachBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTCAttachBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTCAttachBehavior_fireEvent(This,evt)	\
    ( (This)->lpVtbl -> fireEvent(This,evt) ) 

#define IHTCAttachBehavior_detachEvent(This)	\
    ( (This)->lpVtbl -> detachEvent(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTCAttachBehavior_INTERFACE_DEFINED__ */


#ifndef __IHTCAttachBehavior2_INTERFACE_DEFINED__
#define __IHTCAttachBehavior2_INTERFACE_DEFINED__

/* interface IHTCAttachBehavior2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTCAttachBehavior2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f7eb-98b5-11cf-bb82-00aa00bdce0b")
    IHTCAttachBehavior2 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE fireEvent( 
            /* [in] */ VARIANT evt) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTCAttachBehavior2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTCAttachBehavior2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTCAttachBehavior2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTCAttachBehavior2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTCAttachBehavior2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTCAttachBehavior2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTCAttachBehavior2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTCAttachBehavior2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *fireEvent )( 
            __RPC__in IHTCAttachBehavior2 * This,
            /* [in] */ VARIANT evt);
        
        END_INTERFACE
    } IHTCAttachBehavior2Vtbl;

    interface IHTCAttachBehavior2
    {
        CONST_VTBL struct IHTCAttachBehavior2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTCAttachBehavior2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTCAttachBehavior2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTCAttachBehavior2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTCAttachBehavior2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTCAttachBehavior2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTCAttachBehavior2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTCAttachBehavior2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTCAttachBehavior2_fireEvent(This,evt)	\
    ( (This)->lpVtbl -> fireEvent(This,evt) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTCAttachBehavior2_INTERFACE_DEFINED__ */


#ifndef __IHTCDescBehavior_INTERFACE_DEFINED__
#define __IHTCDescBehavior_INTERFACE_DEFINED__

/* interface IHTCDescBehavior */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTCDescBehavior;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f5dc-98b5-11cf-bb82-00aa00bdce0b")
    IHTCDescBehavior : public IDispatch
    {
    public:
        virtual /* [bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_urn( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTCDescBehaviorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTCDescBehavior * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTCDescBehavior * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTCDescBehavior * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTCDescBehavior * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTCDescBehavior * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTCDescBehavior * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTCDescBehavior * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_urn )( 
            __RPC__in IHTCDescBehavior * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTCDescBehavior * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTCDescBehaviorVtbl;

    interface IHTCDescBehavior
    {
        CONST_VTBL struct IHTCDescBehaviorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTCDescBehavior_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTCDescBehavior_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTCDescBehavior_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTCDescBehavior_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTCDescBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTCDescBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTCDescBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTCDescBehavior_get_urn(This,p)	\
    ( (This)->lpVtbl -> get_urn(This,p) ) 

#define IHTCDescBehavior_get_name(This,p)	\
    ( (This)->lpVtbl -> get_name(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTCDescBehavior_INTERFACE_DEFINED__ */


#ifndef __DispHTCDefaultDispatch_DISPINTERFACE_DEFINED__
#define __DispHTCDefaultDispatch_DISPINTERFACE_DEFINED__

/* dispinterface DispHTCDefaultDispatch */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTCDefaultDispatch;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f573-98b5-11cf-bb82-00aa00bdce0b")
    DispHTCDefaultDispatch : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTCDefaultDispatchVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTCDefaultDispatch * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTCDefaultDispatch * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTCDefaultDispatch * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTCDefaultDispatch * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTCDefaultDispatch * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTCDefaultDispatch * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTCDefaultDispatch * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTCDefaultDispatchVtbl;

    interface DispHTCDefaultDispatch
    {
        CONST_VTBL struct DispHTCDefaultDispatchVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTCDefaultDispatch_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTCDefaultDispatch_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTCDefaultDispatch_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTCDefaultDispatch_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTCDefaultDispatch_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTCDefaultDispatch_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTCDefaultDispatch_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTCDefaultDispatch_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTCDefaultDispatch;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f4fc-98b5-11cf-bb82-00aa00bdce0b")
HTCDefaultDispatch;
#endif

#ifndef __DispHTCPropertyBehavior_DISPINTERFACE_DEFINED__
#define __DispHTCPropertyBehavior_DISPINTERFACE_DEFINED__

/* dispinterface DispHTCPropertyBehavior */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTCPropertyBehavior;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f57f-98b5-11cf-bb82-00aa00bdce0b")
    DispHTCPropertyBehavior : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTCPropertyBehaviorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTCPropertyBehavior * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTCPropertyBehavior * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTCPropertyBehavior * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTCPropertyBehavior * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTCPropertyBehavior * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTCPropertyBehavior * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTCPropertyBehavior * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTCPropertyBehaviorVtbl;

    interface DispHTCPropertyBehavior
    {
        CONST_VTBL struct DispHTCPropertyBehaviorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTCPropertyBehavior_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTCPropertyBehavior_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTCPropertyBehavior_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTCPropertyBehavior_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTCPropertyBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTCPropertyBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTCPropertyBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTCPropertyBehavior_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTCPropertyBehavior;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f5de-98b5-11cf-bb82-00aa00bdce0b")
HTCPropertyBehavior;
#endif

#ifndef __DispHTCMethodBehavior_DISPINTERFACE_DEFINED__
#define __DispHTCMethodBehavior_DISPINTERFACE_DEFINED__

/* dispinterface DispHTCMethodBehavior */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTCMethodBehavior;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f587-98b5-11cf-bb82-00aa00bdce0b")
    DispHTCMethodBehavior : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTCMethodBehaviorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTCMethodBehavior * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTCMethodBehavior * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTCMethodBehavior * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTCMethodBehavior * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTCMethodBehavior * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTCMethodBehavior * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTCMethodBehavior * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTCMethodBehaviorVtbl;

    interface DispHTCMethodBehavior
    {
        CONST_VTBL struct DispHTCMethodBehaviorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTCMethodBehavior_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTCMethodBehavior_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTCMethodBehavior_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTCMethodBehavior_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTCMethodBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTCMethodBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTCMethodBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTCMethodBehavior_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTCMethodBehavior;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f630-98b5-11cf-bb82-00aa00bdce0b")
HTCMethodBehavior;
#endif

#ifndef __DispHTCEventBehavior_DISPINTERFACE_DEFINED__
#define __DispHTCEventBehavior_DISPINTERFACE_DEFINED__

/* dispinterface DispHTCEventBehavior */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTCEventBehavior;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f574-98b5-11cf-bb82-00aa00bdce0b")
    DispHTCEventBehavior : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTCEventBehaviorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTCEventBehavior * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTCEventBehavior * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTCEventBehavior * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTCEventBehavior * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTCEventBehavior * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTCEventBehavior * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTCEventBehavior * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTCEventBehaviorVtbl;

    interface DispHTCEventBehavior
    {
        CONST_VTBL struct DispHTCEventBehaviorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTCEventBehavior_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTCEventBehavior_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTCEventBehavior_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTCEventBehavior_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTCEventBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTCEventBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTCEventBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTCEventBehavior_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTCEventBehavior;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f4fe-98b5-11cf-bb82-00aa00bdce0b")
HTCEventBehavior;
#endif

#ifndef __DispHTCAttachBehavior_DISPINTERFACE_DEFINED__
#define __DispHTCAttachBehavior_DISPINTERFACE_DEFINED__

/* dispinterface DispHTCAttachBehavior */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTCAttachBehavior;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f583-98b5-11cf-bb82-00aa00bdce0b")
    DispHTCAttachBehavior : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTCAttachBehaviorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTCAttachBehavior * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTCAttachBehavior * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTCAttachBehavior * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTCAttachBehavior * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTCAttachBehavior * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTCAttachBehavior * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTCAttachBehavior * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTCAttachBehaviorVtbl;

    interface DispHTCAttachBehavior
    {
        CONST_VTBL struct DispHTCAttachBehaviorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTCAttachBehavior_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTCAttachBehavior_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTCAttachBehavior_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTCAttachBehavior_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTCAttachBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTCAttachBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTCAttachBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTCAttachBehavior_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTCAttachBehavior;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f5f5-98b5-11cf-bb82-00aa00bdce0b")
HTCAttachBehavior;
#endif

#ifndef __DispHTCDescBehavior_DISPINTERFACE_DEFINED__
#define __DispHTCDescBehavior_DISPINTERFACE_DEFINED__

/* dispinterface DispHTCDescBehavior */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTCDescBehavior;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f57e-98b5-11cf-bb82-00aa00bdce0b")
    DispHTCDescBehavior : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTCDescBehaviorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTCDescBehavior * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTCDescBehavior * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTCDescBehavior * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTCDescBehavior * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTCDescBehavior * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTCDescBehavior * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTCDescBehavior * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTCDescBehaviorVtbl;

    interface DispHTCDescBehavior
    {
        CONST_VTBL struct DispHTCDescBehaviorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTCDescBehavior_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTCDescBehavior_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTCDescBehavior_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTCDescBehavior_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTCDescBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTCDescBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTCDescBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTCDescBehavior_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTCDescBehavior;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f5dd-98b5-11cf-bb82-00aa00bdce0b")
HTCDescBehavior;
#endif

#ifndef __IHTMLUrnCollection_INTERFACE_DEFINED__
#define __IHTMLUrnCollection_INTERFACE_DEFINED__

/* interface IHTMLUrnCollection */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLUrnCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f5e2-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLUrnCollection : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *ppUrn) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLUrnCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLUrnCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLUrnCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLUrnCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLUrnCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLUrnCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLUrnCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLUrnCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLUrnCollection * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLUrnCollection * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *ppUrn);
        
        END_INTERFACE
    } IHTMLUrnCollectionVtbl;

    interface IHTMLUrnCollection
    {
        CONST_VTBL struct IHTMLUrnCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLUrnCollection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLUrnCollection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLUrnCollection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLUrnCollection_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLUrnCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLUrnCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLUrnCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLUrnCollection_get_length(This,p)	\
    ( (This)->lpVtbl -> get_length(This,p) ) 

#define IHTMLUrnCollection_item(This,index,ppUrn)	\
    ( (This)->lpVtbl -> item(This,index,ppUrn) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLUrnCollection_INTERFACE_DEFINED__ */


#ifndef __DispHTMLUrnCollection_DISPINTERFACE_DEFINED__
#define __DispHTMLUrnCollection_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLUrnCollection */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLUrnCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f551-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLUrnCollection : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLUrnCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLUrnCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLUrnCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLUrnCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLUrnCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLUrnCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLUrnCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLUrnCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLUrnCollectionVtbl;

    interface DispHTMLUrnCollection
    {
        CONST_VTBL struct DispHTMLUrnCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLUrnCollection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLUrnCollection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLUrnCollection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLUrnCollection_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLUrnCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLUrnCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLUrnCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLUrnCollection_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLUrnCollection;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f580-98b5-11cf-bb82-00aa00bdce0b")
HTMLUrnCollection;
#endif

#ifndef __IHTMLGenericElement_INTERFACE_DEFINED__
#define __IHTMLGenericElement_INTERFACE_DEFINED__

/* interface IHTMLGenericElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLGenericElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4b7-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLGenericElement : public IDispatch
    {
    public:
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_recordset( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE namedRecordset( 
            /* [in] */ __RPC__in BSTR dataMember,
            /* [in][optional] */ __RPC__in VARIANT *hierarchy,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppRecordset) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLGenericElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLGenericElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLGenericElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLGenericElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLGenericElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLGenericElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLGenericElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLGenericElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_recordset )( 
            __RPC__in IHTMLGenericElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *namedRecordset )( 
            __RPC__in IHTMLGenericElement * This,
            /* [in] */ __RPC__in BSTR dataMember,
            /* [in][optional] */ __RPC__in VARIANT *hierarchy,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppRecordset);
        
        END_INTERFACE
    } IHTMLGenericElementVtbl;

    interface IHTMLGenericElement
    {
        CONST_VTBL struct IHTMLGenericElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLGenericElement_INTERFACE_DEFINED__ */


#ifndef __DispHTMLGenericElement_DISPINTERFACE_DEFINED__
#define __DispHTMLGenericElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLGenericElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLGenericElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f563-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLGenericElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLGenericElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLGenericElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLGenericElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLGenericElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLGenericElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLGenericElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLGenericElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLGenericElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLGenericElementVtbl;

    interface DispHTMLGenericElement
    {
        CONST_VTBL struct DispHTMLGenericElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLGenericElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLGenericElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f4b8-98b5-11cf-bb82-00aa00bdce0b")
HTMLGenericElement;
#endif

#ifndef __IHTMLStyleSheetRuleApplied_INTERFACE_DEFINED__
#define __IHTMLStyleSheetRuleApplied_INTERFACE_DEFINED__

/* interface IHTMLStyleSheetRuleApplied */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyleSheetRuleApplied;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104c1-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyleSheetRuleApplied : public IDispatch
    {
    public:
        virtual /* [restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get_msSpecificity( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE msGetSpecificity( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__out long *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyleSheetRuleAppliedVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyleSheetRuleApplied * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyleSheetRuleApplied * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyleSheetRuleApplied * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyleSheetRuleApplied * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyleSheetRuleApplied * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyleSheetRuleApplied * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyleSheetRuleApplied * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msSpecificity )( 
            __RPC__in IHTMLStyleSheetRuleApplied * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *msGetSpecificity )( 
            __RPC__in IHTMLStyleSheetRuleApplied * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__out long *p);
        
        END_INTERFACE
    } IHTMLStyleSheetRuleAppliedVtbl;

    interface IHTMLStyleSheetRuleApplied
    {
        CONST_VTBL struct IHTMLStyleSheetRuleAppliedVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLStyleSheetRuleApplied_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLStyleSheetRuleApplied_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLStyleSheetRuleApplied_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLStyleSheetRuleApplied_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLStyleSheetRuleApplied_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLStyleSheetRuleApplied_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLStyleSheetRuleApplied_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLStyleSheetRuleApplied_get_msSpecificity(This,p)	\
    ( (This)->lpVtbl -> get_msSpecificity(This,p) ) 

#define IHTMLStyleSheetRuleApplied_msGetSpecificity(This,index,p)	\
    ( (This)->lpVtbl -> msGetSpecificity(This,index,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyleSheetRuleApplied_INTERFACE_DEFINED__ */


#ifndef __IHTMLStyleSheetRule2_INTERFACE_DEFINED__
#define __IHTMLStyleSheetRule2_INTERFACE_DEFINED__

/* interface IHTMLStyleSheetRule2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyleSheetRule2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106fd-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyleSheetRule2 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_selectorText( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_selectorText( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyleSheetRule2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyleSheetRule2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyleSheetRule2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyleSheetRule2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyleSheetRule2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyleSheetRule2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyleSheetRule2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyleSheetRule2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_selectorText )( 
            __RPC__in IHTMLStyleSheetRule2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectorText )( 
            __RPC__in IHTMLStyleSheetRule2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLStyleSheetRule2Vtbl;

    interface IHTMLStyleSheetRule2
    {
        CONST_VTBL struct IHTMLStyleSheetRule2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLStyleSheetRule2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLStyleSheetRule2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLStyleSheetRule2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLStyleSheetRule2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLStyleSheetRule2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLStyleSheetRule2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLStyleSheetRule2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLStyleSheetRule2_put_selectorText(This,v)	\
    ( (This)->lpVtbl -> put_selectorText(This,v) ) 

#define IHTMLStyleSheetRule2_get_selectorText(This,p)	\
    ( (This)->lpVtbl -> get_selectorText(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyleSheetRule2_INTERFACE_DEFINED__ */


#ifndef __IHTMLStyleSheetRulesCollection2_INTERFACE_DEFINED__
#define __IHTMLStyleSheetRulesCollection2_INTERFACE_DEFINED__

/* interface IHTMLStyleSheetRulesCollection2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyleSheetRulesCollection2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106e8-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyleSheetRulesCollection2 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLCSSRule **ppHTMLCSSRule) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyleSheetRulesCollection2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyleSheetRulesCollection2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyleSheetRulesCollection2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyleSheetRulesCollection2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyleSheetRulesCollection2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyleSheetRulesCollection2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyleSheetRulesCollection2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyleSheetRulesCollection2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLStyleSheetRulesCollection2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLStyleSheetRulesCollection2 * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLCSSRule **ppHTMLCSSRule);
        
        END_INTERFACE
    } IHTMLStyleSheetRulesCollection2Vtbl;

    interface IHTMLStyleSheetRulesCollection2
    {
        CONST_VTBL struct IHTMLStyleSheetRulesCollection2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLStyleSheetRulesCollection2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLStyleSheetRulesCollection2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLStyleSheetRulesCollection2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLStyleSheetRulesCollection2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLStyleSheetRulesCollection2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLStyleSheetRulesCollection2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLStyleSheetRulesCollection2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLStyleSheetRulesCollection2_get_length(This,p)	\
    ( (This)->lpVtbl -> get_length(This,p) ) 

#define IHTMLStyleSheetRulesCollection2_item(This,index,ppHTMLCSSRule)	\
    ( (This)->lpVtbl -> item(This,index,ppHTMLCSSRule) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyleSheetRulesCollection2_INTERFACE_DEFINED__ */


#ifndef __DispHTMLStyleSheetRule_DISPINTERFACE_DEFINED__
#define __DispHTMLStyleSheetRule_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLStyleSheetRule */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLStyleSheetRule;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f50e-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLStyleSheetRule : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLStyleSheetRuleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLStyleSheetRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLStyleSheetRule * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLStyleSheetRule * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLStyleSheetRule * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLStyleSheetRule * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLStyleSheetRule * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLStyleSheetRule * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLStyleSheetRuleVtbl;

    interface DispHTMLStyleSheetRule
    {
        CONST_VTBL struct DispHTMLStyleSheetRuleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLStyleSheetRule_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLStyleSheetRule;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f3ce-98b5-11cf-bb82-00aa00bdce0b")
HTMLStyleSheetRule;
#endif

#ifndef __DispHTMLStyleSheetRulesCollection_DISPINTERFACE_DEFINED__
#define __DispHTMLStyleSheetRulesCollection_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLStyleSheetRulesCollection */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLStyleSheetRulesCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f52f-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLStyleSheetRulesCollection : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLStyleSheetRulesCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLStyleSheetRulesCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLStyleSheetRulesCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLStyleSheetRulesCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLStyleSheetRulesCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLStyleSheetRulesCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLStyleSheetRulesCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLStyleSheetRulesCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLStyleSheetRulesCollectionVtbl;

    interface DispHTMLStyleSheetRulesCollection
    {
        CONST_VTBL struct DispHTMLStyleSheetRulesCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLStyleSheetRulesCollection_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLStyleSheetRulesCollection;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f3cd-98b5-11cf-bb82-00aa00bdce0b")
HTMLStyleSheetRulesCollection;
#endif

#ifndef __IHTMLStyleSheetPage_INTERFACE_DEFINED__
#define __IHTMLStyleSheetPage_INTERFACE_DEFINED__

/* interface IHTMLStyleSheetPage */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyleSheetPage;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f7ee-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyleSheetPage : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_selector( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_pseudoClass( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyleSheetPageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyleSheetPage * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyleSheetPage * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyleSheetPage * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyleSheetPage * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyleSheetPage * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyleSheetPage * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyleSheetPage * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_selector )( 
            __RPC__in IHTMLStyleSheetPage * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pseudoClass )( 
            __RPC__in IHTMLStyleSheetPage * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLStyleSheetPageVtbl;

    interface IHTMLStyleSheetPage
    {
        CONST_VTBL struct IHTMLStyleSheetPageVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLStyleSheetPage_get_selector(This,p)	\
    ( (This)->lpVtbl -> get_selector(This,p) ) 

#define IHTMLStyleSheetPage_get_pseudoClass(This,p)	\
    ( (This)->lpVtbl -> get_pseudoClass(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyleSheetPage_INTERFACE_DEFINED__ */


#ifndef __IHTMLStyleSheetPage2_INTERFACE_DEFINED__
#define __IHTMLStyleSheetPage2_INTERFACE_DEFINED__

/* interface IHTMLStyleSheetPage2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyleSheetPage2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106ed-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyleSheetPage2 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_selectorText( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_selectorText( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_style( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLRuleStyle **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyleSheetPage2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyleSheetPage2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyleSheetPage2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyleSheetPage2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyleSheetPage2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyleSheetPage2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyleSheetPage2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyleSheetPage2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_selectorText )( 
            __RPC__in IHTMLStyleSheetPage2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectorText )( 
            __RPC__in IHTMLStyleSheetPage2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_style )( 
            __RPC__in IHTMLStyleSheetPage2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLRuleStyle **p);
        
        END_INTERFACE
    } IHTMLStyleSheetPage2Vtbl;

    interface IHTMLStyleSheetPage2
    {
        CONST_VTBL struct IHTMLStyleSheetPage2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLStyleSheetPage2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLStyleSheetPage2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLStyleSheetPage2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLStyleSheetPage2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLStyleSheetPage2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLStyleSheetPage2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLStyleSheetPage2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLStyleSheetPage2_put_selectorText(This,v)	\
    ( (This)->lpVtbl -> put_selectorText(This,v) ) 

#define IHTMLStyleSheetPage2_get_selectorText(This,p)	\
    ( (This)->lpVtbl -> get_selectorText(This,p) ) 

#define IHTMLStyleSheetPage2_get_style(This,p)	\
    ( (This)->lpVtbl -> get_style(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyleSheetPage2_INTERFACE_DEFINED__ */


#ifndef __IHTMLStyleSheetPagesCollection_INTERFACE_DEFINED__
#define __IHTMLStyleSheetPagesCollection_INTERFACE_DEFINED__

/* interface IHTMLStyleSheetPagesCollection */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyleSheetPagesCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f7f0-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyleSheetPagesCollection : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheetPage **ppHTMLStyleSheetPage) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyleSheetPagesCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyleSheetPagesCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyleSheetPagesCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyleSheetPagesCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyleSheetPagesCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyleSheetPagesCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyleSheetPagesCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyleSheetPagesCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLStyleSheetPagesCollection * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLStyleSheetPagesCollection * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheetPage **ppHTMLStyleSheetPage);
        
        END_INTERFACE
    } IHTMLStyleSheetPagesCollectionVtbl;

    interface IHTMLStyleSheetPagesCollection
    {
        CONST_VTBL struct IHTMLStyleSheetPagesCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLStyleSheetPagesCollection_get_length(This,p)	\
    ( (This)->lpVtbl -> get_length(This,p) ) 

#define IHTMLStyleSheetPagesCollection_item(This,index,ppHTMLStyleSheetPage)	\
    ( (This)->lpVtbl -> item(This,index,ppHTMLStyleSheetPage) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyleSheetPagesCollection_INTERFACE_DEFINED__ */


#ifndef __DispHTMLStyleSheetPage_DISPINTERFACE_DEFINED__
#define __DispHTMLStyleSheetPage_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLStyleSheetPage */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLStyleSheetPage;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f540-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLStyleSheetPage : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLStyleSheetPageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLStyleSheetPage * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLStyleSheetPage * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLStyleSheetPage * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLStyleSheetPage * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLStyleSheetPage * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLStyleSheetPage * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLStyleSheetPage * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLStyleSheetPageVtbl;

    interface DispHTMLStyleSheetPage
    {
        CONST_VTBL struct DispHTMLStyleSheetPageVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLStyleSheetPage_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLStyleSheetPage;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f7ef-98b5-11cf-bb82-00aa00bdce0b")
HTMLStyleSheetPage;
#endif

#ifndef __DispHTMLStyleSheetPagesCollection_DISPINTERFACE_DEFINED__
#define __DispHTMLStyleSheetPagesCollection_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLStyleSheetPagesCollection */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLStyleSheetPagesCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f543-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLStyleSheetPagesCollection : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLStyleSheetPagesCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLStyleSheetPagesCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLStyleSheetPagesCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLStyleSheetPagesCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLStyleSheetPagesCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLStyleSheetPagesCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLStyleSheetPagesCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLStyleSheetPagesCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLStyleSheetPagesCollectionVtbl;

    interface DispHTMLStyleSheetPagesCollection
    {
        CONST_VTBL struct DispHTMLStyleSheetPagesCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLStyleSheetPagesCollection_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLStyleSheetPagesCollection;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f7f1-98b5-11cf-bb82-00aa00bdce0b")
HTMLStyleSheetPagesCollection;
#endif

#ifndef __IHTMLStyleSheetsCollection_INTERFACE_DEFINED__
#define __IHTMLStyleSheetsCollection_INTERFACE_DEFINED__

/* interface IHTMLStyleSheetsCollection */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyleSheetsCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f37e-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyleSheetsCollection : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__newEnum( 
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ __RPC__in VARIANT *pvarIndex,
            /* [out][retval] */ __RPC__out VARIANT *pvarResult) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyleSheetsCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyleSheetsCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyleSheetsCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyleSheetsCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyleSheetsCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyleSheetsCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyleSheetsCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyleSheetsCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLStyleSheetsCollection * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__newEnum )( 
            __RPC__in IHTMLStyleSheetsCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLStyleSheetsCollection * This,
            /* [in] */ __RPC__in VARIANT *pvarIndex,
            /* [out][retval] */ __RPC__out VARIANT *pvarResult);
        
        END_INTERFACE
    } IHTMLStyleSheetsCollectionVtbl;

    interface IHTMLStyleSheetsCollection
    {
        CONST_VTBL struct IHTMLStyleSheetsCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyleSheetsCollection_INTERFACE_DEFINED__ */


#ifndef __IHTMLStyleSheet2_INTERFACE_DEFINED__
#define __IHTMLStyleSheet2_INTERFACE_DEFINED__

/* interface IHTMLStyleSheet2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyleSheet2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f3d1-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyleSheet2 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_pages( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheetPagesCollection **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE addPageRule( 
            /* [in] */ __RPC__in BSTR bstrSelector,
            /* [in] */ __RPC__in BSTR bstrStyle,
            /* [in][defaultvalue] */ long lIndex,
            /* [out][retval] */ __RPC__out long *plNewIndex) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyleSheet2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyleSheet2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyleSheet2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyleSheet2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyleSheet2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyleSheet2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyleSheet2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyleSheet2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pages )( 
            __RPC__in IHTMLStyleSheet2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheetPagesCollection **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *addPageRule )( 
            __RPC__in IHTMLStyleSheet2 * This,
            /* [in] */ __RPC__in BSTR bstrSelector,
            /* [in] */ __RPC__in BSTR bstrStyle,
            /* [in][defaultvalue] */ long lIndex,
            /* [out][retval] */ __RPC__out long *plNewIndex);
        
        END_INTERFACE
    } IHTMLStyleSheet2Vtbl;

    interface IHTMLStyleSheet2
    {
        CONST_VTBL struct IHTMLStyleSheet2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyleSheet2_INTERFACE_DEFINED__ */


#ifndef __IHTMLStyleSheet3_INTERFACE_DEFINED__
#define __IHTMLStyleSheet3_INTERFACE_DEFINED__

/* interface IHTMLStyleSheet3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyleSheet3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510496-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyleSheet3 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_href( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_href( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_isAlternate( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_isPrefAlternate( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyleSheet3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyleSheet3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyleSheet3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyleSheet3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyleSheet3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyleSheet3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyleSheet3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyleSheet3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_href )( 
            __RPC__in IHTMLStyleSheet3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_href )( 
            __RPC__in IHTMLStyleSheet3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAlternate )( 
            __RPC__in IHTMLStyleSheet3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPrefAlternate )( 
            __RPC__in IHTMLStyleSheet3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        END_INTERFACE
    } IHTMLStyleSheet3Vtbl;

    interface IHTMLStyleSheet3
    {
        CONST_VTBL struct IHTMLStyleSheet3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLStyleSheet3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLStyleSheet3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLStyleSheet3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLStyleSheet3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLStyleSheet3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLStyleSheet3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLStyleSheet3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLStyleSheet3_put_href(This,v)	\
    ( (This)->lpVtbl -> put_href(This,v) ) 

#define IHTMLStyleSheet3_get_href(This,p)	\
    ( (This)->lpVtbl -> get_href(This,p) ) 

#define IHTMLStyleSheet3_get_isAlternate(This,p)	\
    ( (This)->lpVtbl -> get_isAlternate(This,p) ) 

#define IHTMLStyleSheet3_get_isPrefAlternate(This,p)	\
    ( (This)->lpVtbl -> get_isPrefAlternate(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyleSheet3_INTERFACE_DEFINED__ */


#ifndef __IHTMLStyleSheet4_INTERFACE_DEFINED__
#define __IHTMLStyleSheet4_INTERFACE_DEFINED__

/* interface IHTMLStyleSheet4 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyleSheet4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106f4-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyleSheet4 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_href( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_title( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ownerNode( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ownerRule( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLCSSRule **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cssRules( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheetRulesCollection **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_media( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE insertRule( 
            /* [in] */ __RPC__in BSTR bstrRule,
            /* [in][defaultvalue] */ long lIndex,
            /* [out][retval] */ __RPC__out long *plNewIndex) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE deleteRule( 
            /* [in][defaultvalue] */ long lIndex = -1) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyleSheet4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyleSheet4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyleSheet4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyleSheet4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyleSheet4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyleSheet4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyleSheet4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyleSheet4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLStyleSheet4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_href )( 
            __RPC__in IHTMLStyleSheet4 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_title )( 
            __RPC__in IHTMLStyleSheet4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ownerNode )( 
            __RPC__in IHTMLStyleSheet4 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ownerRule )( 
            __RPC__in IHTMLStyleSheet4 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLCSSRule **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cssRules )( 
            __RPC__in IHTMLStyleSheet4 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheetRulesCollection **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_media )( 
            __RPC__in IHTMLStyleSheet4 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *insertRule )( 
            __RPC__in IHTMLStyleSheet4 * This,
            /* [in] */ __RPC__in BSTR bstrRule,
            /* [in][defaultvalue] */ long lIndex,
            /* [out][retval] */ __RPC__out long *plNewIndex);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *deleteRule )( 
            __RPC__in IHTMLStyleSheet4 * This,
            /* [in][defaultvalue] */ long lIndex);
        
        END_INTERFACE
    } IHTMLStyleSheet4Vtbl;

    interface IHTMLStyleSheet4
    {
        CONST_VTBL struct IHTMLStyleSheet4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLStyleSheet4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLStyleSheet4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLStyleSheet4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLStyleSheet4_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLStyleSheet4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLStyleSheet4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLStyleSheet4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLStyleSheet4_get_type(This,p)	\
    ( (This)->lpVtbl -> get_type(This,p) ) 

#define IHTMLStyleSheet4_get_href(This,p)	\
    ( (This)->lpVtbl -> get_href(This,p) ) 

#define IHTMLStyleSheet4_get_title(This,p)	\
    ( (This)->lpVtbl -> get_title(This,p) ) 

#define IHTMLStyleSheet4_get_ownerNode(This,p)	\
    ( (This)->lpVtbl -> get_ownerNode(This,p) ) 

#define IHTMLStyleSheet4_get_ownerRule(This,p)	\
    ( (This)->lpVtbl -> get_ownerRule(This,p) ) 

#define IHTMLStyleSheet4_get_cssRules(This,p)	\
    ( (This)->lpVtbl -> get_cssRules(This,p) ) 

#define IHTMLStyleSheet4_get_media(This,p)	\
    ( (This)->lpVtbl -> get_media(This,p) ) 

#define IHTMLStyleSheet4_insertRule(This,bstrRule,lIndex,plNewIndex)	\
    ( (This)->lpVtbl -> insertRule(This,bstrRule,lIndex,plNewIndex) ) 

#define IHTMLStyleSheet4_deleteRule(This,lIndex)	\
    ( (This)->lpVtbl -> deleteRule(This,lIndex) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyleSheet4_INTERFACE_DEFINED__ */


#ifndef __DispHTMLStyleSheet_DISPINTERFACE_DEFINED__
#define __DispHTMLStyleSheet_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLStyleSheet */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLStyleSheet;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f58d-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLStyleSheet : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLStyleSheetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLStyleSheet * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLStyleSheet * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLStyleSheet * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLStyleSheet * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLStyleSheet * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLStyleSheet * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLStyleSheet * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLStyleSheetVtbl;

    interface DispHTMLStyleSheet
    {
        CONST_VTBL struct DispHTMLStyleSheetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLStyleSheet_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLStyleSheet;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f2e4-98b5-11cf-bb82-00aa00bdce0b")
HTMLStyleSheet;
#endif

#ifndef __IHTMLStyleSheetsCollection2_INTERFACE_DEFINED__
#define __IHTMLStyleSheetsCollection2_INTERFACE_DEFINED__

/* interface IHTMLStyleSheetsCollection2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyleSheetsCollection2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106e7-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyleSheetsCollection2 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__out VARIANT *pvarResult) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyleSheetsCollection2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyleSheetsCollection2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyleSheetsCollection2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyleSheetsCollection2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyleSheetsCollection2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyleSheetsCollection2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyleSheetsCollection2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyleSheetsCollection2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLStyleSheetsCollection2 * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__out VARIANT *pvarResult);
        
        END_INTERFACE
    } IHTMLStyleSheetsCollection2Vtbl;

    interface IHTMLStyleSheetsCollection2
    {
        CONST_VTBL struct IHTMLStyleSheetsCollection2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLStyleSheetsCollection2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLStyleSheetsCollection2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLStyleSheetsCollection2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLStyleSheetsCollection2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLStyleSheetsCollection2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLStyleSheetsCollection2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLStyleSheetsCollection2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLStyleSheetsCollection2_item(This,index,pvarResult)	\
    ( (This)->lpVtbl -> item(This,index,pvarResult) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyleSheetsCollection2_INTERFACE_DEFINED__ */


#ifndef __DispHTMLStyleSheetsCollection_DISPINTERFACE_DEFINED__
#define __DispHTMLStyleSheetsCollection_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLStyleSheetsCollection */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLStyleSheetsCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f547-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLStyleSheetsCollection : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLStyleSheetsCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLStyleSheetsCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLStyleSheetsCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLStyleSheetsCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLStyleSheetsCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLStyleSheetsCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLStyleSheetsCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLStyleSheetsCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLStyleSheetsCollectionVtbl;

    interface DispHTMLStyleSheetsCollection
    {
        CONST_VTBL struct DispHTMLStyleSheetsCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLStyleSheetsCollection_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLStyleSheetsCollection;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f37f-98b5-11cf-bb82-00aa00bdce0b")
HTMLStyleSheetsCollection;
#endif

#ifndef __HTMLLinkElementEvents2_DISPINTERFACE_DEFINED__
#define __HTMLLinkElementEvents2_DISPINTERFACE_DEFINED__

/* dispinterface HTMLLinkElementEvents2 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLLinkElementEvents2;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f61d-98b5-11cf-bb82-00aa00bdce0b")
    HTMLLinkElementEvents2 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLLinkElementEvents2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLLinkElementEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLLinkElementEvents2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLLinkElementEvents2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLLinkElementEvents2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLLinkElementEvents2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLLinkElementEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLLinkElementEvents2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLLinkElementEvents2Vtbl;

    interface HTMLLinkElementEvents2
    {
        CONST_VTBL struct HTMLLinkElementEvents2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLLinkElementEvents2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLLinkElementEvents2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLLinkElementEvents2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLLinkElementEvents2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLLinkElementEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLLinkElementEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLLinkElementEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLLinkElementEvents2_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLLinkElementEvents_DISPINTERFACE_DEFINED__
#define __HTMLLinkElementEvents_DISPINTERFACE_DEFINED__

/* dispinterface HTMLLinkElementEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLLinkElementEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f3cc-98b5-11cf-bb82-00aa00bdce0b")
    HTMLLinkElementEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLLinkElementEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLLinkElementEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLLinkElementEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLLinkElementEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLLinkElementEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLLinkElementEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLLinkElementEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLLinkElementEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLLinkElementEventsVtbl;

    interface HTMLLinkElementEvents
    {
        CONST_VTBL struct HTMLLinkElementEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLLinkElementEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLLinkElementEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLLinkElementEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLLinkElementEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLLinkElementEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLLinkElementEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLLinkElementEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLLinkElementEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IHTMLLinkElement_INTERFACE_DEFINED__
#define __IHTMLLinkElement_INTERFACE_DEFINED__

/* interface IHTMLLinkElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLLinkElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f205-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLLinkElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_href( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_href( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_rel( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_rel( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_rev( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_rev( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_type( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_readyState( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onreadystatechange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onreadystatechange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onload( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onload( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onerror( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onerror( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_styleSheet( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheet **p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_disabled( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_disabled( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_media( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_media( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLLinkElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLLinkElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLLinkElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLLinkElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLLinkElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLLinkElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLLinkElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLLinkElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_href )( 
            __RPC__in IHTMLLinkElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_href )( 
            __RPC__in IHTMLLinkElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_rel )( 
            __RPC__in IHTMLLinkElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rel )( 
            __RPC__in IHTMLLinkElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_rev )( 
            __RPC__in IHTMLLinkElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rev )( 
            __RPC__in IHTMLLinkElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_type )( 
            __RPC__in IHTMLLinkElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLLinkElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_readyState )( 
            __RPC__in IHTMLLinkElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onreadystatechange )( 
            __RPC__in IHTMLLinkElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onreadystatechange )( 
            __RPC__in IHTMLLinkElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onload )( 
            __RPC__in IHTMLLinkElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onload )( 
            __RPC__in IHTMLLinkElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onerror )( 
            __RPC__in IHTMLLinkElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onerror )( 
            __RPC__in IHTMLLinkElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_styleSheet )( 
            __RPC__in IHTMLLinkElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheet **p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_disabled )( 
            __RPC__in IHTMLLinkElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_disabled )( 
            __RPC__in IHTMLLinkElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_media )( 
            __RPC__in IHTMLLinkElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_media )( 
            __RPC__in IHTMLLinkElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLLinkElementVtbl;

    interface IHTMLLinkElement
    {
        CONST_VTBL struct IHTMLLinkElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLLinkElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLLinkElement2_INTERFACE_DEFINED__
#define __IHTMLLinkElement2_INTERFACE_DEFINED__

/* interface IHTMLLinkElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLLinkElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4e5-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLLinkElement2 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_target( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_target( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLLinkElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLLinkElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLLinkElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLLinkElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLLinkElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLLinkElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLLinkElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLLinkElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_target )( 
            __RPC__in IHTMLLinkElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_target )( 
            __RPC__in IHTMLLinkElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLLinkElement2Vtbl;

    interface IHTMLLinkElement2
    {
        CONST_VTBL struct IHTMLLinkElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLLinkElement2_put_target(This,v)	\
    ( (This)->lpVtbl -> put_target(This,v) ) 

#define IHTMLLinkElement2_get_target(This,p)	\
    ( (This)->lpVtbl -> get_target(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLLinkElement2_INTERFACE_DEFINED__ */


#ifndef __IHTMLLinkElement3_INTERFACE_DEFINED__
#define __IHTMLLinkElement3_INTERFACE_DEFINED__

/* interface IHTMLLinkElement3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLLinkElement3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f81e-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLLinkElement3 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_charset( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_charset( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_hreflang( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_hreflang( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLLinkElement3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLLinkElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLLinkElement3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLLinkElement3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLLinkElement3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLLinkElement3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLLinkElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLLinkElement3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_charset )( 
            __RPC__in IHTMLLinkElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_charset )( 
            __RPC__in IHTMLLinkElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_hreflang )( 
            __RPC__in IHTMLLinkElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hreflang )( 
            __RPC__in IHTMLLinkElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLLinkElement3Vtbl;

    interface IHTMLLinkElement3
    {
        CONST_VTBL struct IHTMLLinkElement3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLLinkElement3_INTERFACE_DEFINED__ */


#ifndef __IHTMLLinkElement4_INTERFACE_DEFINED__
#define __IHTMLLinkElement4_INTERFACE_DEFINED__

/* interface IHTMLLinkElement4 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLLinkElement4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051043a-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLLinkElement4 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_href( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_href( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLLinkElement4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLLinkElement4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLLinkElement4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLLinkElement4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLLinkElement4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLLinkElement4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLLinkElement4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLLinkElement4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_href )( 
            __RPC__in IHTMLLinkElement4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_href )( 
            __RPC__in IHTMLLinkElement4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLLinkElement4Vtbl;

    interface IHTMLLinkElement4
    {
        CONST_VTBL struct IHTMLLinkElement4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLLinkElement4_put_href(This,v)	\
    ( (This)->lpVtbl -> put_href(This,v) ) 

#define IHTMLLinkElement4_get_href(This,p)	\
    ( (This)->lpVtbl -> get_href(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLLinkElement4_INTERFACE_DEFINED__ */


#ifndef __IHTMLLinkElement5_INTERFACE_DEFINED__
#define __IHTMLLinkElement5_INTERFACE_DEFINED__

/* interface IHTMLLinkElement5 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLLinkElement5;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510726-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLLinkElement5 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_sheet( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheet **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLLinkElement5Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLLinkElement5 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLLinkElement5 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLLinkElement5 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLLinkElement5 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLLinkElement5 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLLinkElement5 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLLinkElement5 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sheet )( 
            __RPC__in IHTMLLinkElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheet **p);
        
        END_INTERFACE
    } IHTMLLinkElement5Vtbl;

    interface IHTMLLinkElement5
    {
        CONST_VTBL struct IHTMLLinkElement5Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLLinkElement5_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLLinkElement5_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLLinkElement5_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLLinkElement5_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLLinkElement5_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLLinkElement5_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLLinkElement5_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLLinkElement5_get_sheet(This,p)	\
    ( (This)->lpVtbl -> get_sheet(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLLinkElement5_INTERFACE_DEFINED__ */


#ifndef __DispHTMLLinkElement_DISPINTERFACE_DEFINED__
#define __DispHTMLLinkElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLLinkElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLLinkElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f524-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLLinkElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLLinkElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLLinkElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLLinkElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLLinkElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLLinkElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLLinkElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLLinkElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLLinkElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLLinkElementVtbl;

    interface DispHTMLLinkElement
    {
        CONST_VTBL struct DispHTMLLinkElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLLinkElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLLinkElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f277-98b5-11cf-bb82-00aa00bdce0b")
HTMLLinkElement;
#endif

#ifndef __IHTMLTxtRange_INTERFACE_DEFINED__
#define __IHTMLTxtRange_INTERFACE_DEFINED__

/* interface IHTMLTxtRange */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTxtRange;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f220-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTxtRange : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_htmlText( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_text( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_text( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE parentElement( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **parent) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE duplicate( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTxtRange **Duplicate) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE inRange( 
            /* [in] */ __RPC__in_opt IHTMLTxtRange *Range,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *InRange) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE isEqual( 
            /* [in] */ __RPC__in_opt IHTMLTxtRange *Range,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *IsEqual) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE scrollIntoView( 
            /* [in][defaultvalue] */ VARIANT_BOOL fStart = -1) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE collapse( 
            /* [in][defaultvalue] */ VARIANT_BOOL Start = -1) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE expand( 
            /* [in] */ __RPC__in BSTR Unit,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *Success) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE move( 
            /* [in] */ __RPC__in BSTR Unit,
            /* [in][defaultvalue] */ long Count,
            /* [out][retval] */ __RPC__out long *ActualCount) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE moveStart( 
            /* [in] */ __RPC__in BSTR Unit,
            /* [in][defaultvalue] */ long Count,
            /* [out][retval] */ __RPC__out long *ActualCount) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE moveEnd( 
            /* [in] */ __RPC__in BSTR Unit,
            /* [in][defaultvalue] */ long Count,
            /* [out][retval] */ __RPC__out long *ActualCount) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE select( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE pasteHTML( 
            /* [in] */ __RPC__in BSTR html) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE moveToElementText( 
            /* [in] */ __RPC__in_opt IHTMLElement *element) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setEndPoint( 
            /* [in] */ __RPC__in BSTR how,
            /* [in] */ __RPC__in_opt IHTMLTxtRange *SourceRange) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE compareEndPoints( 
            /* [in] */ __RPC__in BSTR how,
            /* [in] */ __RPC__in_opt IHTMLTxtRange *SourceRange,
            /* [out][retval] */ __RPC__out long *ret) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE findText( 
            /* [in] */ __RPC__in BSTR String,
            /* [in][defaultvalue] */ long count,
            /* [in][defaultvalue] */ long Flags,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *Success) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE moveToPoint( 
            /* [in] */ long x,
            /* [in] */ long y) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getBookmark( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *Boolmark) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE moveToBookmark( 
            /* [in] */ __RPC__in BSTR Bookmark,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *Success) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE queryCommandSupported( 
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE queryCommandEnabled( 
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE queryCommandState( 
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE queryCommandIndeterm( 
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE queryCommandText( 
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pcmdText) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE queryCommandValue( 
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT *pcmdValue) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE execCommand( 
            /* [in] */ __RPC__in BSTR cmdID,
            /* [in][defaultvalue] */ VARIANT_BOOL showUI,
            /* [in][optional] */ VARIANT value,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE execCommandShowHelp( 
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTxtRangeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTxtRange * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTxtRange * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTxtRange * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTxtRange * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_htmlText )( 
            __RPC__in IHTMLTxtRange * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_text )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )( 
            __RPC__in IHTMLTxtRange * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *parentElement )( 
            __RPC__in IHTMLTxtRange * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **parent);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *duplicate )( 
            __RPC__in IHTMLTxtRange * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTxtRange **Duplicate);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *inRange )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in] */ __RPC__in_opt IHTMLTxtRange *Range,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *InRange);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *isEqual )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in] */ __RPC__in_opt IHTMLTxtRange *Range,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *IsEqual);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *scrollIntoView )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in][defaultvalue] */ VARIANT_BOOL fStart);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *collapse )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in][defaultvalue] */ VARIANT_BOOL Start);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *expand )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in] */ __RPC__in BSTR Unit,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *Success);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *move )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in] */ __RPC__in BSTR Unit,
            /* [in][defaultvalue] */ long Count,
            /* [out][retval] */ __RPC__out long *ActualCount);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *moveStart )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in] */ __RPC__in BSTR Unit,
            /* [in][defaultvalue] */ long Count,
            /* [out][retval] */ __RPC__out long *ActualCount);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *moveEnd )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in] */ __RPC__in BSTR Unit,
            /* [in][defaultvalue] */ long Count,
            /* [out][retval] */ __RPC__out long *ActualCount);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *select )( 
            __RPC__in IHTMLTxtRange * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *pasteHTML )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in] */ __RPC__in BSTR html);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *moveToElementText )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in] */ __RPC__in_opt IHTMLElement *element);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setEndPoint )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in] */ __RPC__in BSTR how,
            /* [in] */ __RPC__in_opt IHTMLTxtRange *SourceRange);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *compareEndPoints )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in] */ __RPC__in BSTR how,
            /* [in] */ __RPC__in_opt IHTMLTxtRange *SourceRange,
            /* [out][retval] */ __RPC__out long *ret);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *findText )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in] */ __RPC__in BSTR String,
            /* [in][defaultvalue] */ long count,
            /* [in][defaultvalue] */ long Flags,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *Success);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *moveToPoint )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in] */ long x,
            /* [in] */ long y);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getBookmark )( 
            __RPC__in IHTMLTxtRange * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *Boolmark);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *moveToBookmark )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in] */ __RPC__in BSTR Bookmark,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *Success);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *queryCommandSupported )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *queryCommandEnabled )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *queryCommandState )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *queryCommandIndeterm )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *queryCommandText )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pcmdText);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *queryCommandValue )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT *pcmdValue);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *execCommand )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in] */ __RPC__in BSTR cmdID,
            /* [in][defaultvalue] */ VARIANT_BOOL showUI,
            /* [in][optional] */ VARIANT value,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *execCommandShowHelp )( 
            __RPC__in IHTMLTxtRange * This,
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet);
        
        END_INTERFACE
    } IHTMLTxtRangeVtbl;

    interface IHTMLTxtRange
    {
        CONST_VTBL struct IHTMLTxtRangeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTxtRange_INTERFACE_DEFINED__ */


#ifndef __IHTMLTextRangeMetrics_INTERFACE_DEFINED__
#define __IHTMLTextRangeMetrics_INTERFACE_DEFINED__

/* interface IHTMLTextRangeMetrics */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTextRangeMetrics;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f40b-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTextRangeMetrics : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_offsetTop( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_offsetLeft( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_boundingTop( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_boundingLeft( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_boundingWidth( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_boundingHeight( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTextRangeMetricsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTextRangeMetrics * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTextRangeMetrics * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTextRangeMetrics * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTextRangeMetrics * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTextRangeMetrics * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTextRangeMetrics * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTextRangeMetrics * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetTop )( 
            __RPC__in IHTMLTextRangeMetrics * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetLeft )( 
            __RPC__in IHTMLTextRangeMetrics * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_boundingTop )( 
            __RPC__in IHTMLTextRangeMetrics * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_boundingLeft )( 
            __RPC__in IHTMLTextRangeMetrics * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_boundingWidth )( 
            __RPC__in IHTMLTextRangeMetrics * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_boundingHeight )( 
            __RPC__in IHTMLTextRangeMetrics * This,
            /* [out][retval] */ __RPC__out long *p);
        
        END_INTERFACE
    } IHTMLTextRangeMetricsVtbl;

    interface IHTMLTextRangeMetrics
    {
        CONST_VTBL struct IHTMLTextRangeMetricsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLTextRangeMetrics_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLTextRangeMetrics_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLTextRangeMetrics_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLTextRangeMetrics_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLTextRangeMetrics_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLTextRangeMetrics_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLTextRangeMetrics_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLTextRangeMetrics_get_offsetTop(This,p)	\
    ( (This)->lpVtbl -> get_offsetTop(This,p) ) 

#define IHTMLTextRangeMetrics_get_offsetLeft(This,p)	\
    ( (This)->lpVtbl -> get_offsetLeft(This,p) ) 

#define IHTMLTextRangeMetrics_get_boundingTop(This,p)	\
    ( (This)->lpVtbl -> get_boundingTop(This,p) ) 

#define IHTMLTextRangeMetrics_get_boundingLeft(This,p)	\
    ( (This)->lpVtbl -> get_boundingLeft(This,p) ) 

#define IHTMLTextRangeMetrics_get_boundingWidth(This,p)	\
    ( (This)->lpVtbl -> get_boundingWidth(This,p) ) 

#define IHTMLTextRangeMetrics_get_boundingHeight(This,p)	\
    ( (This)->lpVtbl -> get_boundingHeight(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTextRangeMetrics_INTERFACE_DEFINED__ */


#ifndef __IHTMLTextRangeMetrics2_INTERFACE_DEFINED__
#define __IHTMLTextRangeMetrics2_INTERFACE_DEFINED__

/* interface IHTMLTextRangeMetrics2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTextRangeMetrics2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4a6-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTextRangeMetrics2 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getClientRects( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLRectCollection **pRectCol) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getBoundingClientRect( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLRect **pRect) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTextRangeMetrics2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTextRangeMetrics2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTextRangeMetrics2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTextRangeMetrics2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTextRangeMetrics2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTextRangeMetrics2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTextRangeMetrics2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTextRangeMetrics2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getClientRects )( 
            __RPC__in IHTMLTextRangeMetrics2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLRectCollection **pRectCol);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getBoundingClientRect )( 
            __RPC__in IHTMLTextRangeMetrics2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLRect **pRect);
        
        END_INTERFACE
    } IHTMLTextRangeMetrics2Vtbl;

    interface IHTMLTextRangeMetrics2
    {
        CONST_VTBL struct IHTMLTextRangeMetrics2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLTextRangeMetrics2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLTextRangeMetrics2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLTextRangeMetrics2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLTextRangeMetrics2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLTextRangeMetrics2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLTextRangeMetrics2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLTextRangeMetrics2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLTextRangeMetrics2_getClientRects(This,pRectCol)	\
    ( (This)->lpVtbl -> getClientRects(This,pRectCol) ) 

#define IHTMLTextRangeMetrics2_getBoundingClientRect(This,pRect)	\
    ( (This)->lpVtbl -> getBoundingClientRect(This,pRect) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTextRangeMetrics2_INTERFACE_DEFINED__ */


#ifndef __IHTMLTxtRangeCollection_INTERFACE_DEFINED__
#define __IHTMLTxtRangeCollection_INTERFACE_DEFINED__

/* interface IHTMLTxtRangeCollection */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTxtRangeCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f7ed-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTxtRangeCollection : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__newEnum( 
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ __RPC__in VARIANT *pvarIndex,
            /* [out][retval] */ __RPC__out VARIANT *pvarResult) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTxtRangeCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTxtRangeCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTxtRangeCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTxtRangeCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTxtRangeCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTxtRangeCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTxtRangeCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTxtRangeCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLTxtRangeCollection * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__newEnum )( 
            __RPC__in IHTMLTxtRangeCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLTxtRangeCollection * This,
            /* [in] */ __RPC__in VARIANT *pvarIndex,
            /* [out][retval] */ __RPC__out VARIANT *pvarResult);
        
        END_INTERFACE
    } IHTMLTxtRangeCollectionVtbl;

    interface IHTMLTxtRangeCollection
    {
        CONST_VTBL struct IHTMLTxtRangeCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLTxtRangeCollection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLTxtRangeCollection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLTxtRangeCollection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLTxtRangeCollection_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLTxtRangeCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLTxtRangeCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLTxtRangeCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLTxtRangeCollection_get_length(This,p)	\
    ( (This)->lpVtbl -> get_length(This,p) ) 

#define IHTMLTxtRangeCollection_get__newEnum(This,p)	\
    ( (This)->lpVtbl -> get__newEnum(This,p) ) 

#define IHTMLTxtRangeCollection_item(This,pvarIndex,pvarResult)	\
    ( (This)->lpVtbl -> item(This,pvarIndex,pvarResult) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTxtRangeCollection_INTERFACE_DEFINED__ */


#ifndef __IHTMLDOMRange_INTERFACE_DEFINED__
#define __IHTMLDOMRange_INTERFACE_DEFINED__

/* interface IHTMLDOMRange */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDOMRange;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104ae-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDOMRange : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_startContainer( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_startOffset( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_endContainer( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_endOffset( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_collapsed( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_commonAncestorContainer( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setStart( 
            /* [in] */ __RPC__in_opt IDispatch *refNode,
            /* [in] */ long offset) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setEnd( 
            /* [in] */ __RPC__in_opt IDispatch *refNode,
            /* [in] */ long offset) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setStartBefore( 
            /* [in] */ __RPC__in_opt IDispatch *refNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setStartAfter( 
            /* [in] */ __RPC__in_opt IDispatch *refNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setEndBefore( 
            /* [in] */ __RPC__in_opt IDispatch *refNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setEndAfter( 
            /* [in] */ __RPC__in_opt IDispatch *refNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE collapse( 
            /* [in] */ VARIANT_BOOL toStart) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE selectNode( 
            /* [in] */ __RPC__in_opt IDispatch *refNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE selectNodeContents( 
            /* [in] */ __RPC__in_opt IDispatch *refNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE compareBoundaryPoints( 
            /* [in] */ short how,
            /* [in] */ __RPC__in_opt IDispatch *sourceRange,
            /* [out][retval] */ __RPC__out long *compareResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE deleteContents( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE extractContents( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppDocumentFragment) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE cloneContents( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppDocumentFragment) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE insertNode( 
            /* [in] */ __RPC__in_opt IDispatch *newNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE surroundContents( 
            /* [in] */ __RPC__in_opt IDispatch *newParent) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE cloneRange( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMRange **ppClonedRange) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE toString( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pRangeString) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE detach( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getClientRects( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLRectCollection **ppRectCol) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getBoundingClientRect( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLRect **ppRect) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDOMRangeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDOMRange * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDOMRange * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDOMRange * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDOMRange * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDOMRange * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDOMRange * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDOMRange * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_startContainer )( 
            __RPC__in IHTMLDOMRange * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_startOffset )( 
            __RPC__in IHTMLDOMRange * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_endContainer )( 
            __RPC__in IHTMLDOMRange * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_endOffset )( 
            __RPC__in IHTMLDOMRange * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_collapsed )( 
            __RPC__in IHTMLDOMRange * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_commonAncestorContainer )( 
            __RPC__in IHTMLDOMRange * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setStart )( 
            __RPC__in IHTMLDOMRange * This,
            /* [in] */ __RPC__in_opt IDispatch *refNode,
            /* [in] */ long offset);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setEnd )( 
            __RPC__in IHTMLDOMRange * This,
            /* [in] */ __RPC__in_opt IDispatch *refNode,
            /* [in] */ long offset);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setStartBefore )( 
            __RPC__in IHTMLDOMRange * This,
            /* [in] */ __RPC__in_opt IDispatch *refNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setStartAfter )( 
            __RPC__in IHTMLDOMRange * This,
            /* [in] */ __RPC__in_opt IDispatch *refNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setEndBefore )( 
            __RPC__in IHTMLDOMRange * This,
            /* [in] */ __RPC__in_opt IDispatch *refNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setEndAfter )( 
            __RPC__in IHTMLDOMRange * This,
            /* [in] */ __RPC__in_opt IDispatch *refNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *collapse )( 
            __RPC__in IHTMLDOMRange * This,
            /* [in] */ VARIANT_BOOL toStart);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *selectNode )( 
            __RPC__in IHTMLDOMRange * This,
            /* [in] */ __RPC__in_opt IDispatch *refNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *selectNodeContents )( 
            __RPC__in IHTMLDOMRange * This,
            /* [in] */ __RPC__in_opt IDispatch *refNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *compareBoundaryPoints )( 
            __RPC__in IHTMLDOMRange * This,
            /* [in] */ short how,
            /* [in] */ __RPC__in_opt IDispatch *sourceRange,
            /* [out][retval] */ __RPC__out long *compareResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *deleteContents )( 
            __RPC__in IHTMLDOMRange * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *extractContents )( 
            __RPC__in IHTMLDOMRange * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppDocumentFragment);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *cloneContents )( 
            __RPC__in IHTMLDOMRange * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppDocumentFragment);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *insertNode )( 
            __RPC__in IHTMLDOMRange * This,
            /* [in] */ __RPC__in_opt IDispatch *newNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *surroundContents )( 
            __RPC__in IHTMLDOMRange * This,
            /* [in] */ __RPC__in_opt IDispatch *newParent);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *cloneRange )( 
            __RPC__in IHTMLDOMRange * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMRange **ppClonedRange);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *toString )( 
            __RPC__in IHTMLDOMRange * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pRangeString);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *detach )( 
            __RPC__in IHTMLDOMRange * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getClientRects )( 
            __RPC__in IHTMLDOMRange * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLRectCollection **ppRectCol);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getBoundingClientRect )( 
            __RPC__in IHTMLDOMRange * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLRect **ppRect);
        
        END_INTERFACE
    } IHTMLDOMRangeVtbl;

    interface IHTMLDOMRange
    {
        CONST_VTBL struct IHTMLDOMRangeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDOMRange_INTERFACE_DEFINED__ */


#ifndef __DispHTMLDOMRange_DISPINTERFACE_DEFINED__
#define __DispHTMLDOMRange_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLDOMRange */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLDOMRange;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f5a3-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLDOMRange : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLDOMRangeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLDOMRange * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLDOMRange * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLDOMRange * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLDOMRange * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLDOMRange * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLDOMRange * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLDOMRange * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLDOMRangeVtbl;

    interface DispHTMLDOMRange
    {
        CONST_VTBL struct DispHTMLDOMRangeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLDOMRange_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLDOMRange_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLDOMRange_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLDOMRange_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLDOMRange_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLDOMRange_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLDOMRange_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLDOMRange_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLDOMRange;

#ifdef __cplusplus

class DECLSPEC_UUID("305106C3-98b5-11cf-bb82-00aa00bdce0b")
HTMLDOMRange;
#endif

#ifndef __HTMLFormElementEvents2_DISPINTERFACE_DEFINED__
#define __HTMLFormElementEvents2_DISPINTERFACE_DEFINED__

/* dispinterface HTMLFormElementEvents2 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLFormElementEvents2;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f614-98b5-11cf-bb82-00aa00bdce0b")
    HTMLFormElementEvents2 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLFormElementEvents2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLFormElementEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLFormElementEvents2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLFormElementEvents2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLFormElementEvents2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLFormElementEvents2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLFormElementEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLFormElementEvents2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLFormElementEvents2Vtbl;

    interface HTMLFormElementEvents2
    {
        CONST_VTBL struct HTMLFormElementEvents2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLFormElementEvents2_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLFormElementEvents_DISPINTERFACE_DEFINED__
#define __HTMLFormElementEvents_DISPINTERFACE_DEFINED__

/* dispinterface HTMLFormElementEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLFormElementEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f364-98b5-11cf-bb82-00aa00bdce0b")
    HTMLFormElementEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLFormElementEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLFormElementEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLFormElementEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLFormElementEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLFormElementEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLFormElementEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLFormElementEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLFormElementEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLFormElementEventsVtbl;

    interface HTMLFormElementEvents
    {
        CONST_VTBL struct HTMLFormElementEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLFormElementEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IHTMLFormElement_INTERFACE_DEFINED__
#define __IHTMLFormElement_INTERFACE_DEFINED__

/* interface IHTMLFormElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLFormElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f1f7-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLFormElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_action( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_action( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_dir( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_dir( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_encoding( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_encoding( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_method( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_method( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_elements( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_target( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_target( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_name( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onsubmit( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onsubmit( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onreset( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onreset( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE submit( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE reset( void) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_length( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__newEnum( 
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in][optional] */ VARIANT name,
            /* [in][optional] */ VARIANT index,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE tags( 
            /* [in] */ VARIANT tagName,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLFormElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLFormElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLFormElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLFormElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLFormElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLFormElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLFormElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLFormElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_action )( 
            __RPC__in IHTMLFormElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_action )( 
            __RPC__in IHTMLFormElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_dir )( 
            __RPC__in IHTMLFormElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dir )( 
            __RPC__in IHTMLFormElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_encoding )( 
            __RPC__in IHTMLFormElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_encoding )( 
            __RPC__in IHTMLFormElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_method )( 
            __RPC__in IHTMLFormElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_method )( 
            __RPC__in IHTMLFormElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_elements )( 
            __RPC__in IHTMLFormElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_target )( 
            __RPC__in IHTMLFormElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_target )( 
            __RPC__in IHTMLFormElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            __RPC__in IHTMLFormElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLFormElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onsubmit )( 
            __RPC__in IHTMLFormElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onsubmit )( 
            __RPC__in IHTMLFormElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onreset )( 
            __RPC__in IHTMLFormElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onreset )( 
            __RPC__in IHTMLFormElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *submit )( 
            __RPC__in IHTMLFormElement * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *reset )( 
            __RPC__in IHTMLFormElement * This);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_length )( 
            __RPC__in IHTMLFormElement * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLFormElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__newEnum )( 
            __RPC__in IHTMLFormElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLFormElement * This,
            /* [in][optional] */ VARIANT name,
            /* [in][optional] */ VARIANT index,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *tags )( 
            __RPC__in IHTMLFormElement * This,
            /* [in] */ VARIANT tagName,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp);
        
        END_INTERFACE
    } IHTMLFormElementVtbl;

    interface IHTMLFormElement
    {
        CONST_VTBL struct IHTMLFormElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLFormElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLFormElement2_INTERFACE_DEFINED__
#define __IHTMLFormElement2_INTERFACE_DEFINED__

/* interface IHTMLFormElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLFormElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4f6-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLFormElement2 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_acceptCharset( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_acceptCharset( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE urns( 
            /* [in] */ VARIANT urn,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLFormElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLFormElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLFormElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLFormElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLFormElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLFormElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLFormElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLFormElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_acceptCharset )( 
            __RPC__in IHTMLFormElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_acceptCharset )( 
            __RPC__in IHTMLFormElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *urns )( 
            __RPC__in IHTMLFormElement2 * This,
            /* [in] */ VARIANT urn,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp);
        
        END_INTERFACE
    } IHTMLFormElement2Vtbl;

    interface IHTMLFormElement2
    {
        CONST_VTBL struct IHTMLFormElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLFormElement2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLFormElement2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLFormElement2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLFormElement2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLFormElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLFormElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLFormElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLFormElement2_put_acceptCharset(This,v)	\
    ( (This)->lpVtbl -> put_acceptCharset(This,v) ) 

#define IHTMLFormElement2_get_acceptCharset(This,p)	\
    ( (This)->lpVtbl -> get_acceptCharset(This,p) ) 

#define IHTMLFormElement2_urns(This,urn,pdisp)	\
    ( (This)->lpVtbl -> urns(This,urn,pdisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLFormElement2_INTERFACE_DEFINED__ */


#ifndef __IHTMLFormElement3_INTERFACE_DEFINED__
#define __IHTMLFormElement3_INTERFACE_DEFINED__

/* interface IHTMLFormElement3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLFormElement3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f836-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLFormElement3 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE namedItem( 
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLFormElement3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLFormElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLFormElement3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLFormElement3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLFormElement3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLFormElement3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLFormElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLFormElement3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *namedItem )( 
            __RPC__in IHTMLFormElement3 * This,
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp);
        
        END_INTERFACE
    } IHTMLFormElement3Vtbl;

    interface IHTMLFormElement3
    {
        CONST_VTBL struct IHTMLFormElement3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLFormElement3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLFormElement3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLFormElement3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLFormElement3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLFormElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLFormElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLFormElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLFormElement3_namedItem(This,name,pdisp)	\
    ( (This)->lpVtbl -> namedItem(This,name,pdisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLFormElement3_INTERFACE_DEFINED__ */


#ifndef __IHTMLSubmitData_INTERFACE_DEFINED__
#define __IHTMLSubmitData_INTERFACE_DEFINED__

/* interface IHTMLSubmitData */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLSubmitData;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f645-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLSubmitData : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE appendNameValuePair( 
            /* [in][defaultvalue] */ __RPC__in BSTR name = (BSTR)L"",
            /* [in][defaultvalue] */ __RPC__in BSTR value = (BSTR)L"") = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE appendNameFilePair( 
            /* [in][defaultvalue] */ __RPC__in BSTR name = (BSTR)L"",
            /* [in][defaultvalue] */ __RPC__in BSTR filename = (BSTR)L"") = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE appendItemSeparator( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLSubmitDataVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLSubmitData * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLSubmitData * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLSubmitData * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLSubmitData * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLSubmitData * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLSubmitData * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLSubmitData * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *appendNameValuePair )( 
            __RPC__in IHTMLSubmitData * This,
            /* [in][defaultvalue] */ __RPC__in BSTR name,
            /* [in][defaultvalue] */ __RPC__in BSTR value);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *appendNameFilePair )( 
            __RPC__in IHTMLSubmitData * This,
            /* [in][defaultvalue] */ __RPC__in BSTR name,
            /* [in][defaultvalue] */ __RPC__in BSTR filename);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *appendItemSeparator )( 
            __RPC__in IHTMLSubmitData * This);
        
        END_INTERFACE
    } IHTMLSubmitDataVtbl;

    interface IHTMLSubmitData
    {
        CONST_VTBL struct IHTMLSubmitDataVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLSubmitData_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLSubmitData_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLSubmitData_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLSubmitData_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLSubmitData_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLSubmitData_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLSubmitData_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLSubmitData_appendNameValuePair(This,name,value)	\
    ( (This)->lpVtbl -> appendNameValuePair(This,name,value) ) 

#define IHTMLSubmitData_appendNameFilePair(This,name,filename)	\
    ( (This)->lpVtbl -> appendNameFilePair(This,name,filename) ) 

#define IHTMLSubmitData_appendItemSeparator(This)	\
    ( (This)->lpVtbl -> appendItemSeparator(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLSubmitData_INTERFACE_DEFINED__ */


#ifndef __IHTMLFormElement4_INTERFACE_DEFINED__
#define __IHTMLFormElement4_INTERFACE_DEFINED__

/* interface IHTMLFormElement4 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLFormElement4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051042c-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLFormElement4 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_action( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_action( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLFormElement4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLFormElement4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLFormElement4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLFormElement4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLFormElement4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLFormElement4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLFormElement4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLFormElement4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_action )( 
            __RPC__in IHTMLFormElement4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_action )( 
            __RPC__in IHTMLFormElement4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLFormElement4Vtbl;

    interface IHTMLFormElement4
    {
        CONST_VTBL struct IHTMLFormElement4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLFormElement4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLFormElement4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLFormElement4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLFormElement4_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLFormElement4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLFormElement4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLFormElement4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLFormElement4_put_action(This,v)	\
    ( (This)->lpVtbl -> put_action(This,v) ) 

#define IHTMLFormElement4_get_action(This,p)	\
    ( (This)->lpVtbl -> get_action(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLFormElement4_INTERFACE_DEFINED__ */


#ifndef __DispHTMLFormElement_DISPINTERFACE_DEFINED__
#define __DispHTMLFormElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLFormElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLFormElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f510-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLFormElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLFormElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLFormElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLFormElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLFormElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLFormElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLFormElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLFormElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLFormElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLFormElementVtbl;

    interface DispHTMLFormElement
    {
        CONST_VTBL struct DispHTMLFormElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLFormElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLFormElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f251-98b5-11cf-bb82-00aa00bdce0b")
HTMLFormElement;
#endif

#ifndef __HTMLControlElementEvents2_DISPINTERFACE_DEFINED__
#define __HTMLControlElementEvents2_DISPINTERFACE_DEFINED__

/* dispinterface HTMLControlElementEvents2 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLControlElementEvents2;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f612-98b5-11cf-bb82-00aa00bdce0b")
    HTMLControlElementEvents2 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLControlElementEvents2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLControlElementEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLControlElementEvents2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLControlElementEvents2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLControlElementEvents2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLControlElementEvents2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLControlElementEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLControlElementEvents2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLControlElementEvents2Vtbl;

    interface HTMLControlElementEvents2
    {
        CONST_VTBL struct HTMLControlElementEvents2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLControlElementEvents2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLControlElementEvents2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLControlElementEvents2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLControlElementEvents2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLControlElementEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLControlElementEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLControlElementEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLControlElementEvents2_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLControlElementEvents_DISPINTERFACE_DEFINED__
#define __HTMLControlElementEvents_DISPINTERFACE_DEFINED__

/* dispinterface HTMLControlElementEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLControlElementEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f4ea-98b5-11cf-bb82-00aa00bdce0b")
    HTMLControlElementEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLControlElementEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLControlElementEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLControlElementEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLControlElementEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLControlElementEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLControlElementEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLControlElementEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLControlElementEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLControlElementEventsVtbl;

    interface HTMLControlElementEvents
    {
        CONST_VTBL struct HTMLControlElementEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLControlElementEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLControlElementEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLControlElementEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLControlElementEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLControlElementEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLControlElementEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLControlElementEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLControlElementEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IHTMLControlElement_INTERFACE_DEFINED__
#define __IHTMLControlElement_INTERFACE_DEFINED__

/* interface IHTMLControlElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLControlElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4e9-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLControlElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_tabIndex( 
            /* [in] */ short v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_tabIndex( 
            /* [out][retval] */ __RPC__out short *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE focus( void) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_accessKey( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_accessKey( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onblur( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onblur( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onfocus( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onfocus( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onresize( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onresize( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE blur( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE addFilter( 
            /* [in] */ __RPC__in_opt IUnknown *pUnk) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeFilter( 
            /* [in] */ __RPC__in_opt IUnknown *pUnk) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clientHeight( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clientWidth( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clientTop( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clientLeft( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLControlElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLControlElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLControlElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLControlElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLControlElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLControlElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLControlElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLControlElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_tabIndex )( 
            __RPC__in IHTMLControlElement * This,
            /* [in] */ short v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_tabIndex )( 
            __RPC__in IHTMLControlElement * This,
            /* [out][retval] */ __RPC__out short *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *focus )( 
            __RPC__in IHTMLControlElement * This);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_accessKey )( 
            __RPC__in IHTMLControlElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_accessKey )( 
            __RPC__in IHTMLControlElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onblur )( 
            __RPC__in IHTMLControlElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onblur )( 
            __RPC__in IHTMLControlElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onfocus )( 
            __RPC__in IHTMLControlElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onfocus )( 
            __RPC__in IHTMLControlElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onresize )( 
            __RPC__in IHTMLControlElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onresize )( 
            __RPC__in IHTMLControlElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *blur )( 
            __RPC__in IHTMLControlElement * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *addFilter )( 
            __RPC__in IHTMLControlElement * This,
            /* [in] */ __RPC__in_opt IUnknown *pUnk);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeFilter )( 
            __RPC__in IHTMLControlElement * This,
            /* [in] */ __RPC__in_opt IUnknown *pUnk);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clientHeight )( 
            __RPC__in IHTMLControlElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clientWidth )( 
            __RPC__in IHTMLControlElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clientTop )( 
            __RPC__in IHTMLControlElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clientLeft )( 
            __RPC__in IHTMLControlElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        END_INTERFACE
    } IHTMLControlElementVtbl;

    interface IHTMLControlElement
    {
        CONST_VTBL struct IHTMLControlElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLControlElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLTextElement_INTERFACE_DEFINED__
#define __IHTMLTextElement_INTERFACE_DEFINED__

/* interface IHTMLTextElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTextElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f218-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTextElement : public IDispatch
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTextElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTextElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTextElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTextElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTextElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTextElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTextElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTextElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } IHTMLTextElementVtbl;

    interface IHTMLTextElement
    {
        CONST_VTBL struct IHTMLTextElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLTextElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLTextElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLTextElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLTextElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLTextElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLTextElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLTextElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTextElement_INTERFACE_DEFINED__ */


#ifndef __DispHTMLTextElement_DISPINTERFACE_DEFINED__
#define __DispHTMLTextElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLTextElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLTextElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f537-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLTextElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLTextElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLTextElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLTextElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLTextElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLTextElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLTextElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLTextElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLTextElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLTextElementVtbl;

    interface DispHTMLTextElement
    {
        CONST_VTBL struct DispHTMLTextElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLTextElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLTextElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLTextElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLTextElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLTextElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLTextElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLTextElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLTextElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLTextElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f26a-98b5-11cf-bb82-00aa00bdce0b")
HTMLTextElement;
#endif

#ifndef __HTMLTextContainerEvents2_DISPINTERFACE_DEFINED__
#define __HTMLTextContainerEvents2_DISPINTERFACE_DEFINED__

/* dispinterface HTMLTextContainerEvents2 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLTextContainerEvents2;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f624-98b5-11cf-bb82-00aa00bdce0b")
    HTMLTextContainerEvents2 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLTextContainerEvents2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLTextContainerEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLTextContainerEvents2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLTextContainerEvents2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLTextContainerEvents2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLTextContainerEvents2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLTextContainerEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLTextContainerEvents2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLTextContainerEvents2Vtbl;

    interface HTMLTextContainerEvents2
    {
        CONST_VTBL struct HTMLTextContainerEvents2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLTextContainerEvents2_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLTextContainerEvents_DISPINTERFACE_DEFINED__
#define __HTMLTextContainerEvents_DISPINTERFACE_DEFINED__

/* dispinterface HTMLTextContainerEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLTextContainerEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("1FF6AA72-5842-11cf-A707-00AA00C0098D")
    HTMLTextContainerEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLTextContainerEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLTextContainerEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLTextContainerEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLTextContainerEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLTextContainerEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLTextContainerEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLTextContainerEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLTextContainerEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLTextContainerEventsVtbl;

    interface HTMLTextContainerEvents
    {
        CONST_VTBL struct HTMLTextContainerEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLTextContainerEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IHTMLTextContainer_INTERFACE_DEFINED__
#define __IHTMLTextContainer_INTERFACE_DEFINED__

/* interface IHTMLTextContainer */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTextContainer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f230-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTextContainer : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createControlRange( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **range) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollHeight( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollWidth( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollTop( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollTop( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollLeft( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollLeft( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onscroll( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onscroll( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTextContainerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTextContainer * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTextContainer * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTextContainer * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTextContainer * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTextContainer * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTextContainer * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTextContainer * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createControlRange )( 
            __RPC__in IHTMLTextContainer * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **range);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollHeight )( 
            __RPC__in IHTMLTextContainer * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollWidth )( 
            __RPC__in IHTMLTextContainer * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollTop )( 
            __RPC__in IHTMLTextContainer * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollTop )( 
            __RPC__in IHTMLTextContainer * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollLeft )( 
            __RPC__in IHTMLTextContainer * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollLeft )( 
            __RPC__in IHTMLTextContainer * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onscroll )( 
            __RPC__in IHTMLTextContainer * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onscroll )( 
            __RPC__in IHTMLTextContainer * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLTextContainerVtbl;

    interface IHTMLTextContainer
    {
        CONST_VTBL struct IHTMLTextContainerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTextContainer_INTERFACE_DEFINED__ */


#ifndef __IHTMLControlRange_INTERFACE_DEFINED__
#define __IHTMLControlRange_INTERFACE_DEFINED__

/* interface IHTMLControlRange */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLControlRange;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f29c-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLControlRange : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE select( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE add( 
            /* [in] */ __RPC__in_opt IHTMLControlElement *item) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE remove( 
            /* [in] */ long index) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **pdisp) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE scrollIntoView( 
            /* [in][optional] */ VARIANT varargStart) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE queryCommandSupported( 
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE queryCommandEnabled( 
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE queryCommandState( 
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE queryCommandIndeterm( 
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE queryCommandText( 
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pcmdText) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE queryCommandValue( 
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT *pcmdValue) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE execCommand( 
            /* [in] */ __RPC__in BSTR cmdID,
            /* [in][defaultvalue] */ VARIANT_BOOL showUI,
            /* [in][optional] */ VARIANT value,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE execCommandShowHelp( 
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE commonParentElement( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **parent) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLControlRangeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLControlRange * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLControlRange * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLControlRange * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLControlRange * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLControlRange * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLControlRange * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLControlRange * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *select )( 
            __RPC__in IHTMLControlRange * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *add )( 
            __RPC__in IHTMLControlRange * This,
            /* [in] */ __RPC__in_opt IHTMLControlElement *item);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *remove )( 
            __RPC__in IHTMLControlRange * This,
            /* [in] */ long index);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLControlRange * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **pdisp);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *scrollIntoView )( 
            __RPC__in IHTMLControlRange * This,
            /* [in][optional] */ VARIANT varargStart);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *queryCommandSupported )( 
            __RPC__in IHTMLControlRange * This,
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *queryCommandEnabled )( 
            __RPC__in IHTMLControlRange * This,
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *queryCommandState )( 
            __RPC__in IHTMLControlRange * This,
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *queryCommandIndeterm )( 
            __RPC__in IHTMLControlRange * This,
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *queryCommandText )( 
            __RPC__in IHTMLControlRange * This,
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pcmdText);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *queryCommandValue )( 
            __RPC__in IHTMLControlRange * This,
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT *pcmdValue);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *execCommand )( 
            __RPC__in IHTMLControlRange * This,
            /* [in] */ __RPC__in BSTR cmdID,
            /* [in][defaultvalue] */ VARIANT_BOOL showUI,
            /* [in][optional] */ VARIANT value,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *execCommandShowHelp )( 
            __RPC__in IHTMLControlRange * This,
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *commonParentElement )( 
            __RPC__in IHTMLControlRange * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **parent);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLControlRange * This,
            /* [out][retval] */ __RPC__out long *p);
        
        END_INTERFACE
    } IHTMLControlRangeVtbl;

    interface IHTMLControlRange
    {
        CONST_VTBL struct IHTMLControlRangeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLControlRange_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLControlRange_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLControlRange_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLControlRange_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLControlRange_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLControlRange_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLControlRange_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLControlRange_select(This)	\
    ( (This)->lpVtbl -> select(This) ) 

#define IHTMLControlRange_add(This,item)	\
    ( (This)->lpVtbl -> add(This,item) ) 

#define IHTMLControlRange_remove(This,index)	\
    ( (This)->lpVtbl -> remove(This,index) ) 

#define IHTMLControlRange_item(This,index,pdisp)	\
    ( (This)->lpVtbl -> item(This,index,pdisp) ) 

#define IHTMLControlRange_scrollIntoView(This,varargStart)	\
    ( (This)->lpVtbl -> scrollIntoView(This,varargStart) ) 

#define IHTMLControlRange_queryCommandSupported(This,cmdID,pfRet)	\
    ( (This)->lpVtbl -> queryCommandSupported(This,cmdID,pfRet) ) 

#define IHTMLControlRange_queryCommandEnabled(This,cmdID,pfRet)	\
    ( (This)->lpVtbl -> queryCommandEnabled(This,cmdID,pfRet) ) 

#define IHTMLControlRange_queryCommandState(This,cmdID,pfRet)	\
    ( (This)->lpVtbl -> queryCommandState(This,cmdID,pfRet) ) 

#define IHTMLControlRange_queryCommandIndeterm(This,cmdID,pfRet)	\
    ( (This)->lpVtbl -> queryCommandIndeterm(This,cmdID,pfRet) ) 

#define IHTMLControlRange_queryCommandText(This,cmdID,pcmdText)	\
    ( (This)->lpVtbl -> queryCommandText(This,cmdID,pcmdText) ) 

#define IHTMLControlRange_queryCommandValue(This,cmdID,pcmdValue)	\
    ( (This)->lpVtbl -> queryCommandValue(This,cmdID,pcmdValue) ) 

#define IHTMLControlRange_execCommand(This,cmdID,showUI,value,pfRet)	\
    ( (This)->lpVtbl -> execCommand(This,cmdID,showUI,value,pfRet) ) 

#define IHTMLControlRange_execCommandShowHelp(This,cmdID,pfRet)	\
    ( (This)->lpVtbl -> execCommandShowHelp(This,cmdID,pfRet) ) 

#define IHTMLControlRange_commonParentElement(This,parent)	\
    ( (This)->lpVtbl -> commonParentElement(This,parent) ) 

#define IHTMLControlRange_get_length(This,p)	\
    ( (This)->lpVtbl -> get_length(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLControlRange_INTERFACE_DEFINED__ */


#ifndef __IHTMLControlRange2_INTERFACE_DEFINED__
#define __IHTMLControlRange2_INTERFACE_DEFINED__

/* interface IHTMLControlRange2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLControlRange2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f65e-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLControlRange2 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE addElement( 
            /* [in] */ __RPC__in_opt IHTMLElement *item) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLControlRange2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLControlRange2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLControlRange2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLControlRange2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLControlRange2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLControlRange2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLControlRange2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLControlRange2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *addElement )( 
            __RPC__in IHTMLControlRange2 * This,
            /* [in] */ __RPC__in_opt IHTMLElement *item);
        
        END_INTERFACE
    } IHTMLControlRange2Vtbl;

    interface IHTMLControlRange2
    {
        CONST_VTBL struct IHTMLControlRange2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLControlRange2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLControlRange2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLControlRange2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLControlRange2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLControlRange2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLControlRange2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLControlRange2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLControlRange2_addElement(This,item)	\
    ( (This)->lpVtbl -> addElement(This,item) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLControlRange2_INTERFACE_DEFINED__ */


#ifndef __HTMLImgEvents2_DISPINTERFACE_DEFINED__
#define __HTMLImgEvents2_DISPINTERFACE_DEFINED__

/* dispinterface HTMLImgEvents2 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLImgEvents2;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f616-98b5-11cf-bb82-00aa00bdce0b")
    HTMLImgEvents2 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLImgEvents2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLImgEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLImgEvents2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLImgEvents2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLImgEvents2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLImgEvents2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLImgEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLImgEvents2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLImgEvents2Vtbl;

    interface HTMLImgEvents2
    {
        CONST_VTBL struct HTMLImgEvents2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLImgEvents2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLImgEvents2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLImgEvents2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLImgEvents2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLImgEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLImgEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLImgEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLImgEvents2_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLImgEvents_DISPINTERFACE_DEFINED__
#define __HTMLImgEvents_DISPINTERFACE_DEFINED__

/* dispinterface HTMLImgEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLImgEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f25b-98b5-11cf-bb82-00aa00bdce0b")
    HTMLImgEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLImgEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLImgEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLImgEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLImgEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLImgEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLImgEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLImgEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLImgEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLImgEventsVtbl;

    interface HTMLImgEvents
    {
        CONST_VTBL struct HTMLImgEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLImgEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLImgEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLImgEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLImgEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLImgEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLImgEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLImgEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLImgEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IHTMLImgElement_INTERFACE_DEFINED__
#define __IHTMLImgElement_INTERFACE_DEFINED__

/* interface IHTMLImgElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLImgElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f240-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLImgElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_isMap( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_isMap( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_useMap( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_useMap( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_mimeType( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_fileSize( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_fileCreatedDate( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_fileModifiedDate( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_fileUpdatedDate( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_protocol( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_href( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_nameProp( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_border( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_border( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_vspace( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_vspace( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_hspace( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_hspace( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_alt( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_alt( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_src( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_src( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_lowsrc( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_lowsrc( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_vrml( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_vrml( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_dynsrc( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_dynsrc( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_readyState( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_complete( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_loop( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_loop( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_align( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_align( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onload( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onload( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onerror( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onerror( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onabort( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onabort( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_name( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_width( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_height( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_start( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_start( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLImgElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLImgElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLImgElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLImgElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLImgElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLImgElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLImgElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLImgElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_isMap )( 
            __RPC__in IHTMLImgElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isMap )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_useMap )( 
            __RPC__in IHTMLImgElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_useMap )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_mimeType )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fileSize )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fileCreatedDate )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fileModifiedDate )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fileUpdatedDate )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_protocol )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_href )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nameProp )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_border )( 
            __RPC__in IHTMLImgElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_border )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_vspace )( 
            __RPC__in IHTMLImgElement * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_vspace )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_hspace )( 
            __RPC__in IHTMLImgElement * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hspace )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_alt )( 
            __RPC__in IHTMLImgElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_alt )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_src )( 
            __RPC__in IHTMLImgElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_src )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_lowsrc )( 
            __RPC__in IHTMLImgElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lowsrc )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_vrml )( 
            __RPC__in IHTMLImgElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_vrml )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_dynsrc )( 
            __RPC__in IHTMLImgElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dynsrc )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_readyState )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_complete )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_loop )( 
            __RPC__in IHTMLImgElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_loop )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_align )( 
            __RPC__in IHTMLImgElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_align )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onload )( 
            __RPC__in IHTMLImgElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onload )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onerror )( 
            __RPC__in IHTMLImgElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onerror )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onabort )( 
            __RPC__in IHTMLImgElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onabort )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            __RPC__in IHTMLImgElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_width )( 
            __RPC__in IHTMLImgElement * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_height )( 
            __RPC__in IHTMLImgElement * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_start )( 
            __RPC__in IHTMLImgElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_start )( 
            __RPC__in IHTMLImgElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLImgElementVtbl;

    interface IHTMLImgElement
    {
        CONST_VTBL struct IHTMLImgElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLImgElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLImgElement2_INTERFACE_DEFINED__
#define __IHTMLImgElement2_INTERFACE_DEFINED__

/* interface IHTMLImgElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLImgElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f826-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLImgElement2 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_longDesc( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_longDesc( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLImgElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLImgElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLImgElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLImgElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLImgElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLImgElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLImgElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLImgElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_longDesc )( 
            __RPC__in IHTMLImgElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_longDesc )( 
            __RPC__in IHTMLImgElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLImgElement2Vtbl;

    interface IHTMLImgElement2
    {
        CONST_VTBL struct IHTMLImgElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLImgElement2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLImgElement2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLImgElement2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLImgElement2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLImgElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLImgElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLImgElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLImgElement2_put_longDesc(This,v)	\
    ( (This)->lpVtbl -> put_longDesc(This,v) ) 

#define IHTMLImgElement2_get_longDesc(This,p)	\
    ( (This)->lpVtbl -> get_longDesc(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLImgElement2_INTERFACE_DEFINED__ */


#ifndef __IHTMLImgElement3_INTERFACE_DEFINED__
#define __IHTMLImgElement3_INTERFACE_DEFINED__

/* interface IHTMLImgElement3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLImgElement3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510434-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLImgElement3 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_longDesc( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_longDesc( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_vrml( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_vrml( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_lowsrc( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_lowsrc( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_dynsrc( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_dynsrc( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLImgElement3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLImgElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLImgElement3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLImgElement3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLImgElement3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLImgElement3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLImgElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLImgElement3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_longDesc )( 
            __RPC__in IHTMLImgElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_longDesc )( 
            __RPC__in IHTMLImgElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_vrml )( 
            __RPC__in IHTMLImgElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_vrml )( 
            __RPC__in IHTMLImgElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_lowsrc )( 
            __RPC__in IHTMLImgElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lowsrc )( 
            __RPC__in IHTMLImgElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_dynsrc )( 
            __RPC__in IHTMLImgElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dynsrc )( 
            __RPC__in IHTMLImgElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLImgElement3Vtbl;

    interface IHTMLImgElement3
    {
        CONST_VTBL struct IHTMLImgElement3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLImgElement3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLImgElement3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLImgElement3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLImgElement3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLImgElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLImgElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLImgElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLImgElement3_put_longDesc(This,v)	\
    ( (This)->lpVtbl -> put_longDesc(This,v) ) 

#define IHTMLImgElement3_get_longDesc(This,p)	\
    ( (This)->lpVtbl -> get_longDesc(This,p) ) 

#define IHTMLImgElement3_put_vrml(This,v)	\
    ( (This)->lpVtbl -> put_vrml(This,v) ) 

#define IHTMLImgElement3_get_vrml(This,p)	\
    ( (This)->lpVtbl -> get_vrml(This,p) ) 

#define IHTMLImgElement3_put_lowsrc(This,v)	\
    ( (This)->lpVtbl -> put_lowsrc(This,v) ) 

#define IHTMLImgElement3_get_lowsrc(This,p)	\
    ( (This)->lpVtbl -> get_lowsrc(This,p) ) 

#define IHTMLImgElement3_put_dynsrc(This,v)	\
    ( (This)->lpVtbl -> put_dynsrc(This,v) ) 

#define IHTMLImgElement3_get_dynsrc(This,p)	\
    ( (This)->lpVtbl -> get_dynsrc(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLImgElement3_INTERFACE_DEFINED__ */


#ifndef __IHTMLImgElement4_INTERFACE_DEFINED__
#define __IHTMLImgElement4_INTERFACE_DEFINED__

/* interface IHTMLImgElement4 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLImgElement4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305107f6-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLImgElement4 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_naturalWidth( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_naturalHeight( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLImgElement4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLImgElement4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLImgElement4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLImgElement4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLImgElement4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLImgElement4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLImgElement4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLImgElement4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_naturalWidth )( 
            __RPC__in IHTMLImgElement4 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_naturalHeight )( 
            __RPC__in IHTMLImgElement4 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        END_INTERFACE
    } IHTMLImgElement4Vtbl;

    interface IHTMLImgElement4
    {
        CONST_VTBL struct IHTMLImgElement4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLImgElement4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLImgElement4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLImgElement4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLImgElement4_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLImgElement4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLImgElement4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLImgElement4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLImgElement4_get_naturalWidth(This,p)	\
    ( (This)->lpVtbl -> get_naturalWidth(This,p) ) 

#define IHTMLImgElement4_get_naturalHeight(This,p)	\
    ( (This)->lpVtbl -> get_naturalHeight(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLImgElement4_INTERFACE_DEFINED__ */


#ifndef __IHTMLMSImgElement_INTERFACE_DEFINED__
#define __IHTMLMSImgElement_INTERFACE_DEFINED__

/* interface IHTMLMSImgElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLMSImgElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510793-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLMSImgElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msPlayToDisabled( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msPlayToDisabled( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msPlayToPrimary( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msPlayToPrimary( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLMSImgElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLMSImgElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLMSImgElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLMSImgElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLMSImgElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLMSImgElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLMSImgElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLMSImgElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msPlayToDisabled )( 
            __RPC__in IHTMLMSImgElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msPlayToDisabled )( 
            __RPC__in IHTMLMSImgElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msPlayToPrimary )( 
            __RPC__in IHTMLMSImgElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msPlayToPrimary )( 
            __RPC__in IHTMLMSImgElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        END_INTERFACE
    } IHTMLMSImgElementVtbl;

    interface IHTMLMSImgElement
    {
        CONST_VTBL struct IHTMLMSImgElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLMSImgElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLMSImgElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLMSImgElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLMSImgElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLMSImgElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLMSImgElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLMSImgElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLMSImgElement_put_msPlayToDisabled(This,v)	\
    ( (This)->lpVtbl -> put_msPlayToDisabled(This,v) ) 

#define IHTMLMSImgElement_get_msPlayToDisabled(This,p)	\
    ( (This)->lpVtbl -> get_msPlayToDisabled(This,p) ) 

#define IHTMLMSImgElement_put_msPlayToPrimary(This,v)	\
    ( (This)->lpVtbl -> put_msPlayToPrimary(This,v) ) 

#define IHTMLMSImgElement_get_msPlayToPrimary(This,p)	\
    ( (This)->lpVtbl -> get_msPlayToPrimary(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLMSImgElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLImageElementFactory_INTERFACE_DEFINED__
#define __IHTMLImageElementFactory_INTERFACE_DEFINED__

/* interface IHTMLImageElementFactory */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLImageElementFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f38e-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLImageElementFactory : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE create( 
            /* [in][optional] */ VARIANT width,
            /* [in][optional] */ VARIANT height,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLImgElement **__MIDL__IHTMLImageElementFactory0000) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLImageElementFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLImageElementFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLImageElementFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLImageElementFactory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLImageElementFactory * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLImageElementFactory * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLImageElementFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLImageElementFactory * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *create )( 
            __RPC__in IHTMLImageElementFactory * This,
            /* [in][optional] */ VARIANT width,
            /* [in][optional] */ VARIANT height,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLImgElement **__MIDL__IHTMLImageElementFactory0000);
        
        END_INTERFACE
    } IHTMLImageElementFactoryVtbl;

    interface IHTMLImageElementFactory
    {
        CONST_VTBL struct IHTMLImageElementFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLImageElementFactory_create(This,width,height,__MIDL__IHTMLImageElementFactory0000)	\
    ( (This)->lpVtbl -> create(This,width,height,__MIDL__IHTMLImageElementFactory0000) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLImageElementFactory_INTERFACE_DEFINED__ */


#ifndef __DispHTMLImg_DISPINTERFACE_DEFINED__
#define __DispHTMLImg_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLImg */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLImg;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f51c-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLImg : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLImgVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLImg * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLImg * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLImg * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLImg * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLImg * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLImg * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLImg * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLImgVtbl;

    interface DispHTMLImg
    {
        CONST_VTBL struct DispHTMLImgVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLImg_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLImg;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f241-98b5-11cf-bb82-00aa00bdce0b")
HTMLImg;
#endif

EXTERN_C const CLSID CLSID_HTMLImageElementFactory;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f38f-98b5-11cf-bb82-00aa00bdce0b")
HTMLImageElementFactory;
#endif

#ifndef __IHTMLBodyElement_INTERFACE_DEFINED__
#define __IHTMLBodyElement_INTERFACE_DEFINED__

/* interface IHTMLBodyElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLBodyElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f1d8-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLBodyElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_background( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_background( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_bgProperties( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_bgProperties( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_leftMargin( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_leftMargin( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_topMargin( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_topMargin( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_rightMargin( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_rightMargin( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_bottomMargin( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_bottomMargin( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_noWrap( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_noWrap( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_bgColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_bgColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_text( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_text( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_link( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_link( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_vLink( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_vLink( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_aLink( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_aLink( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onload( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onload( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onunload( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onunload( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scroll( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scroll( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onselect( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onselect( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onbeforeunload( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onbeforeunload( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createTextRange( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTxtRange **range) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLBodyElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLBodyElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLBodyElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLBodyElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLBodyElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLBodyElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLBodyElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLBodyElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_background )( 
            __RPC__in IHTMLBodyElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_background )( 
            __RPC__in IHTMLBodyElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_bgProperties )( 
            __RPC__in IHTMLBodyElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bgProperties )( 
            __RPC__in IHTMLBodyElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_leftMargin )( 
            __RPC__in IHTMLBodyElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_leftMargin )( 
            __RPC__in IHTMLBodyElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_topMargin )( 
            __RPC__in IHTMLBodyElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_topMargin )( 
            __RPC__in IHTMLBodyElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_rightMargin )( 
            __RPC__in IHTMLBodyElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rightMargin )( 
            __RPC__in IHTMLBodyElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_bottomMargin )( 
            __RPC__in IHTMLBodyElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bottomMargin )( 
            __RPC__in IHTMLBodyElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_noWrap )( 
            __RPC__in IHTMLBodyElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noWrap )( 
            __RPC__in IHTMLBodyElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_bgColor )( 
            __RPC__in IHTMLBodyElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bgColor )( 
            __RPC__in IHTMLBodyElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_text )( 
            __RPC__in IHTMLBodyElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )( 
            __RPC__in IHTMLBodyElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_link )( 
            __RPC__in IHTMLBodyElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_link )( 
            __RPC__in IHTMLBodyElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_vLink )( 
            __RPC__in IHTMLBodyElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_vLink )( 
            __RPC__in IHTMLBodyElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_aLink )( 
            __RPC__in IHTMLBodyElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_aLink )( 
            __RPC__in IHTMLBodyElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onload )( 
            __RPC__in IHTMLBodyElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onload )( 
            __RPC__in IHTMLBodyElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onunload )( 
            __RPC__in IHTMLBodyElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onunload )( 
            __RPC__in IHTMLBodyElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scroll )( 
            __RPC__in IHTMLBodyElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scroll )( 
            __RPC__in IHTMLBodyElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onselect )( 
            __RPC__in IHTMLBodyElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onselect )( 
            __RPC__in IHTMLBodyElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onbeforeunload )( 
            __RPC__in IHTMLBodyElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onbeforeunload )( 
            __RPC__in IHTMLBodyElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createTextRange )( 
            __RPC__in IHTMLBodyElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTxtRange **range);
        
        END_INTERFACE
    } IHTMLBodyElementVtbl;

    interface IHTMLBodyElement
    {
        CONST_VTBL struct IHTMLBodyElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLBodyElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLBodyElement2_INTERFACE_DEFINED__
#define __IHTMLBodyElement2_INTERFACE_DEFINED__

/* interface IHTMLBodyElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLBodyElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f5c5-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLBodyElement2 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onbeforeprint( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onbeforeprint( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onafterprint( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onafterprint( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLBodyElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLBodyElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLBodyElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLBodyElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLBodyElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLBodyElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLBodyElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLBodyElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onbeforeprint )( 
            __RPC__in IHTMLBodyElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onbeforeprint )( 
            __RPC__in IHTMLBodyElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onafterprint )( 
            __RPC__in IHTMLBodyElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onafterprint )( 
            __RPC__in IHTMLBodyElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLBodyElement2Vtbl;

    interface IHTMLBodyElement2
    {
        CONST_VTBL struct IHTMLBodyElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLBodyElement2_INTERFACE_DEFINED__ */


#ifndef __IHTMLBodyElement3_INTERFACE_DEFINED__
#define __IHTMLBodyElement3_INTERFACE_DEFINED__

/* interface IHTMLBodyElement3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLBodyElement3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510422-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLBodyElement3 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_background( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_background( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ononline( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ononline( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onoffline( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onoffline( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onhashchange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onhashchange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLBodyElement3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLBodyElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLBodyElement3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLBodyElement3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLBodyElement3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLBodyElement3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLBodyElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLBodyElement3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_background )( 
            __RPC__in IHTMLBodyElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_background )( 
            __RPC__in IHTMLBodyElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ononline )( 
            __RPC__in IHTMLBodyElement3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ononline )( 
            __RPC__in IHTMLBodyElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onoffline )( 
            __RPC__in IHTMLBodyElement3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onoffline )( 
            __RPC__in IHTMLBodyElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onhashchange )( 
            __RPC__in IHTMLBodyElement3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onhashchange )( 
            __RPC__in IHTMLBodyElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLBodyElement3Vtbl;

    interface IHTMLBodyElement3
    {
        CONST_VTBL struct IHTMLBodyElement3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLBodyElement3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLBodyElement3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLBodyElement3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLBodyElement3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLBodyElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLBodyElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLBodyElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLBodyElement3_put_background(This,v)	\
    ( (This)->lpVtbl -> put_background(This,v) ) 

#define IHTMLBodyElement3_get_background(This,p)	\
    ( (This)->lpVtbl -> get_background(This,p) ) 

#define IHTMLBodyElement3_put_ononline(This,v)	\
    ( (This)->lpVtbl -> put_ononline(This,v) ) 

#define IHTMLBodyElement3_get_ononline(This,p)	\
    ( (This)->lpVtbl -> get_ononline(This,p) ) 

#define IHTMLBodyElement3_put_onoffline(This,v)	\
    ( (This)->lpVtbl -> put_onoffline(This,v) ) 

#define IHTMLBodyElement3_get_onoffline(This,p)	\
    ( (This)->lpVtbl -> get_onoffline(This,p) ) 

#define IHTMLBodyElement3_put_onhashchange(This,v)	\
    ( (This)->lpVtbl -> put_onhashchange(This,v) ) 

#define IHTMLBodyElement3_get_onhashchange(This,p)	\
    ( (This)->lpVtbl -> get_onhashchange(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLBodyElement3_INTERFACE_DEFINED__ */


#ifndef __IHTMLBodyElement4_INTERFACE_DEFINED__
#define __IHTMLBodyElement4_INTERFACE_DEFINED__

/* interface IHTMLBodyElement4 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLBodyElement4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510795-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLBodyElement4 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmessage( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmessage( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onstorage( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onstorage( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLBodyElement4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLBodyElement4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLBodyElement4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLBodyElement4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLBodyElement4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLBodyElement4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLBodyElement4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLBodyElement4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmessage )( 
            __RPC__in IHTMLBodyElement4 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmessage )( 
            __RPC__in IHTMLBodyElement4 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onstorage )( 
            __RPC__in IHTMLBodyElement4 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onstorage )( 
            __RPC__in IHTMLBodyElement4 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLBodyElement4Vtbl;

    interface IHTMLBodyElement4
    {
        CONST_VTBL struct IHTMLBodyElement4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLBodyElement4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLBodyElement4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLBodyElement4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLBodyElement4_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLBodyElement4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLBodyElement4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLBodyElement4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLBodyElement4_put_onmessage(This,v)	\
    ( (This)->lpVtbl -> put_onmessage(This,v) ) 

#define IHTMLBodyElement4_get_onmessage(This,p)	\
    ( (This)->lpVtbl -> get_onmessage(This,p) ) 

#define IHTMLBodyElement4_put_onstorage(This,v)	\
    ( (This)->lpVtbl -> put_onstorage(This,v) ) 

#define IHTMLBodyElement4_get_onstorage(This,p)	\
    ( (This)->lpVtbl -> get_onstorage(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLBodyElement4_INTERFACE_DEFINED__ */


#ifndef __IHTMLBodyElement5_INTERFACE_DEFINED__
#define __IHTMLBodyElement5_INTERFACE_DEFINED__

/* interface IHTMLBodyElement5 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLBodyElement5;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510822-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLBodyElement5 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onpopstate( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onpopstate( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLBodyElement5Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLBodyElement5 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLBodyElement5 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLBodyElement5 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLBodyElement5 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLBodyElement5 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLBodyElement5 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLBodyElement5 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onpopstate )( 
            __RPC__in IHTMLBodyElement5 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onpopstate )( 
            __RPC__in IHTMLBodyElement5 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLBodyElement5Vtbl;

    interface IHTMLBodyElement5
    {
        CONST_VTBL struct IHTMLBodyElement5Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLBodyElement5_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLBodyElement5_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLBodyElement5_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLBodyElement5_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLBodyElement5_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLBodyElement5_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLBodyElement5_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLBodyElement5_put_onpopstate(This,v)	\
    ( (This)->lpVtbl -> put_onpopstate(This,v) ) 

#define IHTMLBodyElement5_get_onpopstate(This,p)	\
    ( (This)->lpVtbl -> get_onpopstate(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLBodyElement5_INTERFACE_DEFINED__ */


#ifndef __DispHTMLBody_DISPINTERFACE_DEFINED__
#define __DispHTMLBody_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLBody */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLBody;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f507-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLBody : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLBodyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLBody * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLBody * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLBody * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLBody * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLBody * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLBody * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLBody * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLBodyVtbl;

    interface DispHTMLBody
    {
        CONST_VTBL struct DispHTMLBodyVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLBody_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLBody;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f24a-98b5-11cf-bb82-00aa00bdce0b")
HTMLBody;
#endif

#ifndef __IHTMLFontElement_INTERFACE_DEFINED__
#define __IHTMLFontElement_INTERFACE_DEFINED__

/* interface IHTMLFontElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLFontElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f1d9-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLFontElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_color( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_color( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_face( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_face( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_size( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_size( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLFontElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLFontElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLFontElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLFontElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLFontElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLFontElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLFontElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLFontElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_color )( 
            __RPC__in IHTMLFontElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_color )( 
            __RPC__in IHTMLFontElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_face )( 
            __RPC__in IHTMLFontElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_face )( 
            __RPC__in IHTMLFontElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_size )( 
            __RPC__in IHTMLFontElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_size )( 
            __RPC__in IHTMLFontElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLFontElementVtbl;

    interface IHTMLFontElement
    {
        CONST_VTBL struct IHTMLFontElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLFontElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLFontElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLFontElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLFontElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLFontElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLFontElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLFontElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLFontElement_put_color(This,v)	\
    ( (This)->lpVtbl -> put_color(This,v) ) 

#define IHTMLFontElement_get_color(This,p)	\
    ( (This)->lpVtbl -> get_color(This,p) ) 

#define IHTMLFontElement_put_face(This,v)	\
    ( (This)->lpVtbl -> put_face(This,v) ) 

#define IHTMLFontElement_get_face(This,p)	\
    ( (This)->lpVtbl -> get_face(This,p) ) 

#define IHTMLFontElement_put_size(This,v)	\
    ( (This)->lpVtbl -> put_size(This,v) ) 

#define IHTMLFontElement_get_size(This,p)	\
    ( (This)->lpVtbl -> get_size(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLFontElement_INTERFACE_DEFINED__ */


#ifndef __DispHTMLFontElement_DISPINTERFACE_DEFINED__
#define __DispHTMLFontElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLFontElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLFontElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f512-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLFontElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLFontElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLFontElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLFontElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLFontElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLFontElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLFontElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLFontElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLFontElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLFontElementVtbl;

    interface DispHTMLFontElement
    {
        CONST_VTBL struct DispHTMLFontElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLFontElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLFontElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLFontElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLFontElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLFontElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLFontElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLFontElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLFontElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLFontElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f27b-98b5-11cf-bb82-00aa00bdce0b")
HTMLFontElement;
#endif

#ifndef __HTMLAnchorEvents2_DISPINTERFACE_DEFINED__
#define __HTMLAnchorEvents2_DISPINTERFACE_DEFINED__

/* dispinterface HTMLAnchorEvents2 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLAnchorEvents2;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f610-98b5-11cf-bb82-00aa00bdce0b")
    HTMLAnchorEvents2 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLAnchorEvents2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLAnchorEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLAnchorEvents2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLAnchorEvents2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLAnchorEvents2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLAnchorEvents2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLAnchorEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLAnchorEvents2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLAnchorEvents2Vtbl;

    interface HTMLAnchorEvents2
    {
        CONST_VTBL struct HTMLAnchorEvents2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLAnchorEvents2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLAnchorEvents2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLAnchorEvents2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLAnchorEvents2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLAnchorEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLAnchorEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLAnchorEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLAnchorEvents2_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLAnchorEvents_DISPINTERFACE_DEFINED__
#define __HTMLAnchorEvents_DISPINTERFACE_DEFINED__

/* dispinterface HTMLAnchorEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLAnchorEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f29d-98b5-11cf-bb82-00aa00bdce0b")
    HTMLAnchorEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLAnchorEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLAnchorEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLAnchorEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLAnchorEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLAnchorEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLAnchorEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLAnchorEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLAnchorEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLAnchorEventsVtbl;

    interface HTMLAnchorEvents
    {
        CONST_VTBL struct HTMLAnchorEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLAnchorEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLAnchorEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLAnchorEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLAnchorEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLAnchorEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLAnchorEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLAnchorEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLAnchorEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IHTMLAnchorElement_INTERFACE_DEFINED__
#define __IHTMLAnchorElement_INTERFACE_DEFINED__

/* interface IHTMLAnchorElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLAnchorElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f1da-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLAnchorElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_href( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_href( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_target( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_target( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_rel( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_rel( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_rev( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_rev( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_urn( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_urn( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_Methods( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_Methods( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_name( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_host( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_host( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_hostname( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_hostname( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_pathname( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_pathname( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_port( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_port( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_protocol( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_protocol( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_search( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_search( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_hash( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_hash( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onblur( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onblur( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onfocus( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onfocus( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_accessKey( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_accessKey( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_protocolLong( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_mimeType( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_nameProp( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_tabIndex( 
            /* [in] */ short v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_tabIndex( 
            /* [out][retval] */ __RPC__out short *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE focus( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE blur( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLAnchorElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLAnchorElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLAnchorElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLAnchorElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_href )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_href )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_target )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_target )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_rel )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rel )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_rev )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rev )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_urn )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_urn )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Methods )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Methods )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_host )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_host )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_hostname )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hostname )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pathname )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pathname )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_port )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_port )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_protocol )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_protocol )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_search )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_search )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_hash )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hash )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onblur )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onblur )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onfocus )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onfocus )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_accessKey )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_accessKey )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_protocolLong )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_mimeType )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nameProp )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_tabIndex )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [in] */ short v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_tabIndex )( 
            __RPC__in IHTMLAnchorElement * This,
            /* [out][retval] */ __RPC__out short *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *focus )( 
            __RPC__in IHTMLAnchorElement * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *blur )( 
            __RPC__in IHTMLAnchorElement * This);
        
        END_INTERFACE
    } IHTMLAnchorElementVtbl;

    interface IHTMLAnchorElement
    {
        CONST_VTBL struct IHTMLAnchorElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLAnchorElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLAnchorElement2_INTERFACE_DEFINED__
#define __IHTMLAnchorElement2_INTERFACE_DEFINED__

/* interface IHTMLAnchorElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLAnchorElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f825-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLAnchorElement2 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_charset( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_charset( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_coords( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_coords( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_hreflang( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_hreflang( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_shape( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_shape( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_type( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLAnchorElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLAnchorElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLAnchorElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLAnchorElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLAnchorElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLAnchorElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLAnchorElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLAnchorElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_charset )( 
            __RPC__in IHTMLAnchorElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_charset )( 
            __RPC__in IHTMLAnchorElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_coords )( 
            __RPC__in IHTMLAnchorElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_coords )( 
            __RPC__in IHTMLAnchorElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_hreflang )( 
            __RPC__in IHTMLAnchorElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hreflang )( 
            __RPC__in IHTMLAnchorElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_shape )( 
            __RPC__in IHTMLAnchorElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_shape )( 
            __RPC__in IHTMLAnchorElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_type )( 
            __RPC__in IHTMLAnchorElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLAnchorElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLAnchorElement2Vtbl;

    interface IHTMLAnchorElement2
    {
        CONST_VTBL struct IHTMLAnchorElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLAnchorElement2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLAnchorElement2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLAnchorElement2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLAnchorElement2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLAnchorElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLAnchorElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLAnchorElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLAnchorElement2_put_charset(This,v)	\
    ( (This)->lpVtbl -> put_charset(This,v) ) 

#define IHTMLAnchorElement2_get_charset(This,p)	\
    ( (This)->lpVtbl -> get_charset(This,p) ) 

#define IHTMLAnchorElement2_put_coords(This,v)	\
    ( (This)->lpVtbl -> put_coords(This,v) ) 

#define IHTMLAnchorElement2_get_coords(This,p)	\
    ( (This)->lpVtbl -> get_coords(This,p) ) 

#define IHTMLAnchorElement2_put_hreflang(This,v)	\
    ( (This)->lpVtbl -> put_hreflang(This,v) ) 

#define IHTMLAnchorElement2_get_hreflang(This,p)	\
    ( (This)->lpVtbl -> get_hreflang(This,p) ) 

#define IHTMLAnchorElement2_put_shape(This,v)	\
    ( (This)->lpVtbl -> put_shape(This,v) ) 

#define IHTMLAnchorElement2_get_shape(This,p)	\
    ( (This)->lpVtbl -> get_shape(This,p) ) 

#define IHTMLAnchorElement2_put_type(This,v)	\
    ( (This)->lpVtbl -> put_type(This,v) ) 

#define IHTMLAnchorElement2_get_type(This,p)	\
    ( (This)->lpVtbl -> get_type(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLAnchorElement2_INTERFACE_DEFINED__ */


#ifndef __IHTMLAnchorElement3_INTERFACE_DEFINED__
#define __IHTMLAnchorElement3_INTERFACE_DEFINED__

/* interface IHTMLAnchorElement3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLAnchorElement3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051041d-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLAnchorElement3 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_shape( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_shape( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_coords( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_coords( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_href( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_href( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLAnchorElement3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLAnchorElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLAnchorElement3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLAnchorElement3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLAnchorElement3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLAnchorElement3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLAnchorElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLAnchorElement3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_shape )( 
            __RPC__in IHTMLAnchorElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_shape )( 
            __RPC__in IHTMLAnchorElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_coords )( 
            __RPC__in IHTMLAnchorElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_coords )( 
            __RPC__in IHTMLAnchorElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_href )( 
            __RPC__in IHTMLAnchorElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_href )( 
            __RPC__in IHTMLAnchorElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLAnchorElement3Vtbl;

    interface IHTMLAnchorElement3
    {
        CONST_VTBL struct IHTMLAnchorElement3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLAnchorElement3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLAnchorElement3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLAnchorElement3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLAnchorElement3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLAnchorElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLAnchorElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLAnchorElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLAnchorElement3_put_shape(This,v)	\
    ( (This)->lpVtbl -> put_shape(This,v) ) 

#define IHTMLAnchorElement3_get_shape(This,p)	\
    ( (This)->lpVtbl -> get_shape(This,p) ) 

#define IHTMLAnchorElement3_put_coords(This,v)	\
    ( (This)->lpVtbl -> put_coords(This,v) ) 

#define IHTMLAnchorElement3_get_coords(This,p)	\
    ( (This)->lpVtbl -> get_coords(This,p) ) 

#define IHTMLAnchorElement3_put_href(This,v)	\
    ( (This)->lpVtbl -> put_href(This,v) ) 

#define IHTMLAnchorElement3_get_href(This,p)	\
    ( (This)->lpVtbl -> get_href(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLAnchorElement3_INTERFACE_DEFINED__ */


#ifndef __DispHTMLAnchorElement_DISPINTERFACE_DEFINED__
#define __DispHTMLAnchorElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLAnchorElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLAnchorElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f502-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLAnchorElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLAnchorElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLAnchorElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLAnchorElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLAnchorElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLAnchorElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLAnchorElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLAnchorElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLAnchorElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLAnchorElementVtbl;

    interface DispHTMLAnchorElement
    {
        CONST_VTBL struct DispHTMLAnchorElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLAnchorElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLAnchorElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f248-98b5-11cf-bb82-00aa00bdce0b")
HTMLAnchorElement;
#endif

#ifndef __HTMLLabelEvents2_DISPINTERFACE_DEFINED__
#define __HTMLLabelEvents2_DISPINTERFACE_DEFINED__

/* dispinterface HTMLLabelEvents2 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLLabelEvents2;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f61c-98b5-11cf-bb82-00aa00bdce0b")
    HTMLLabelEvents2 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLLabelEvents2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLLabelEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLLabelEvents2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLLabelEvents2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLLabelEvents2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLLabelEvents2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLLabelEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLLabelEvents2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLLabelEvents2Vtbl;

    interface HTMLLabelEvents2
    {
        CONST_VTBL struct HTMLLabelEvents2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLLabelEvents2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLLabelEvents2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLLabelEvents2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLLabelEvents2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLLabelEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLLabelEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLLabelEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLLabelEvents2_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLLabelEvents_DISPINTERFACE_DEFINED__
#define __HTMLLabelEvents_DISPINTERFACE_DEFINED__

/* dispinterface HTMLLabelEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLLabelEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f329-98b5-11cf-bb82-00aa00bdce0b")
    HTMLLabelEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLLabelEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLLabelEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLLabelEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLLabelEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLLabelEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLLabelEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLLabelEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLLabelEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLLabelEventsVtbl;

    interface HTMLLabelEvents
    {
        CONST_VTBL struct HTMLLabelEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLLabelEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLLabelEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLLabelEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLLabelEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLLabelEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLLabelEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLLabelEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLLabelEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IHTMLLabelElement_INTERFACE_DEFINED__
#define __IHTMLLabelElement_INTERFACE_DEFINED__

/* interface IHTMLLabelElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLLabelElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f32a-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLLabelElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_htmlFor( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_htmlFor( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_accessKey( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_accessKey( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLLabelElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLLabelElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLLabelElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLLabelElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLLabelElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLLabelElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLLabelElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLLabelElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_htmlFor )( 
            __RPC__in IHTMLLabelElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_htmlFor )( 
            __RPC__in IHTMLLabelElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_accessKey )( 
            __RPC__in IHTMLLabelElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_accessKey )( 
            __RPC__in IHTMLLabelElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLLabelElementVtbl;

    interface IHTMLLabelElement
    {
        CONST_VTBL struct IHTMLLabelElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLLabelElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLLabelElement2_INTERFACE_DEFINED__
#define __IHTMLLabelElement2_INTERFACE_DEFINED__

/* interface IHTMLLabelElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLLabelElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f832-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLLabelElement2 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_form( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLLabelElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLLabelElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLLabelElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLLabelElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLLabelElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLLabelElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLLabelElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLLabelElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_form )( 
            __RPC__in IHTMLLabelElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p);
        
        END_INTERFACE
    } IHTMLLabelElement2Vtbl;

    interface IHTMLLabelElement2
    {
        CONST_VTBL struct IHTMLLabelElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLLabelElement2_get_form(This,p)	\
    ( (This)->lpVtbl -> get_form(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLLabelElement2_INTERFACE_DEFINED__ */


#ifndef __DispHTMLLabelElement_DISPINTERFACE_DEFINED__
#define __DispHTMLLabelElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLLabelElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLLabelElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f522-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLLabelElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLLabelElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLLabelElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLLabelElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLLabelElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLLabelElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLLabelElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLLabelElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLLabelElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLLabelElementVtbl;

    interface DispHTMLLabelElement
    {
        CONST_VTBL struct DispHTMLLabelElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLLabelElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLLabelElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f32b-98b5-11cf-bb82-00aa00bdce0b")
HTMLLabelElement;
#endif

#ifndef __IHTMLListElement_INTERFACE_DEFINED__
#define __IHTMLListElement_INTERFACE_DEFINED__

/* interface IHTMLListElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLListElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f20e-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLListElement : public IDispatch
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLListElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLListElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLListElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLListElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLListElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLListElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLListElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLListElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } IHTMLListElementVtbl;

    interface IHTMLListElement
    {
        CONST_VTBL struct IHTMLListElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLListElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLListElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLListElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLListElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLListElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLListElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLListElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLListElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLListElement2_INTERFACE_DEFINED__
#define __IHTMLListElement2_INTERFACE_DEFINED__

/* interface IHTMLListElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLListElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f822-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLListElement2 : public IDispatch
    {
    public:
        virtual /* [bindable][id][propput] */ HRESULT STDMETHODCALLTYPE put_compact( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_compact( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLListElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLListElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLListElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLListElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLListElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLListElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLListElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLListElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_compact )( 
            __RPC__in IHTMLListElement2 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compact )( 
            __RPC__in IHTMLListElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        END_INTERFACE
    } IHTMLListElement2Vtbl;

    interface IHTMLListElement2
    {
        CONST_VTBL struct IHTMLListElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLListElement2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLListElement2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLListElement2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLListElement2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLListElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLListElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLListElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLListElement2_put_compact(This,v)	\
    ( (This)->lpVtbl -> put_compact(This,v) ) 

#define IHTMLListElement2_get_compact(This,p)	\
    ( (This)->lpVtbl -> get_compact(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLListElement2_INTERFACE_DEFINED__ */


#ifndef __DispHTMLListElement_DISPINTERFACE_DEFINED__
#define __DispHTMLListElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLListElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLListElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f525-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLListElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLListElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLListElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLListElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLListElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLListElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLListElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLListElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLListElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLListElementVtbl;

    interface DispHTMLListElement
    {
        CONST_VTBL struct DispHTMLListElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLListElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLListElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLListElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLListElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLListElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLListElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLListElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLListElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLListElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f272-98b5-11cf-bb82-00aa00bdce0b")
HTMLListElement;
#endif

#ifndef __IHTMLUListElement_INTERFACE_DEFINED__
#define __IHTMLUListElement_INTERFACE_DEFINED__

/* interface IHTMLUListElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLUListElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f1dd-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLUListElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_compact( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_compact( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_type( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLUListElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLUListElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLUListElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLUListElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLUListElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLUListElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLUListElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLUListElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_compact )( 
            __RPC__in IHTMLUListElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compact )( 
            __RPC__in IHTMLUListElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_type )( 
            __RPC__in IHTMLUListElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLUListElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLUListElementVtbl;

    interface IHTMLUListElement
    {
        CONST_VTBL struct IHTMLUListElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLUListElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLUListElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLUListElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLUListElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLUListElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLUListElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLUListElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLUListElement_put_compact(This,v)	\
    ( (This)->lpVtbl -> put_compact(This,v) ) 

#define IHTMLUListElement_get_compact(This,p)	\
    ( (This)->lpVtbl -> get_compact(This,p) ) 

#define IHTMLUListElement_put_type(This,v)	\
    ( (This)->lpVtbl -> put_type(This,v) ) 

#define IHTMLUListElement_get_type(This,p)	\
    ( (This)->lpVtbl -> get_type(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLUListElement_INTERFACE_DEFINED__ */


#ifndef __DispHTMLUListElement_DISPINTERFACE_DEFINED__
#define __DispHTMLUListElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLUListElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLUListElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f538-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLUListElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLUListElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLUListElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLUListElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLUListElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLUListElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLUListElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLUListElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLUListElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLUListElementVtbl;

    interface DispHTMLUListElement
    {
        CONST_VTBL struct DispHTMLUListElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLUListElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLUListElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLUListElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLUListElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLUListElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLUListElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLUListElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLUListElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLUListElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f269-98b5-11cf-bb82-00aa00bdce0b")
HTMLUListElement;
#endif

#ifndef __IHTMLOListElement_INTERFACE_DEFINED__
#define __IHTMLOListElement_INTERFACE_DEFINED__

/* interface IHTMLOListElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLOListElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f1de-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLOListElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_compact( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_compact( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_start( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_start( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_type( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLOListElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLOListElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLOListElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLOListElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLOListElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLOListElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLOListElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLOListElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_compact )( 
            __RPC__in IHTMLOListElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compact )( 
            __RPC__in IHTMLOListElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_start )( 
            __RPC__in IHTMLOListElement * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_start )( 
            __RPC__in IHTMLOListElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_type )( 
            __RPC__in IHTMLOListElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLOListElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLOListElementVtbl;

    interface IHTMLOListElement
    {
        CONST_VTBL struct IHTMLOListElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLOListElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLOListElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLOListElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLOListElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLOListElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLOListElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLOListElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLOListElement_put_compact(This,v)	\
    ( (This)->lpVtbl -> put_compact(This,v) ) 

#define IHTMLOListElement_get_compact(This,p)	\
    ( (This)->lpVtbl -> get_compact(This,p) ) 

#define IHTMLOListElement_put_start(This,v)	\
    ( (This)->lpVtbl -> put_start(This,v) ) 

#define IHTMLOListElement_get_start(This,p)	\
    ( (This)->lpVtbl -> get_start(This,p) ) 

#define IHTMLOListElement_put_type(This,v)	\
    ( (This)->lpVtbl -> put_type(This,v) ) 

#define IHTMLOListElement_get_type(This,p)	\
    ( (This)->lpVtbl -> get_type(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLOListElement_INTERFACE_DEFINED__ */


#ifndef __DispHTMLOListElement_DISPINTERFACE_DEFINED__
#define __DispHTMLOListElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLOListElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLOListElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f52a-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLOListElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLOListElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLOListElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLOListElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLOListElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLOListElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLOListElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLOListElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLOListElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLOListElementVtbl;

    interface DispHTMLOListElement
    {
        CONST_VTBL struct DispHTMLOListElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLOListElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLOListElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLOListElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLOListElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLOListElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLOListElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLOListElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLOListElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLOListElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f270-98b5-11cf-bb82-00aa00bdce0b")
HTMLOListElement;
#endif

#ifndef __IHTMLLIElement_INTERFACE_DEFINED__
#define __IHTMLLIElement_INTERFACE_DEFINED__

/* interface IHTMLLIElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLLIElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f1e0-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLLIElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_type( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_value( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_value( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLLIElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLLIElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLLIElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLLIElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLLIElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLLIElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLLIElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLLIElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_type )( 
            __RPC__in IHTMLLIElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLLIElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_value )( 
            __RPC__in IHTMLLIElement * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 
            __RPC__in IHTMLLIElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        END_INTERFACE
    } IHTMLLIElementVtbl;

    interface IHTMLLIElement
    {
        CONST_VTBL struct IHTMLLIElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLLIElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLLIElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLLIElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLLIElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLLIElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLLIElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLLIElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLLIElement_put_type(This,v)	\
    ( (This)->lpVtbl -> put_type(This,v) ) 

#define IHTMLLIElement_get_type(This,p)	\
    ( (This)->lpVtbl -> get_type(This,p) ) 

#define IHTMLLIElement_put_value(This,v)	\
    ( (This)->lpVtbl -> put_value(This,v) ) 

#define IHTMLLIElement_get_value(This,p)	\
    ( (This)->lpVtbl -> get_value(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLLIElement_INTERFACE_DEFINED__ */


#ifndef __DispHTMLLIElement_DISPINTERFACE_DEFINED__
#define __DispHTMLLIElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLLIElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLLIElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f523-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLLIElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLLIElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLLIElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLLIElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLLIElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLLIElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLLIElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLLIElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLLIElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLLIElementVtbl;

    interface DispHTMLLIElement
    {
        CONST_VTBL struct DispHTMLLIElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLLIElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLLIElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLLIElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLLIElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLLIElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLLIElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLLIElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLLIElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLLIElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f273-98b5-11cf-bb82-00aa00bdce0b")
HTMLLIElement;
#endif

#ifndef __IHTMLBlockElement_INTERFACE_DEFINED__
#define __IHTMLBlockElement_INTERFACE_DEFINED__

/* interface IHTMLBlockElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLBlockElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f208-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLBlockElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_clear( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clear( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLBlockElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLBlockElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLBlockElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLBlockElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLBlockElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLBlockElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLBlockElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLBlockElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_clear )( 
            __RPC__in IHTMLBlockElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clear )( 
            __RPC__in IHTMLBlockElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLBlockElementVtbl;

    interface IHTMLBlockElement
    {
        CONST_VTBL struct IHTMLBlockElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLBlockElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLBlockElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLBlockElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLBlockElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLBlockElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLBlockElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLBlockElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLBlockElement_put_clear(This,v)	\
    ( (This)->lpVtbl -> put_clear(This,v) ) 

#define IHTMLBlockElement_get_clear(This,p)	\
    ( (This)->lpVtbl -> get_clear(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLBlockElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLBlockElement2_INTERFACE_DEFINED__
#define __IHTMLBlockElement2_INTERFACE_DEFINED__

/* interface IHTMLBlockElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLBlockElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f823-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLBlockElement2 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_cite( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_cite( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_width( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLBlockElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLBlockElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLBlockElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLBlockElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLBlockElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLBlockElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLBlockElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLBlockElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_cite )( 
            __RPC__in IHTMLBlockElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cite )( 
            __RPC__in IHTMLBlockElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_width )( 
            __RPC__in IHTMLBlockElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in IHTMLBlockElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLBlockElement2Vtbl;

    interface IHTMLBlockElement2
    {
        CONST_VTBL struct IHTMLBlockElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLBlockElement2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLBlockElement2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLBlockElement2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLBlockElement2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLBlockElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLBlockElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLBlockElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLBlockElement2_put_cite(This,v)	\
    ( (This)->lpVtbl -> put_cite(This,v) ) 

#define IHTMLBlockElement2_get_cite(This,p)	\
    ( (This)->lpVtbl -> get_cite(This,p) ) 

#define IHTMLBlockElement2_put_width(This,v)	\
    ( (This)->lpVtbl -> put_width(This,v) ) 

#define IHTMLBlockElement2_get_width(This,p)	\
    ( (This)->lpVtbl -> get_width(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLBlockElement2_INTERFACE_DEFINED__ */


#ifndef __IHTMLBlockElement3_INTERFACE_DEFINED__
#define __IHTMLBlockElement3_INTERFACE_DEFINED__

/* interface IHTMLBlockElement3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLBlockElement3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510494-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLBlockElement3 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_cite( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cite( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLBlockElement3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLBlockElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLBlockElement3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLBlockElement3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLBlockElement3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLBlockElement3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLBlockElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLBlockElement3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_cite )( 
            __RPC__in IHTMLBlockElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cite )( 
            __RPC__in IHTMLBlockElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLBlockElement3Vtbl;

    interface IHTMLBlockElement3
    {
        CONST_VTBL struct IHTMLBlockElement3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLBlockElement3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLBlockElement3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLBlockElement3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLBlockElement3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLBlockElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLBlockElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLBlockElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLBlockElement3_put_cite(This,v)	\
    ( (This)->lpVtbl -> put_cite(This,v) ) 

#define IHTMLBlockElement3_get_cite(This,p)	\
    ( (This)->lpVtbl -> get_cite(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLBlockElement3_INTERFACE_DEFINED__ */


#ifndef __DispHTMLBlockElement_DISPINTERFACE_DEFINED__
#define __DispHTMLBlockElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLBlockElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLBlockElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f506-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLBlockElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLBlockElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLBlockElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLBlockElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLBlockElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLBlockElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLBlockElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLBlockElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLBlockElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLBlockElementVtbl;

    interface DispHTMLBlockElement
    {
        CONST_VTBL struct DispHTMLBlockElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLBlockElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLBlockElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLBlockElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLBlockElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLBlockElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLBlockElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLBlockElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLBlockElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLBlockElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f281-98b5-11cf-bb82-00aa00bdce0b")
HTMLBlockElement;
#endif

#ifndef __IHTMLDivElement_INTERFACE_DEFINED__
#define __IHTMLDivElement_INTERFACE_DEFINED__

/* interface IHTMLDivElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDivElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f200-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDivElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_align( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_align( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_noWrap( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_noWrap( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDivElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDivElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDivElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDivElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDivElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDivElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDivElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDivElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_align )( 
            __RPC__in IHTMLDivElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_align )( 
            __RPC__in IHTMLDivElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_noWrap )( 
            __RPC__in IHTMLDivElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noWrap )( 
            __RPC__in IHTMLDivElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        END_INTERFACE
    } IHTMLDivElementVtbl;

    interface IHTMLDivElement
    {
        CONST_VTBL struct IHTMLDivElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDivElement_INTERFACE_DEFINED__ */


#ifndef __DispHTMLDivElement_DISPINTERFACE_DEFINED__
#define __DispHTMLDivElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLDivElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLDivElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f50c-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLDivElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLDivElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLDivElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLDivElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLDivElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLDivElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLDivElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLDivElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLDivElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLDivElementVtbl;

    interface DispHTMLDivElement
    {
        CONST_VTBL struct DispHTMLDivElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLDivElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLDivElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f27e-98b5-11cf-bb82-00aa00bdce0b")
HTMLDivElement;
#endif

#ifndef __IHTMLDDElement_INTERFACE_DEFINED__
#define __IHTMLDDElement_INTERFACE_DEFINED__

/* interface IHTMLDDElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDDElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f1f2-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDDElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_noWrap( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_noWrap( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDDElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDDElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDDElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDDElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDDElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDDElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDDElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDDElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_noWrap )( 
            __RPC__in IHTMLDDElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noWrap )( 
            __RPC__in IHTMLDDElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        END_INTERFACE
    } IHTMLDDElementVtbl;

    interface IHTMLDDElement
    {
        CONST_VTBL struct IHTMLDDElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLDDElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLDDElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLDDElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLDDElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLDDElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLDDElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLDDElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLDDElement_put_noWrap(This,v)	\
    ( (This)->lpVtbl -> put_noWrap(This,v) ) 

#define IHTMLDDElement_get_noWrap(This,p)	\
    ( (This)->lpVtbl -> get_noWrap(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDDElement_INTERFACE_DEFINED__ */


#ifndef __DispHTMLDDElement_DISPINTERFACE_DEFINED__
#define __DispHTMLDDElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLDDElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLDDElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f50b-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLDDElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLDDElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLDDElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLDDElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLDDElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLDDElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLDDElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLDDElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLDDElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLDDElementVtbl;

    interface DispHTMLDDElement
    {
        CONST_VTBL struct DispHTMLDDElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLDDElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLDDElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLDDElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLDDElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLDDElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLDDElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLDDElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLDDElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLDDElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f27f-98b5-11cf-bb82-00aa00bdce0b")
HTMLDDElement;
#endif

#ifndef __IHTMLDTElement_INTERFACE_DEFINED__
#define __IHTMLDTElement_INTERFACE_DEFINED__

/* interface IHTMLDTElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDTElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f1f3-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDTElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_noWrap( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_noWrap( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDTElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDTElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDTElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDTElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDTElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDTElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDTElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDTElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_noWrap )( 
            __RPC__in IHTMLDTElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noWrap )( 
            __RPC__in IHTMLDTElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        END_INTERFACE
    } IHTMLDTElementVtbl;

    interface IHTMLDTElement
    {
        CONST_VTBL struct IHTMLDTElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLDTElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLDTElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLDTElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLDTElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLDTElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLDTElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLDTElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLDTElement_put_noWrap(This,v)	\
    ( (This)->lpVtbl -> put_noWrap(This,v) ) 

#define IHTMLDTElement_get_noWrap(This,p)	\
    ( (This)->lpVtbl -> get_noWrap(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDTElement_INTERFACE_DEFINED__ */


#ifndef __DispHTMLDTElement_DISPINTERFACE_DEFINED__
#define __DispHTMLDTElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLDTElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLDTElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f50d-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLDTElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLDTElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLDTElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLDTElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLDTElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLDTElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLDTElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLDTElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLDTElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLDTElementVtbl;

    interface DispHTMLDTElement
    {
        CONST_VTBL struct DispHTMLDTElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLDTElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLDTElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLDTElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLDTElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLDTElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLDTElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLDTElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLDTElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLDTElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f27c-98b5-11cf-bb82-00aa00bdce0b")
HTMLDTElement;
#endif

#ifndef __IHTMLBRElement_INTERFACE_DEFINED__
#define __IHTMLBRElement_INTERFACE_DEFINED__

/* interface IHTMLBRElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLBRElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f1f0-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLBRElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_clear( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clear( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLBRElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLBRElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLBRElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLBRElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLBRElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLBRElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLBRElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLBRElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_clear )( 
            __RPC__in IHTMLBRElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clear )( 
            __RPC__in IHTMLBRElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLBRElementVtbl;

    interface IHTMLBRElement
    {
        CONST_VTBL struct IHTMLBRElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLBRElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLBRElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLBRElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLBRElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLBRElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLBRElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLBRElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLBRElement_put_clear(This,v)	\
    ( (This)->lpVtbl -> put_clear(This,v) ) 

#define IHTMLBRElement_get_clear(This,p)	\
    ( (This)->lpVtbl -> get_clear(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLBRElement_INTERFACE_DEFINED__ */


#ifndef __DispHTMLBRElement_DISPINTERFACE_DEFINED__
#define __DispHTMLBRElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLBRElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLBRElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f53a-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLBRElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLBRElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLBRElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLBRElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLBRElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLBRElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLBRElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLBRElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLBRElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLBRElementVtbl;

    interface DispHTMLBRElement
    {
        CONST_VTBL struct DispHTMLBRElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLBRElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLBRElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLBRElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLBRElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLBRElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLBRElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLBRElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLBRElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLBRElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f280-98b5-11cf-bb82-00aa00bdce0b")
HTMLBRElement;
#endif

#ifndef __IHTMLDListElement_INTERFACE_DEFINED__
#define __IHTMLDListElement_INTERFACE_DEFINED__

/* interface IHTMLDListElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDListElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f1f1-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDListElement : public IDispatch
    {
    public:
        virtual /* [bindable][id][propput] */ HRESULT STDMETHODCALLTYPE put_compact( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_compact( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDListElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDListElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDListElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDListElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDListElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDListElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDListElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDListElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_compact )( 
            __RPC__in IHTMLDListElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compact )( 
            __RPC__in IHTMLDListElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        END_INTERFACE
    } IHTMLDListElementVtbl;

    interface IHTMLDListElement
    {
        CONST_VTBL struct IHTMLDListElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLDListElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLDListElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLDListElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLDListElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLDListElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLDListElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLDListElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLDListElement_put_compact(This,v)	\
    ( (This)->lpVtbl -> put_compact(This,v) ) 

#define IHTMLDListElement_get_compact(This,p)	\
    ( (This)->lpVtbl -> get_compact(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDListElement_INTERFACE_DEFINED__ */


#ifndef __DispHTMLDListElement_DISPINTERFACE_DEFINED__
#define __DispHTMLDListElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLDListElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLDListElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f53b-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLDListElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLDListElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLDListElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLDListElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLDListElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLDListElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLDListElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLDListElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLDListElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLDListElementVtbl;

    interface DispHTMLDListElement
    {
        CONST_VTBL struct DispHTMLDListElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLDListElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLDListElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLDListElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLDListElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLDListElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLDListElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLDListElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLDListElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLDListElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f27d-98b5-11cf-bb82-00aa00bdce0b")
HTMLDListElement;
#endif

#ifndef __IHTMLHRElement_INTERFACE_DEFINED__
#define __IHTMLHRElement_INTERFACE_DEFINED__

/* interface IHTMLHRElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLHRElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f1f4-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLHRElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_align( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_align( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_color( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_color( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][id][propput] */ HRESULT STDMETHODCALLTYPE put_noShade( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_noShade( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_width( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_size( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_size( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLHRElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLHRElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLHRElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLHRElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLHRElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLHRElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLHRElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLHRElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_align )( 
            __RPC__in IHTMLHRElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_align )( 
            __RPC__in IHTMLHRElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_color )( 
            __RPC__in IHTMLHRElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_color )( 
            __RPC__in IHTMLHRElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_noShade )( 
            __RPC__in IHTMLHRElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noShade )( 
            __RPC__in IHTMLHRElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_width )( 
            __RPC__in IHTMLHRElement * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in IHTMLHRElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_size )( 
            __RPC__in IHTMLHRElement * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_size )( 
            __RPC__in IHTMLHRElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLHRElementVtbl;

    interface IHTMLHRElement
    {
        CONST_VTBL struct IHTMLHRElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLHRElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLHRElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLHRElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLHRElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLHRElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLHRElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLHRElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLHRElement_put_align(This,v)	\
    ( (This)->lpVtbl -> put_align(This,v) ) 

#define IHTMLHRElement_get_align(This,p)	\
    ( (This)->lpVtbl -> get_align(This,p) ) 

#define IHTMLHRElement_put_color(This,v)	\
    ( (This)->lpVtbl -> put_color(This,v) ) 

#define IHTMLHRElement_get_color(This,p)	\
    ( (This)->lpVtbl -> get_color(This,p) ) 

#define IHTMLHRElement_put_noShade(This,v)	\
    ( (This)->lpVtbl -> put_noShade(This,v) ) 

#define IHTMLHRElement_get_noShade(This,p)	\
    ( (This)->lpVtbl -> get_noShade(This,p) ) 

#define IHTMLHRElement_put_width(This,v)	\
    ( (This)->lpVtbl -> put_width(This,v) ) 

#define IHTMLHRElement_get_width(This,p)	\
    ( (This)->lpVtbl -> get_width(This,p) ) 

#define IHTMLHRElement_put_size(This,v)	\
    ( (This)->lpVtbl -> put_size(This,v) ) 

#define IHTMLHRElement_get_size(This,p)	\
    ( (This)->lpVtbl -> get_size(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLHRElement_INTERFACE_DEFINED__ */


#ifndef __DispHTMLHRElement_DISPINTERFACE_DEFINED__
#define __DispHTMLHRElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLHRElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLHRElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f53d-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLHRElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLHRElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLHRElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLHRElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLHRElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLHRElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLHRElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLHRElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLHRElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLHRElementVtbl;

    interface DispHTMLHRElement
    {
        CONST_VTBL struct DispHTMLHRElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLHRElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLHRElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLHRElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLHRElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLHRElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLHRElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLHRElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLHRElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLHRElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f252-98b5-11cf-bb82-00aa00bdce0b")
HTMLHRElement;
#endif

#ifndef __IHTMLParaElement_INTERFACE_DEFINED__
#define __IHTMLParaElement_INTERFACE_DEFINED__

/* interface IHTMLParaElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLParaElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f1f5-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLParaElement : public IDispatch
    {
    public:
        virtual /* [bindable][id][propput] */ HRESULT STDMETHODCALLTYPE put_align( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_align( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLParaElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLParaElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLParaElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLParaElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLParaElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLParaElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLParaElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLParaElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_align )( 
            __RPC__in IHTMLParaElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_align )( 
            __RPC__in IHTMLParaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLParaElementVtbl;

    interface IHTMLParaElement
    {
        CONST_VTBL struct IHTMLParaElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLParaElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLParaElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLParaElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLParaElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLParaElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLParaElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLParaElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLParaElement_put_align(This,v)	\
    ( (This)->lpVtbl -> put_align(This,v) ) 

#define IHTMLParaElement_get_align(This,p)	\
    ( (This)->lpVtbl -> get_align(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLParaElement_INTERFACE_DEFINED__ */


#ifndef __DispHTMLParaElement_DISPINTERFACE_DEFINED__
#define __DispHTMLParaElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLParaElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLParaElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f52c-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLParaElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLParaElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLParaElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLParaElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLParaElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLParaElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLParaElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLParaElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLParaElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLParaElementVtbl;

    interface DispHTMLParaElement
    {
        CONST_VTBL struct DispHTMLParaElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLParaElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLParaElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLParaElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLParaElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLParaElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLParaElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLParaElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLParaElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLParaElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f26f-98b5-11cf-bb82-00aa00bdce0b")
HTMLParaElement;
#endif

#ifndef __IHTMLElementCollection2_INTERFACE_DEFINED__
#define __IHTMLElementCollection2_INTERFACE_DEFINED__

/* interface IHTMLElementCollection2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLElementCollection2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f5ee-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLElementCollection2 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE urns( 
            /* [in] */ VARIANT urn,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLElementCollection2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLElementCollection2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLElementCollection2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLElementCollection2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLElementCollection2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLElementCollection2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLElementCollection2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLElementCollection2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *urns )( 
            __RPC__in IHTMLElementCollection2 * This,
            /* [in] */ VARIANT urn,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp);
        
        END_INTERFACE
    } IHTMLElementCollection2Vtbl;

    interface IHTMLElementCollection2
    {
        CONST_VTBL struct IHTMLElementCollection2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLElementCollection2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLElementCollection2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLElementCollection2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLElementCollection2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLElementCollection2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLElementCollection2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLElementCollection2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLElementCollection2_urns(This,urn,pdisp)	\
    ( (This)->lpVtbl -> urns(This,urn,pdisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLElementCollection2_INTERFACE_DEFINED__ */


#ifndef __IHTMLElementCollection3_INTERFACE_DEFINED__
#define __IHTMLElementCollection3_INTERFACE_DEFINED__

/* interface IHTMLElementCollection3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLElementCollection3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f835-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLElementCollection3 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE namedItem( 
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLElementCollection3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLElementCollection3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLElementCollection3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLElementCollection3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLElementCollection3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLElementCollection3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLElementCollection3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLElementCollection3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *namedItem )( 
            __RPC__in IHTMLElementCollection3 * This,
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp);
        
        END_INTERFACE
    } IHTMLElementCollection3Vtbl;

    interface IHTMLElementCollection3
    {
        CONST_VTBL struct IHTMLElementCollection3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLElementCollection3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLElementCollection3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLElementCollection3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLElementCollection3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLElementCollection3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLElementCollection3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLElementCollection3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLElementCollection3_namedItem(This,name,pdisp)	\
    ( (This)->lpVtbl -> namedItem(This,name,pdisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLElementCollection3_INTERFACE_DEFINED__ */


#ifndef __IHTMLElementCollection4_INTERFACE_DEFINED__
#define __IHTMLElementCollection4_INTERFACE_DEFINED__

/* interface IHTMLElementCollection4 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLElementCollection4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510425-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLElementCollection4 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement2 **pNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE namedItem( 
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement2 **pNode) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLElementCollection4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLElementCollection4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLElementCollection4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLElementCollection4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLElementCollection4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLElementCollection4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLElementCollection4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLElementCollection4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLElementCollection4 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLElementCollection4 * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement2 **pNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *namedItem )( 
            __RPC__in IHTMLElementCollection4 * This,
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement2 **pNode);
        
        END_INTERFACE
    } IHTMLElementCollection4Vtbl;

    interface IHTMLElementCollection4
    {
        CONST_VTBL struct IHTMLElementCollection4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLElementCollection4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLElementCollection4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLElementCollection4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLElementCollection4_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLElementCollection4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLElementCollection4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLElementCollection4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLElementCollection4_get_length(This,p)	\
    ( (This)->lpVtbl -> get_length(This,p) ) 

#define IHTMLElementCollection4_item(This,index,pNode)	\
    ( (This)->lpVtbl -> item(This,index,pNode) ) 

#define IHTMLElementCollection4_namedItem(This,name,pNode)	\
    ( (This)->lpVtbl -> namedItem(This,name,pNode) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLElementCollection4_INTERFACE_DEFINED__ */


#ifndef __DispHTMLElementCollection_DISPINTERFACE_DEFINED__
#define __DispHTMLElementCollection_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLElementCollection */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLElementCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f56b-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLElementCollection : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLElementCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLElementCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLElementCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLElementCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLElementCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLElementCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLElementCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLElementCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLElementCollectionVtbl;

    interface DispHTMLElementCollection
    {
        CONST_VTBL struct DispHTMLElementCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLElementCollection_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLElementCollection;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f4cb-98b5-11cf-bb82-00aa00bdce0b")
HTMLElementCollection;
#endif

#ifndef __IHTMLHeaderElement_INTERFACE_DEFINED__
#define __IHTMLHeaderElement_INTERFACE_DEFINED__

/* interface IHTMLHeaderElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLHeaderElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f1f6-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLHeaderElement : public IDispatch
    {
    public:
        virtual /* [bindable][id][propput] */ HRESULT STDMETHODCALLTYPE put_align( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_align( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLHeaderElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLHeaderElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLHeaderElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLHeaderElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLHeaderElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLHeaderElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLHeaderElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLHeaderElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_align )( 
            __RPC__in IHTMLHeaderElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_align )( 
            __RPC__in IHTMLHeaderElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLHeaderElementVtbl;

    interface IHTMLHeaderElement
    {
        CONST_VTBL struct IHTMLHeaderElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLHeaderElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLHeaderElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLHeaderElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLHeaderElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLHeaderElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLHeaderElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLHeaderElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLHeaderElement_put_align(This,v)	\
    ( (This)->lpVtbl -> put_align(This,v) ) 

#define IHTMLHeaderElement_get_align(This,p)	\
    ( (This)->lpVtbl -> get_align(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLHeaderElement_INTERFACE_DEFINED__ */


#ifndef __DispHTMLHeaderElement_DISPINTERFACE_DEFINED__
#define __DispHTMLHeaderElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLHeaderElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLHeaderElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f515-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLHeaderElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLHeaderElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLHeaderElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLHeaderElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLHeaderElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLHeaderElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLHeaderElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLHeaderElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLHeaderElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLHeaderElementVtbl;

    interface DispHTMLHeaderElement
    {
        CONST_VTBL struct DispHTMLHeaderElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLHeaderElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLHeaderElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLHeaderElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLHeaderElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLHeaderElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLHeaderElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLHeaderElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLHeaderElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLHeaderElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f27a-98b5-11cf-bb82-00aa00bdce0b")
HTMLHeaderElement;
#endif

#ifndef __HTMLSelectElementEvents2_DISPINTERFACE_DEFINED__
#define __HTMLSelectElementEvents2_DISPINTERFACE_DEFINED__

/* dispinterface HTMLSelectElementEvents2 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLSelectElementEvents2;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f622-98b5-11cf-bb82-00aa00bdce0b")
    HTMLSelectElementEvents2 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLSelectElementEvents2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLSelectElementEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLSelectElementEvents2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLSelectElementEvents2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLSelectElementEvents2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLSelectElementEvents2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLSelectElementEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLSelectElementEvents2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLSelectElementEvents2Vtbl;

    interface HTMLSelectElementEvents2
    {
        CONST_VTBL struct HTMLSelectElementEvents2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLSelectElementEvents2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLSelectElementEvents2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLSelectElementEvents2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLSelectElementEvents2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLSelectElementEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLSelectElementEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLSelectElementEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLSelectElementEvents2_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLSelectElementEvents_DISPINTERFACE_DEFINED__
#define __HTMLSelectElementEvents_DISPINTERFACE_DEFINED__

/* dispinterface HTMLSelectElementEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLSelectElementEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f302-98b5-11cf-bb82-00aa00bdce0b")
    HTMLSelectElementEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLSelectElementEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLSelectElementEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLSelectElementEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLSelectElementEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLSelectElementEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLSelectElementEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLSelectElementEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLSelectElementEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLSelectElementEventsVtbl;

    interface HTMLSelectElementEvents
    {
        CONST_VTBL struct HTMLSelectElementEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLSelectElementEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLSelectElementEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLSelectElementEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLSelectElementEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLSelectElementEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLSelectElementEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLSelectElementEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLSelectElementEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IHTMLOptionElement_INTERFACE_DEFINED__
#define __IHTMLOptionElement_INTERFACE_DEFINED__

/* interface IHTMLOptionElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLOptionElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f211-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLOptionElement : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_selected( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_selected( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_value( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_value( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_defaultSelected( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_defaultSelected( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_index( 
            /* [in] */ LONG v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_index( 
            /* [out][retval] */ __RPC__out LONG *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_text( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_text( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_form( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLOptionElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLOptionElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLOptionElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLOptionElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLOptionElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLOptionElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLOptionElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLOptionElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_selected )( 
            __RPC__in IHTMLOptionElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_selected )( 
            __RPC__in IHTMLOptionElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_value )( 
            __RPC__in IHTMLOptionElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 
            __RPC__in IHTMLOptionElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_defaultSelected )( 
            __RPC__in IHTMLOptionElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_defaultSelected )( 
            __RPC__in IHTMLOptionElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_index )( 
            __RPC__in IHTMLOptionElement * This,
            /* [in] */ LONG v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_index )( 
            __RPC__in IHTMLOptionElement * This,
            /* [out][retval] */ __RPC__out LONG *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_text )( 
            __RPC__in IHTMLOptionElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )( 
            __RPC__in IHTMLOptionElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_form )( 
            __RPC__in IHTMLOptionElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p);
        
        END_INTERFACE
    } IHTMLOptionElementVtbl;

    interface IHTMLOptionElement
    {
        CONST_VTBL struct IHTMLOptionElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLOptionElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLSelectElementEx_INTERFACE_DEFINED__
#define __IHTMLSelectElementEx_INTERFACE_DEFINED__

/* interface IHTMLSelectElementEx */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IHTMLSelectElementEx;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f2d1-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLSelectElementEx : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE ShowDropdown( 
            /* [in] */ BOOL fShow) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetSelectExFlags( 
            /* [in] */ DWORD lFlags) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetSelectExFlags( 
            /* [out][retval] */ __RPC__out DWORD *pFlags) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetDropdownOpen( 
            /* [out][retval] */ __RPC__out BOOL *pfOpen) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLSelectElementExVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLSelectElementEx * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLSelectElementEx * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLSelectElementEx * This);
        
        HRESULT ( STDMETHODCALLTYPE *ShowDropdown )( 
            __RPC__in IHTMLSelectElementEx * This,
            /* [in] */ BOOL fShow);
        
        HRESULT ( STDMETHODCALLTYPE *SetSelectExFlags )( 
            __RPC__in IHTMLSelectElementEx * This,
            /* [in] */ DWORD lFlags);
        
        HRESULT ( STDMETHODCALLTYPE *GetSelectExFlags )( 
            __RPC__in IHTMLSelectElementEx * This,
            /* [out][retval] */ __RPC__out DWORD *pFlags);
        
        HRESULT ( STDMETHODCALLTYPE *GetDropdownOpen )( 
            __RPC__in IHTMLSelectElementEx * This,
            /* [out][retval] */ __RPC__out BOOL *pfOpen);
        
        END_INTERFACE
    } IHTMLSelectElementExVtbl;

    interface IHTMLSelectElementEx
    {
        CONST_VTBL struct IHTMLSelectElementExVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLSelectElementEx_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLSelectElementEx_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLSelectElementEx_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLSelectElementEx_ShowDropdown(This,fShow)	\
    ( (This)->lpVtbl -> ShowDropdown(This,fShow) ) 

#define IHTMLSelectElementEx_SetSelectExFlags(This,lFlags)	\
    ( (This)->lpVtbl -> SetSelectExFlags(This,lFlags) ) 

#define IHTMLSelectElementEx_GetSelectExFlags(This,pFlags)	\
    ( (This)->lpVtbl -> GetSelectExFlags(This,pFlags) ) 

#define IHTMLSelectElementEx_GetDropdownOpen(This,pfOpen)	\
    ( (This)->lpVtbl -> GetDropdownOpen(This,pfOpen) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLSelectElementEx_INTERFACE_DEFINED__ */


#ifndef __IHTMLSelectElement_INTERFACE_DEFINED__
#define __IHTMLSelectElement_INTERFACE_DEFINED__

/* interface IHTMLSelectElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLSelectElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f244-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLSelectElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_size( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_size( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_multiple( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_multiple( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_name( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_options( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onchange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onchange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_selectedIndex( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_selectedIndex( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_value( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_value( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_disabled( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_disabled( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_form( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE add( 
            /* [in] */ __RPC__in_opt IHTMLElement *element,
            /* [in][optional] */ VARIANT before) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE remove( 
            /* [in][defaultvalue] */ long index = -1) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_length( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__newEnum( 
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in][optional] */ VARIANT name,
            /* [in][optional] */ VARIANT index,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE tags( 
            /* [in] */ VARIANT tagName,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLSelectElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLSelectElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLSelectElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLSelectElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLSelectElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLSelectElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLSelectElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLSelectElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_size )( 
            __RPC__in IHTMLSelectElement * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_size )( 
            __RPC__in IHTMLSelectElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_multiple )( 
            __RPC__in IHTMLSelectElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_multiple )( 
            __RPC__in IHTMLSelectElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            __RPC__in IHTMLSelectElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLSelectElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_options )( 
            __RPC__in IHTMLSelectElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onchange )( 
            __RPC__in IHTMLSelectElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onchange )( 
            __RPC__in IHTMLSelectElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_selectedIndex )( 
            __RPC__in IHTMLSelectElement * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedIndex )( 
            __RPC__in IHTMLSelectElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLSelectElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_value )( 
            __RPC__in IHTMLSelectElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 
            __RPC__in IHTMLSelectElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_disabled )( 
            __RPC__in IHTMLSelectElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_disabled )( 
            __RPC__in IHTMLSelectElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_form )( 
            __RPC__in IHTMLSelectElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *add )( 
            __RPC__in IHTMLSelectElement * This,
            /* [in] */ __RPC__in_opt IHTMLElement *element,
            /* [in][optional] */ VARIANT before);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *remove )( 
            __RPC__in IHTMLSelectElement * This,
            /* [in][defaultvalue] */ long index);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_length )( 
            __RPC__in IHTMLSelectElement * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLSelectElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__newEnum )( 
            __RPC__in IHTMLSelectElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLSelectElement * This,
            /* [in][optional] */ VARIANT name,
            /* [in][optional] */ VARIANT index,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *tags )( 
            __RPC__in IHTMLSelectElement * This,
            /* [in] */ VARIANT tagName,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp);
        
        END_INTERFACE
    } IHTMLSelectElementVtbl;

    interface IHTMLSelectElement
    {
        CONST_VTBL struct IHTMLSelectElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLSelectElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLSelectElement2_INTERFACE_DEFINED__
#define __IHTMLSelectElement2_INTERFACE_DEFINED__

/* interface IHTMLSelectElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLSelectElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f5ed-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLSelectElement2 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE urns( 
            /* [in] */ VARIANT urn,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLSelectElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLSelectElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLSelectElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLSelectElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLSelectElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLSelectElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLSelectElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLSelectElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *urns )( 
            __RPC__in IHTMLSelectElement2 * This,
            /* [in] */ VARIANT urn,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp);
        
        END_INTERFACE
    } IHTMLSelectElement2Vtbl;

    interface IHTMLSelectElement2
    {
        CONST_VTBL struct IHTMLSelectElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLSelectElement2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLSelectElement2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLSelectElement2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLSelectElement2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLSelectElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLSelectElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLSelectElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLSelectElement2_urns(This,urn,pdisp)	\
    ( (This)->lpVtbl -> urns(This,urn,pdisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLSelectElement2_INTERFACE_DEFINED__ */


#ifndef __IHTMLSelectElement4_INTERFACE_DEFINED__
#define __IHTMLSelectElement4_INTERFACE_DEFINED__

/* interface IHTMLSelectElement4 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLSelectElement4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f838-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLSelectElement4 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE namedItem( 
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLSelectElement4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLSelectElement4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLSelectElement4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLSelectElement4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLSelectElement4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLSelectElement4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLSelectElement4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLSelectElement4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *namedItem )( 
            __RPC__in IHTMLSelectElement4 * This,
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp);
        
        END_INTERFACE
    } IHTMLSelectElement4Vtbl;

    interface IHTMLSelectElement4
    {
        CONST_VTBL struct IHTMLSelectElement4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLSelectElement4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLSelectElement4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLSelectElement4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLSelectElement4_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLSelectElement4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLSelectElement4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLSelectElement4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLSelectElement4_namedItem(This,name,pdisp)	\
    ( (This)->lpVtbl -> namedItem(This,name,pdisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLSelectElement4_INTERFACE_DEFINED__ */


#ifndef __IHTMLSelectElement5_INTERFACE_DEFINED__
#define __IHTMLSelectElement5_INTERFACE_DEFINED__

/* interface IHTMLSelectElement5 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLSelectElement5;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051049d-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLSelectElement5 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE add( 
            /* [in] */ __RPC__in_opt IHTMLOptionElement *pElem,
            /* [in] */ __RPC__in VARIANT *pvarBefore) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLSelectElement5Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLSelectElement5 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLSelectElement5 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLSelectElement5 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLSelectElement5 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLSelectElement5 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLSelectElement5 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLSelectElement5 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *add )( 
            __RPC__in IHTMLSelectElement5 * This,
            /* [in] */ __RPC__in_opt IHTMLOptionElement *pElem,
            /* [in] */ __RPC__in VARIANT *pvarBefore);
        
        END_INTERFACE
    } IHTMLSelectElement5Vtbl;

    interface IHTMLSelectElement5
    {
        CONST_VTBL struct IHTMLSelectElement5Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLSelectElement5_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLSelectElement5_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLSelectElement5_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLSelectElement5_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLSelectElement5_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLSelectElement5_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLSelectElement5_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLSelectElement5_add(This,pElem,pvarBefore)	\
    ( (This)->lpVtbl -> add(This,pElem,pvarBefore) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLSelectElement5_INTERFACE_DEFINED__ */


#ifndef __IHTMLSelectElement6_INTERFACE_DEFINED__
#define __IHTMLSelectElement6_INTERFACE_DEFINED__

/* interface IHTMLSelectElement6 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLSelectElement6;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510760-98b6-11cf-bb82-00aa00bdce0b")
    IHTMLSelectElement6 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE add( 
            /* [in] */ __RPC__in_opt IHTMLOptionElement *pElem,
            /* [in] */ __RPC__in VARIANT *pvarBefore) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_value( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_value( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLSelectElement6Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLSelectElement6 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLSelectElement6 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLSelectElement6 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLSelectElement6 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLSelectElement6 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLSelectElement6 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLSelectElement6 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *add )( 
            __RPC__in IHTMLSelectElement6 * This,
            /* [in] */ __RPC__in_opt IHTMLOptionElement *pElem,
            /* [in] */ __RPC__in VARIANT *pvarBefore);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_value )( 
            __RPC__in IHTMLSelectElement6 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 
            __RPC__in IHTMLSelectElement6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLSelectElement6Vtbl;

    interface IHTMLSelectElement6
    {
        CONST_VTBL struct IHTMLSelectElement6Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLSelectElement6_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLSelectElement6_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLSelectElement6_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLSelectElement6_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLSelectElement6_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLSelectElement6_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLSelectElement6_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLSelectElement6_add(This,pElem,pvarBefore)	\
    ( (This)->lpVtbl -> add(This,pElem,pvarBefore) ) 

#define IHTMLSelectElement6_put_value(This,v)	\
    ( (This)->lpVtbl -> put_value(This,v) ) 

#define IHTMLSelectElement6_get_value(This,p)	\
    ( (This)->lpVtbl -> get_value(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLSelectElement6_INTERFACE_DEFINED__ */


#ifndef __DispHTMLSelectElement_DISPINTERFACE_DEFINED__
#define __DispHTMLSelectElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLSelectElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLSelectElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f531-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLSelectElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLSelectElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLSelectElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLSelectElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLSelectElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLSelectElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLSelectElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLSelectElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLSelectElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLSelectElementVtbl;

    interface DispHTMLSelectElement
    {
        CONST_VTBL struct DispHTMLSelectElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLSelectElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLSelectElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f245-98b5-11cf-bb82-00aa00bdce0b")
HTMLSelectElement;
#endif

#ifndef __DispHTMLWndSelectElement_DISPINTERFACE_DEFINED__
#define __DispHTMLWndSelectElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLWndSelectElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLWndSelectElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f597-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLWndSelectElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLWndSelectElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLWndSelectElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLWndSelectElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLWndSelectElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLWndSelectElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLWndSelectElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLWndSelectElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLWndSelectElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLWndSelectElementVtbl;

    interface DispHTMLWndSelectElement
    {
        CONST_VTBL struct DispHTMLWndSelectElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLWndSelectElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLWndSelectElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLWndSelectElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLWndSelectElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLWndSelectElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLWndSelectElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLWndSelectElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLWndSelectElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLWndSelectElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f2cf-98b5-11cf-bb82-00aa00bdce0b")
HTMLWndSelectElement;
#endif

#ifndef __IHTMLSelectionObject_INTERFACE_DEFINED__
#define __IHTMLSelectionObject_INTERFACE_DEFINED__

/* interface IHTMLSelectionObject */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLSelectionObject;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f25A-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLSelectionObject : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createRange( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **range) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE empty( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE clear( void) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLSelectionObjectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLSelectionObject * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLSelectionObject * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLSelectionObject * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLSelectionObject * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLSelectionObject * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLSelectionObject * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLSelectionObject * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createRange )( 
            __RPC__in IHTMLSelectionObject * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **range);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *empty )( 
            __RPC__in IHTMLSelectionObject * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *clear )( 
            __RPC__in IHTMLSelectionObject * This);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLSelectionObject * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLSelectionObjectVtbl;

    interface IHTMLSelectionObject
    {
        CONST_VTBL struct IHTMLSelectionObjectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLSelectionObject_INTERFACE_DEFINED__ */


#ifndef __IHTMLSelectionObject2_INTERFACE_DEFINED__
#define __IHTMLSelectionObject2_INTERFACE_DEFINED__

/* interface IHTMLSelectionObject2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLSelectionObject2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f7ec-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLSelectionObject2 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createRangeCollection( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **rangeCollection) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_typeDetail( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLSelectionObject2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLSelectionObject2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLSelectionObject2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLSelectionObject2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLSelectionObject2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLSelectionObject2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLSelectionObject2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLSelectionObject2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createRangeCollection )( 
            __RPC__in IHTMLSelectionObject2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **rangeCollection);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_typeDetail )( 
            __RPC__in IHTMLSelectionObject2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLSelectionObject2Vtbl;

    interface IHTMLSelectionObject2
    {
        CONST_VTBL struct IHTMLSelectionObject2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLSelectionObject2_createRangeCollection(This,rangeCollection)	\
    ( (This)->lpVtbl -> createRangeCollection(This,rangeCollection) ) 

#define IHTMLSelectionObject2_get_typeDetail(This,p)	\
    ( (This)->lpVtbl -> get_typeDetail(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLSelectionObject2_INTERFACE_DEFINED__ */


#ifndef __IHTMLSelection_INTERFACE_DEFINED__
#define __IHTMLSelection_INTERFACE_DEFINED__

/* interface IHTMLSelection */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLSelection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104b6-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLSelection : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_anchorNode( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_anchorOffset( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_focusNode( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_focusOffset( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_isCollapsed( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE collapse( 
            /* [in] */ __RPC__in_opt IDispatch *parentNode,
            /* [in] */ long offfset) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE collapseToStart( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE collapseToEnd( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE selectAllChildren( 
            /* [in] */ __RPC__in_opt IDispatch *parentNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE deleteFromDocument( void) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_rangeCount( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getRangeAt( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMRange **ppRange) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE addRange( 
            /* [in] */ __RPC__in_opt IDispatch *range) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeRange( 
            /* [in] */ __RPC__in_opt IDispatch *range) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeAllRanges( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE toString( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pSelectionString) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLSelectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLSelection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLSelection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLSelection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLSelection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLSelection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLSelection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLSelection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_anchorNode )( 
            __RPC__in IHTMLSelection * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_anchorOffset )( 
            __RPC__in IHTMLSelection * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_focusNode )( 
            __RPC__in IHTMLSelection * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_focusOffset )( 
            __RPC__in IHTMLSelection * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCollapsed )( 
            __RPC__in IHTMLSelection * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *collapse )( 
            __RPC__in IHTMLSelection * This,
            /* [in] */ __RPC__in_opt IDispatch *parentNode,
            /* [in] */ long offfset);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *collapseToStart )( 
            __RPC__in IHTMLSelection * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *collapseToEnd )( 
            __RPC__in IHTMLSelection * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *selectAllChildren )( 
            __RPC__in IHTMLSelection * This,
            /* [in] */ __RPC__in_opt IDispatch *parentNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *deleteFromDocument )( 
            __RPC__in IHTMLSelection * This);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rangeCount )( 
            __RPC__in IHTMLSelection * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getRangeAt )( 
            __RPC__in IHTMLSelection * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMRange **ppRange);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *addRange )( 
            __RPC__in IHTMLSelection * This,
            /* [in] */ __RPC__in_opt IDispatch *range);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeRange )( 
            __RPC__in IHTMLSelection * This,
            /* [in] */ __RPC__in_opt IDispatch *range);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeAllRanges )( 
            __RPC__in IHTMLSelection * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *toString )( 
            __RPC__in IHTMLSelection * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pSelectionString);
        
        END_INTERFACE
    } IHTMLSelectionVtbl;

    interface IHTMLSelection
    {
        CONST_VTBL struct IHTMLSelectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLSelection_get_anchorNode(This,p)	\
    ( (This)->lpVtbl -> get_anchorNode(This,p) ) 

#define IHTMLSelection_get_anchorOffset(This,p)	\
    ( (This)->lpVtbl -> get_anchorOffset(This,p) ) 

#define IHTMLSelection_get_focusNode(This,p)	\
    ( (This)->lpVtbl -> get_focusNode(This,p) ) 

#define IHTMLSelection_get_focusOffset(This,p)	\
    ( (This)->lpVtbl -> get_focusOffset(This,p) ) 

#define IHTMLSelection_get_isCollapsed(This,p)	\
    ( (This)->lpVtbl -> get_isCollapsed(This,p) ) 

#define IHTMLSelection_collapse(This,parentNode,offfset)	\
    ( (This)->lpVtbl -> collapse(This,parentNode,offfset) ) 

#define IHTMLSelection_collapseToStart(This)	\
    ( (This)->lpVtbl -> collapseToStart(This) ) 

#define IHTMLSelection_collapseToEnd(This)	\
    ( (This)->lpVtbl -> collapseToEnd(This) ) 

#define IHTMLSelection_selectAllChildren(This,parentNode)	\
    ( (This)->lpVtbl -> selectAllChildren(This,parentNode) ) 

#define IHTMLSelection_deleteFromDocument(This)	\
    ( (This)->lpVtbl -> deleteFromDocument(This) ) 

#define IHTMLSelection_get_rangeCount(This,p)	\
    ( (This)->lpVtbl -> get_rangeCount(This,p) ) 

#define IHTMLSelection_getRangeAt(This,index,ppRange)	\
    ( (This)->lpVtbl -> getRangeAt(This,index,ppRange) ) 

#define IHTMLSelection_addRange(This,range)	\
    ( (This)->lpVtbl -> addRange(This,range) ) 

#define IHTMLSelection_removeRange(This,range)	\
    ( (This)->lpVtbl -> removeRange(This,range) ) 

#define IHTMLSelection_removeAllRanges(This)	\
    ( (This)->lpVtbl -> removeAllRanges(This) ) 

#define IHTMLSelection_toString(This,pSelectionString)	\
    ( (This)->lpVtbl -> toString(This,pSelectionString) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLSelection_INTERFACE_DEFINED__ */


#ifndef __IHTMLOptionElement3_INTERFACE_DEFINED__
#define __IHTMLOptionElement3_INTERFACE_DEFINED__

/* interface IHTMLOptionElement3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLOptionElement3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f820-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLOptionElement3 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_label( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_label( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLOptionElement3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLOptionElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLOptionElement3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLOptionElement3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLOptionElement3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLOptionElement3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLOptionElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLOptionElement3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_label )( 
            __RPC__in IHTMLOptionElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_label )( 
            __RPC__in IHTMLOptionElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLOptionElement3Vtbl;

    interface IHTMLOptionElement3
    {
        CONST_VTBL struct IHTMLOptionElement3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLOptionElement3_put_label(This,v)	\
    ( (This)->lpVtbl -> put_label(This,v) ) 

#define IHTMLOptionElement3_get_label(This,p)	\
    ( (This)->lpVtbl -> get_label(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLOptionElement3_INTERFACE_DEFINED__ */


#ifndef __IHTMLOptionElement4_INTERFACE_DEFINED__
#define __IHTMLOptionElement4_INTERFACE_DEFINED__

/* interface IHTMLOptionElement4 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLOptionElement4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305107b4-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLOptionElement4 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_value( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_value( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLOptionElement4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLOptionElement4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLOptionElement4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLOptionElement4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLOptionElement4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLOptionElement4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLOptionElement4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLOptionElement4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_value )( 
            __RPC__in IHTMLOptionElement4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 
            __RPC__in IHTMLOptionElement4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLOptionElement4Vtbl;

    interface IHTMLOptionElement4
    {
        CONST_VTBL struct IHTMLOptionElement4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLOptionElement4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLOptionElement4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLOptionElement4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLOptionElement4_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLOptionElement4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLOptionElement4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLOptionElement4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLOptionElement4_put_value(This,v)	\
    ( (This)->lpVtbl -> put_value(This,v) ) 

#define IHTMLOptionElement4_get_value(This,p)	\
    ( (This)->lpVtbl -> get_value(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLOptionElement4_INTERFACE_DEFINED__ */


#ifndef __IHTMLOptionElementFactory_INTERFACE_DEFINED__
#define __IHTMLOptionElementFactory_INTERFACE_DEFINED__

/* interface IHTMLOptionElementFactory */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLOptionElementFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f38c-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLOptionElementFactory : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE create( 
            /* [in][optional] */ VARIANT text,
            /* [in][optional] */ VARIANT value,
            /* [in][optional] */ VARIANT defaultselected,
            /* [in][optional] */ VARIANT selected,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLOptionElement **__MIDL__IHTMLOptionElementFactory0000) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLOptionElementFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLOptionElementFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLOptionElementFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLOptionElementFactory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLOptionElementFactory * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLOptionElementFactory * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLOptionElementFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLOptionElementFactory * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *create )( 
            __RPC__in IHTMLOptionElementFactory * This,
            /* [in][optional] */ VARIANT text,
            /* [in][optional] */ VARIANT value,
            /* [in][optional] */ VARIANT defaultselected,
            /* [in][optional] */ VARIANT selected,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLOptionElement **__MIDL__IHTMLOptionElementFactory0000);
        
        END_INTERFACE
    } IHTMLOptionElementFactoryVtbl;

    interface IHTMLOptionElementFactory
    {
        CONST_VTBL struct IHTMLOptionElementFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLOptionElementFactory_create(This,text,value,defaultselected,selected,__MIDL__IHTMLOptionElementFactory0000)	\
    ( (This)->lpVtbl -> create(This,text,value,defaultselected,selected,__MIDL__IHTMLOptionElementFactory0000) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLOptionElementFactory_INTERFACE_DEFINED__ */


#ifndef __DispHTMLOptionElement_DISPINTERFACE_DEFINED__
#define __DispHTMLOptionElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLOptionElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLOptionElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f52b-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLOptionElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLOptionElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLOptionElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLOptionElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLOptionElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLOptionElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLOptionElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLOptionElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLOptionElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLOptionElementVtbl;

    interface DispHTMLOptionElement
    {
        CONST_VTBL struct DispHTMLOptionElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLOptionElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLOptionElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f24d-98b5-11cf-bb82-00aa00bdce0b")
HTMLOptionElement;
#endif

EXTERN_C const CLSID CLSID_HTMLOptionElementFactory;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f38d-98b5-11cf-bb82-00aa00bdce0b")
HTMLOptionElementFactory;
#endif

#ifndef __DispHTMLWndOptionElement_DISPINTERFACE_DEFINED__
#define __DispHTMLWndOptionElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLWndOptionElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLWndOptionElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f598-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLWndOptionElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLWndOptionElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLWndOptionElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLWndOptionElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLWndOptionElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLWndOptionElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLWndOptionElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLWndOptionElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLWndOptionElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLWndOptionElementVtbl;

    interface DispHTMLWndOptionElement
    {
        CONST_VTBL struct DispHTMLWndOptionElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLWndOptionElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLWndOptionElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLWndOptionElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLWndOptionElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLWndOptionElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLWndOptionElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLWndOptionElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLWndOptionElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLWndOptionElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f2d0-98b5-11cf-bb82-00aa00bdce0b")
HTMLWndOptionElement;
#endif

#ifndef __HTMLButtonElementEvents2_DISPINTERFACE_DEFINED__
#define __HTMLButtonElementEvents2_DISPINTERFACE_DEFINED__

/* dispinterface HTMLButtonElementEvents2 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLButtonElementEvents2;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f617-98b5-11cf-bb82-00aa00bdce0b")
    HTMLButtonElementEvents2 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLButtonElementEvents2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLButtonElementEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLButtonElementEvents2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLButtonElementEvents2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLButtonElementEvents2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLButtonElementEvents2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLButtonElementEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLButtonElementEvents2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLButtonElementEvents2Vtbl;

    interface HTMLButtonElementEvents2
    {
        CONST_VTBL struct HTMLButtonElementEvents2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLButtonElementEvents2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLButtonElementEvents2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLButtonElementEvents2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLButtonElementEvents2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLButtonElementEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLButtonElementEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLButtonElementEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLButtonElementEvents2_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLButtonElementEvents_DISPINTERFACE_DEFINED__
#define __HTMLButtonElementEvents_DISPINTERFACE_DEFINED__

/* dispinterface HTMLButtonElementEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLButtonElementEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f2b3-98b5-11cf-bb82-00aa00bdce0b")
    HTMLButtonElementEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLButtonElementEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLButtonElementEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLButtonElementEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLButtonElementEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLButtonElementEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLButtonElementEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLButtonElementEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLButtonElementEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLButtonElementEventsVtbl;

    interface HTMLButtonElementEvents
    {
        CONST_VTBL struct HTMLButtonElementEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLButtonElementEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLButtonElementEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLButtonElementEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLButtonElementEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLButtonElementEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLButtonElementEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLButtonElementEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLButtonElementEvents_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLInputTextElementEvents2_DISPINTERFACE_DEFINED__
#define __HTMLInputTextElementEvents2_DISPINTERFACE_DEFINED__

/* dispinterface HTMLInputTextElementEvents2 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLInputTextElementEvents2;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f618-98b5-11cf-bb82-00aa00bdce0b")
    HTMLInputTextElementEvents2 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLInputTextElementEvents2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLInputTextElementEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLInputTextElementEvents2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLInputTextElementEvents2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLInputTextElementEvents2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLInputTextElementEvents2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLInputTextElementEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLInputTextElementEvents2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLInputTextElementEvents2Vtbl;

    interface HTMLInputTextElementEvents2
    {
        CONST_VTBL struct HTMLInputTextElementEvents2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLInputTextElementEvents2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLInputTextElementEvents2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLInputTextElementEvents2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLInputTextElementEvents2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLInputTextElementEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLInputTextElementEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLInputTextElementEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLInputTextElementEvents2_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLOptionButtonElementEvents2_DISPINTERFACE_DEFINED__
#define __HTMLOptionButtonElementEvents2_DISPINTERFACE_DEFINED__

/* dispinterface HTMLOptionButtonElementEvents2 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLOptionButtonElementEvents2;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f619-98b5-11cf-bb82-00aa00bdce0b")
    HTMLOptionButtonElementEvents2 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLOptionButtonElementEvents2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLOptionButtonElementEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLOptionButtonElementEvents2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLOptionButtonElementEvents2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLOptionButtonElementEvents2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLOptionButtonElementEvents2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLOptionButtonElementEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLOptionButtonElementEvents2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLOptionButtonElementEvents2Vtbl;

    interface HTMLOptionButtonElementEvents2
    {
        CONST_VTBL struct HTMLOptionButtonElementEvents2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLOptionButtonElementEvents2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLOptionButtonElementEvents2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLOptionButtonElementEvents2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLOptionButtonElementEvents2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLOptionButtonElementEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLOptionButtonElementEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLOptionButtonElementEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLOptionButtonElementEvents2_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLInputFileElementEvents2_DISPINTERFACE_DEFINED__
#define __HTMLInputFileElementEvents2_DISPINTERFACE_DEFINED__

/* dispinterface HTMLInputFileElementEvents2 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLInputFileElementEvents2;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f61a-98b5-11cf-bb82-00aa00bdce0b")
    HTMLInputFileElementEvents2 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLInputFileElementEvents2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLInputFileElementEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLInputFileElementEvents2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLInputFileElementEvents2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLInputFileElementEvents2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLInputFileElementEvents2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLInputFileElementEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLInputFileElementEvents2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLInputFileElementEvents2Vtbl;

    interface HTMLInputFileElementEvents2
    {
        CONST_VTBL struct HTMLInputFileElementEvents2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLInputFileElementEvents2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLInputFileElementEvents2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLInputFileElementEvents2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLInputFileElementEvents2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLInputFileElementEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLInputFileElementEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLInputFileElementEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLInputFileElementEvents2_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLInputImageEvents2_DISPINTERFACE_DEFINED__
#define __HTMLInputImageEvents2_DISPINTERFACE_DEFINED__

/* dispinterface HTMLInputImageEvents2 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLInputImageEvents2;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f61b-98b5-11cf-bb82-00aa00bdce0b")
    HTMLInputImageEvents2 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLInputImageEvents2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLInputImageEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLInputImageEvents2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLInputImageEvents2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLInputImageEvents2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLInputImageEvents2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLInputImageEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLInputImageEvents2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLInputImageEvents2Vtbl;

    interface HTMLInputImageEvents2
    {
        CONST_VTBL struct HTMLInputImageEvents2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLInputImageEvents2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLInputImageEvents2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLInputImageEvents2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLInputImageEvents2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLInputImageEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLInputImageEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLInputImageEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLInputImageEvents2_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLInputTextElementEvents_DISPINTERFACE_DEFINED__
#define __HTMLInputTextElementEvents_DISPINTERFACE_DEFINED__

/* dispinterface HTMLInputTextElementEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLInputTextElementEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f2a7-98b5-11cf-bb82-00aa00bdce0b")
    HTMLInputTextElementEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLInputTextElementEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLInputTextElementEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLInputTextElementEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLInputTextElementEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLInputTextElementEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLInputTextElementEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLInputTextElementEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLInputTextElementEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLInputTextElementEventsVtbl;

    interface HTMLInputTextElementEvents
    {
        CONST_VTBL struct HTMLInputTextElementEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLInputTextElementEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLInputTextElementEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLInputTextElementEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLInputTextElementEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLInputTextElementEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLInputTextElementEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLInputTextElementEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLInputTextElementEvents_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLOptionButtonElementEvents_DISPINTERFACE_DEFINED__
#define __HTMLOptionButtonElementEvents_DISPINTERFACE_DEFINED__

/* dispinterface HTMLOptionButtonElementEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLOptionButtonElementEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f2bd-98b5-11cf-bb82-00aa00bdce0b")
    HTMLOptionButtonElementEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLOptionButtonElementEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLOptionButtonElementEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLOptionButtonElementEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLOptionButtonElementEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLOptionButtonElementEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLOptionButtonElementEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLOptionButtonElementEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLOptionButtonElementEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLOptionButtonElementEventsVtbl;

    interface HTMLOptionButtonElementEvents
    {
        CONST_VTBL struct HTMLOptionButtonElementEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLOptionButtonElementEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLOptionButtonElementEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLOptionButtonElementEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLOptionButtonElementEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLOptionButtonElementEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLOptionButtonElementEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLOptionButtonElementEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLOptionButtonElementEvents_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLInputFileElementEvents_DISPINTERFACE_DEFINED__
#define __HTMLInputFileElementEvents_DISPINTERFACE_DEFINED__

/* dispinterface HTMLInputFileElementEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLInputFileElementEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f2af-98b5-11cf-bb82-00aa00bdce0b")
    HTMLInputFileElementEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLInputFileElementEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLInputFileElementEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLInputFileElementEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLInputFileElementEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLInputFileElementEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLInputFileElementEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLInputFileElementEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLInputFileElementEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLInputFileElementEventsVtbl;

    interface HTMLInputFileElementEvents
    {
        CONST_VTBL struct HTMLInputFileElementEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLInputFileElementEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLInputFileElementEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLInputFileElementEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLInputFileElementEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLInputFileElementEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLInputFileElementEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLInputFileElementEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLInputFileElementEvents_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLInputImageEvents_DISPINTERFACE_DEFINED__
#define __HTMLInputImageEvents_DISPINTERFACE_DEFINED__

/* dispinterface HTMLInputImageEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLInputImageEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f2c3-98b5-11cf-bb82-00aa00bdce0b")
    HTMLInputImageEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLInputImageEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLInputImageEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLInputImageEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLInputImageEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLInputImageEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLInputImageEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLInputImageEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLInputImageEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLInputImageEventsVtbl;

    interface HTMLInputImageEvents
    {
        CONST_VTBL struct HTMLInputImageEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLInputImageEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLInputImageEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLInputImageEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLInputImageEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLInputImageEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLInputImageEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLInputImageEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLInputImageEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IHTMLInputElement_INTERFACE_DEFINED__
#define __IHTMLInputElement_INTERFACE_DEFINED__

/* interface IHTMLInputElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLInputElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f5d2-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLInputElement : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_type( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_value( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_value( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_name( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_status( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_status( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_disabled( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_disabled( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_form( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_size( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_size( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_maxLength( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_maxLength( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE select( void) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onchange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onchange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onselect( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onselect( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_defaultValue( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_defaultValue( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_readOnly( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_readOnly( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createTextRange( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTxtRange **range) = 0;
        
        virtual /* [bindable][id][propput] */ HRESULT STDMETHODCALLTYPE put_indeterminate( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_indeterminate( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][id][propput] */ HRESULT STDMETHODCALLTYPE put_defaultChecked( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_defaultChecked( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][id][propput] */ HRESULT STDMETHODCALLTYPE put_checked( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_checked( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_border( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_border( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_vspace( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_vspace( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_hspace( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_hspace( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_alt( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_alt( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_src( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_src( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_lowsrc( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_lowsrc( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_vrml( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_vrml( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_dynsrc( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_dynsrc( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_readyState( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_complete( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_loop( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_loop( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_align( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_align( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onload( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onload( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onerror( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onerror( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onabort( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onabort( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_width( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_height( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_start( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_start( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLInputElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLInputElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLInputElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLInputElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLInputElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_type )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_value )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_status )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_disabled )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_disabled )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_form )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_size )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_size )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_maxLength )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_maxLength )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *select )( 
            __RPC__in IHTMLInputElement * This);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onchange )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onchange )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onselect )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onselect )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_defaultValue )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_defaultValue )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_readOnly )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_readOnly )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createTextRange )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTxtRange **range);
        
        /* [bindable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_indeterminate )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_indeterminate )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_defaultChecked )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_defaultChecked )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_checked )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_checked )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_border )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_border )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_vspace )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_vspace )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_hspace )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hspace )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_alt )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_alt )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_src )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_src )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_lowsrc )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lowsrc )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_vrml )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_vrml )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_dynsrc )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dynsrc )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_readyState )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_complete )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_loop )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_loop )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_align )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_align )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onload )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onload )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onerror )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onerror )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onabort )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onabort )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_width )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_height )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_start )( 
            __RPC__in IHTMLInputElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_start )( 
            __RPC__in IHTMLInputElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLInputElementVtbl;

    interface IHTMLInputElement
    {
        CONST_VTBL struct IHTMLInputElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLInputElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLInputElement2_INTERFACE_DEFINED__
#define __IHTMLInputElement2_INTERFACE_DEFINED__

/* interface IHTMLInputElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLInputElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f821-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLInputElement2 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_accept( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_accept( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_useMap( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_useMap( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLInputElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLInputElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLInputElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLInputElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLInputElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLInputElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLInputElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLInputElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_accept )( 
            __RPC__in IHTMLInputElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_accept )( 
            __RPC__in IHTMLInputElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_useMap )( 
            __RPC__in IHTMLInputElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_useMap )( 
            __RPC__in IHTMLInputElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLInputElement2Vtbl;

    interface IHTMLInputElement2
    {
        CONST_VTBL struct IHTMLInputElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLInputElement2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLInputElement2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLInputElement2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLInputElement2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLInputElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLInputElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLInputElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLInputElement2_put_accept(This,v)	\
    ( (This)->lpVtbl -> put_accept(This,v) ) 

#define IHTMLInputElement2_get_accept(This,p)	\
    ( (This)->lpVtbl -> get_accept(This,p) ) 

#define IHTMLInputElement2_put_useMap(This,v)	\
    ( (This)->lpVtbl -> put_useMap(This,v) ) 

#define IHTMLInputElement2_get_useMap(This,p)	\
    ( (This)->lpVtbl -> get_useMap(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLInputElement2_INTERFACE_DEFINED__ */


#ifndef __IHTMLInputElement3_INTERFACE_DEFINED__
#define __IHTMLInputElement3_INTERFACE_DEFINED__

/* interface IHTMLInputElement3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLInputElement3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510435-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLInputElement3 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_src( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_src( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_lowsrc( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_lowsrc( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_vrml( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_vrml( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_dynsrc( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_dynsrc( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLInputElement3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLInputElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLInputElement3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLInputElement3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLInputElement3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLInputElement3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLInputElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLInputElement3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_src )( 
            __RPC__in IHTMLInputElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_src )( 
            __RPC__in IHTMLInputElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_lowsrc )( 
            __RPC__in IHTMLInputElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lowsrc )( 
            __RPC__in IHTMLInputElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_vrml )( 
            __RPC__in IHTMLInputElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_vrml )( 
            __RPC__in IHTMLInputElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_dynsrc )( 
            __RPC__in IHTMLInputElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dynsrc )( 
            __RPC__in IHTMLInputElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLInputElement3Vtbl;

    interface IHTMLInputElement3
    {
        CONST_VTBL struct IHTMLInputElement3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLInputElement3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLInputElement3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLInputElement3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLInputElement3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLInputElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLInputElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLInputElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLInputElement3_put_src(This,v)	\
    ( (This)->lpVtbl -> put_src(This,v) ) 

#define IHTMLInputElement3_get_src(This,p)	\
    ( (This)->lpVtbl -> get_src(This,p) ) 

#define IHTMLInputElement3_put_lowsrc(This,v)	\
    ( (This)->lpVtbl -> put_lowsrc(This,v) ) 

#define IHTMLInputElement3_get_lowsrc(This,p)	\
    ( (This)->lpVtbl -> get_lowsrc(This,p) ) 

#define IHTMLInputElement3_put_vrml(This,v)	\
    ( (This)->lpVtbl -> put_vrml(This,v) ) 

#define IHTMLInputElement3_get_vrml(This,p)	\
    ( (This)->lpVtbl -> get_vrml(This,p) ) 

#define IHTMLInputElement3_put_dynsrc(This,v)	\
    ( (This)->lpVtbl -> put_dynsrc(This,v) ) 

#define IHTMLInputElement3_get_dynsrc(This,p)	\
    ( (This)->lpVtbl -> get_dynsrc(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLInputElement3_INTERFACE_DEFINED__ */


#ifndef __IHTMLInputButtonElement_INTERFACE_DEFINED__
#define __IHTMLInputButtonElement_INTERFACE_DEFINED__

/* interface IHTMLInputButtonElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLInputButtonElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f2b2-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLInputButtonElement : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_value( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_value( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_name( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_status( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_status( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_disabled( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_disabled( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_form( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createTextRange( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTxtRange **range) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLInputButtonElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLInputButtonElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLInputButtonElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLInputButtonElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLInputButtonElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLInputButtonElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLInputButtonElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLInputButtonElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLInputButtonElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_value )( 
            __RPC__in IHTMLInputButtonElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 
            __RPC__in IHTMLInputButtonElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            __RPC__in IHTMLInputButtonElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLInputButtonElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_status )( 
            __RPC__in IHTMLInputButtonElement * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 
            __RPC__in IHTMLInputButtonElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_disabled )( 
            __RPC__in IHTMLInputButtonElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_disabled )( 
            __RPC__in IHTMLInputButtonElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_form )( 
            __RPC__in IHTMLInputButtonElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createTextRange )( 
            __RPC__in IHTMLInputButtonElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTxtRange **range);
        
        END_INTERFACE
    } IHTMLInputButtonElementVtbl;

    interface IHTMLInputButtonElement
    {
        CONST_VTBL struct IHTMLInputButtonElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLInputButtonElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLInputButtonElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLInputButtonElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLInputButtonElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLInputButtonElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLInputButtonElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLInputButtonElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLInputButtonElement_get_type(This,p)	\
    ( (This)->lpVtbl -> get_type(This,p) ) 

#define IHTMLInputButtonElement_put_value(This,v)	\
    ( (This)->lpVtbl -> put_value(This,v) ) 

#define IHTMLInputButtonElement_get_value(This,p)	\
    ( (This)->lpVtbl -> get_value(This,p) ) 

#define IHTMLInputButtonElement_put_name(This,v)	\
    ( (This)->lpVtbl -> put_name(This,v) ) 

#define IHTMLInputButtonElement_get_name(This,p)	\
    ( (This)->lpVtbl -> get_name(This,p) ) 

#define IHTMLInputButtonElement_put_status(This,v)	\
    ( (This)->lpVtbl -> put_status(This,v) ) 

#define IHTMLInputButtonElement_get_status(This,p)	\
    ( (This)->lpVtbl -> get_status(This,p) ) 

#define IHTMLInputButtonElement_put_disabled(This,v)	\
    ( (This)->lpVtbl -> put_disabled(This,v) ) 

#define IHTMLInputButtonElement_get_disabled(This,p)	\
    ( (This)->lpVtbl -> get_disabled(This,p) ) 

#define IHTMLInputButtonElement_get_form(This,p)	\
    ( (This)->lpVtbl -> get_form(This,p) ) 

#define IHTMLInputButtonElement_createTextRange(This,range)	\
    ( (This)->lpVtbl -> createTextRange(This,range) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLInputButtonElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLInputHiddenElement_INTERFACE_DEFINED__
#define __IHTMLInputHiddenElement_INTERFACE_DEFINED__

/* interface IHTMLInputHiddenElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLInputHiddenElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f2a4-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLInputHiddenElement : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_value( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_value( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_name( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_status( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_status( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_disabled( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_disabled( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_form( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createTextRange( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTxtRange **range) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLInputHiddenElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLInputHiddenElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLInputHiddenElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLInputHiddenElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLInputHiddenElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLInputHiddenElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLInputHiddenElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLInputHiddenElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLInputHiddenElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_value )( 
            __RPC__in IHTMLInputHiddenElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 
            __RPC__in IHTMLInputHiddenElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            __RPC__in IHTMLInputHiddenElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLInputHiddenElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_status )( 
            __RPC__in IHTMLInputHiddenElement * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 
            __RPC__in IHTMLInputHiddenElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_disabled )( 
            __RPC__in IHTMLInputHiddenElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_disabled )( 
            __RPC__in IHTMLInputHiddenElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_form )( 
            __RPC__in IHTMLInputHiddenElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createTextRange )( 
            __RPC__in IHTMLInputHiddenElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTxtRange **range);
        
        END_INTERFACE
    } IHTMLInputHiddenElementVtbl;

    interface IHTMLInputHiddenElement
    {
        CONST_VTBL struct IHTMLInputHiddenElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLInputHiddenElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLInputHiddenElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLInputHiddenElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLInputHiddenElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLInputHiddenElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLInputHiddenElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLInputHiddenElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLInputHiddenElement_get_type(This,p)	\
    ( (This)->lpVtbl -> get_type(This,p) ) 

#define IHTMLInputHiddenElement_put_value(This,v)	\
    ( (This)->lpVtbl -> put_value(This,v) ) 

#define IHTMLInputHiddenElement_get_value(This,p)	\
    ( (This)->lpVtbl -> get_value(This,p) ) 

#define IHTMLInputHiddenElement_put_name(This,v)	\
    ( (This)->lpVtbl -> put_name(This,v) ) 

#define IHTMLInputHiddenElement_get_name(This,p)	\
    ( (This)->lpVtbl -> get_name(This,p) ) 

#define IHTMLInputHiddenElement_put_status(This,v)	\
    ( (This)->lpVtbl -> put_status(This,v) ) 

#define IHTMLInputHiddenElement_get_status(This,p)	\
    ( (This)->lpVtbl -> get_status(This,p) ) 

#define IHTMLInputHiddenElement_put_disabled(This,v)	\
    ( (This)->lpVtbl -> put_disabled(This,v) ) 

#define IHTMLInputHiddenElement_get_disabled(This,p)	\
    ( (This)->lpVtbl -> get_disabled(This,p) ) 

#define IHTMLInputHiddenElement_get_form(This,p)	\
    ( (This)->lpVtbl -> get_form(This,p) ) 

#define IHTMLInputHiddenElement_createTextRange(This,range)	\
    ( (This)->lpVtbl -> createTextRange(This,range) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLInputHiddenElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLInputTextElement_INTERFACE_DEFINED__
#define __IHTMLInputTextElement_INTERFACE_DEFINED__

/* interface IHTMLInputTextElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLInputTextElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f2a6-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLInputTextElement : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_value( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_value( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_name( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_status( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_status( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_disabled( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_disabled( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_form( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_defaultValue( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_defaultValue( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_size( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_size( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_maxLength( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_maxLength( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE select( void) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onchange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onchange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onselect( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onselect( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_readOnly( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_readOnly( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createTextRange( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTxtRange **range) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLInputTextElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLInputTextElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLInputTextElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLInputTextElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_value )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_status )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_disabled )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_disabled )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_form )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_defaultValue )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_defaultValue )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_size )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_size )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_maxLength )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_maxLength )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *select )( 
            __RPC__in IHTMLInputTextElement * This);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onchange )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onchange )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onselect )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onselect )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_readOnly )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_readOnly )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createTextRange )( 
            __RPC__in IHTMLInputTextElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTxtRange **range);
        
        END_INTERFACE
    } IHTMLInputTextElementVtbl;

    interface IHTMLInputTextElement
    {
        CONST_VTBL struct IHTMLInputTextElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLInputTextElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLInputTextElement2_INTERFACE_DEFINED__
#define __IHTMLInputTextElement2_INTERFACE_DEFINED__

/* interface IHTMLInputTextElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLInputTextElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f2d2-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLInputTextElement2 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_selectionStart( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_selectionStart( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_selectionEnd( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_selectionEnd( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setSelectionRange( 
            /* [in] */ long start,
            /* [in] */ long end) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLInputTextElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLInputTextElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLInputTextElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLInputTextElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLInputTextElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLInputTextElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLInputTextElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLInputTextElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_selectionStart )( 
            __RPC__in IHTMLInputTextElement2 * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectionStart )( 
            __RPC__in IHTMLInputTextElement2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_selectionEnd )( 
            __RPC__in IHTMLInputTextElement2 * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectionEnd )( 
            __RPC__in IHTMLInputTextElement2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setSelectionRange )( 
            __RPC__in IHTMLInputTextElement2 * This,
            /* [in] */ long start,
            /* [in] */ long end);
        
        END_INTERFACE
    } IHTMLInputTextElement2Vtbl;

    interface IHTMLInputTextElement2
    {
        CONST_VTBL struct IHTMLInputTextElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLInputTextElement2_INTERFACE_DEFINED__ */


#ifndef __IHTMLInputFileElement_INTERFACE_DEFINED__
#define __IHTMLInputFileElement_INTERFACE_DEFINED__

/* interface IHTMLInputFileElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLInputFileElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f2ad-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLInputFileElement : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_name( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_status( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_status( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_disabled( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_disabled( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_form( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_size( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_size( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_maxLength( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_maxLength( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE select( void) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onchange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onchange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onselect( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onselect( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_value( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_value( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLInputFileElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLInputFileElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLInputFileElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLInputFileElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLInputFileElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLInputFileElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLInputFileElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLInputFileElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLInputFileElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            __RPC__in IHTMLInputFileElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLInputFileElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_status )( 
            __RPC__in IHTMLInputFileElement * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 
            __RPC__in IHTMLInputFileElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_disabled )( 
            __RPC__in IHTMLInputFileElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_disabled )( 
            __RPC__in IHTMLInputFileElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_form )( 
            __RPC__in IHTMLInputFileElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_size )( 
            __RPC__in IHTMLInputFileElement * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_size )( 
            __RPC__in IHTMLInputFileElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_maxLength )( 
            __RPC__in IHTMLInputFileElement * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_maxLength )( 
            __RPC__in IHTMLInputFileElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *select )( 
            __RPC__in IHTMLInputFileElement * This);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onchange )( 
            __RPC__in IHTMLInputFileElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onchange )( 
            __RPC__in IHTMLInputFileElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onselect )( 
            __RPC__in IHTMLInputFileElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onselect )( 
            __RPC__in IHTMLInputFileElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_value )( 
            __RPC__in IHTMLInputFileElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 
            __RPC__in IHTMLInputFileElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLInputFileElementVtbl;

    interface IHTMLInputFileElement
    {
        CONST_VTBL struct IHTMLInputFileElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLInputFileElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLInputFileElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLInputFileElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLInputFileElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLInputFileElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLInputFileElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLInputFileElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLInputFileElement_get_type(This,p)	\
    ( (This)->lpVtbl -> get_type(This,p) ) 

#define IHTMLInputFileElement_put_name(This,v)	\
    ( (This)->lpVtbl -> put_name(This,v) ) 

#define IHTMLInputFileElement_get_name(This,p)	\
    ( (This)->lpVtbl -> get_name(This,p) ) 

#define IHTMLInputFileElement_put_status(This,v)	\
    ( (This)->lpVtbl -> put_status(This,v) ) 

#define IHTMLInputFileElement_get_status(This,p)	\
    ( (This)->lpVtbl -> get_status(This,p) ) 

#define IHTMLInputFileElement_put_disabled(This,v)	\
    ( (This)->lpVtbl -> put_disabled(This,v) ) 

#define IHTMLInputFileElement_get_disabled(This,p)	\
    ( (This)->lpVtbl -> get_disabled(This,p) ) 

#define IHTMLInputFileElement_get_form(This,p)	\
    ( (This)->lpVtbl -> get_form(This,p) ) 

#define IHTMLInputFileElement_put_size(This,v)	\
    ( (This)->lpVtbl -> put_size(This,v) ) 

#define IHTMLInputFileElement_get_size(This,p)	\
    ( (This)->lpVtbl -> get_size(This,p) ) 

#define IHTMLInputFileElement_put_maxLength(This,v)	\
    ( (This)->lpVtbl -> put_maxLength(This,v) ) 

#define IHTMLInputFileElement_get_maxLength(This,p)	\
    ( (This)->lpVtbl -> get_maxLength(This,p) ) 

#define IHTMLInputFileElement_select(This)	\
    ( (This)->lpVtbl -> select(This) ) 

#define IHTMLInputFileElement_put_onchange(This,v)	\
    ( (This)->lpVtbl -> put_onchange(This,v) ) 

#define IHTMLInputFileElement_get_onchange(This,p)	\
    ( (This)->lpVtbl -> get_onchange(This,p) ) 

#define IHTMLInputFileElement_put_onselect(This,v)	\
    ( (This)->lpVtbl -> put_onselect(This,v) ) 

#define IHTMLInputFileElement_get_onselect(This,p)	\
    ( (This)->lpVtbl -> get_onselect(This,p) ) 

#define IHTMLInputFileElement_put_value(This,v)	\
    ( (This)->lpVtbl -> put_value(This,v) ) 

#define IHTMLInputFileElement_get_value(This,p)	\
    ( (This)->lpVtbl -> get_value(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLInputFileElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLOptionButtonElement_INTERFACE_DEFINED__
#define __IHTMLOptionButtonElement_INTERFACE_DEFINED__

/* interface IHTMLOptionButtonElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLOptionButtonElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f2bc-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLOptionButtonElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_value( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_value( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_name( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][id][propput] */ HRESULT STDMETHODCALLTYPE put_checked( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_checked( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][id][propput] */ HRESULT STDMETHODCALLTYPE put_defaultChecked( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_defaultChecked( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onchange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onchange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_disabled( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_disabled( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_status( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_status( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][id][propput] */ HRESULT STDMETHODCALLTYPE put_indeterminate( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_indeterminate( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_form( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLOptionButtonElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLOptionButtonElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLOptionButtonElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLOptionButtonElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLOptionButtonElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLOptionButtonElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLOptionButtonElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLOptionButtonElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_value )( 
            __RPC__in IHTMLOptionButtonElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 
            __RPC__in IHTMLOptionButtonElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLOptionButtonElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            __RPC__in IHTMLOptionButtonElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLOptionButtonElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_checked )( 
            __RPC__in IHTMLOptionButtonElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_checked )( 
            __RPC__in IHTMLOptionButtonElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_defaultChecked )( 
            __RPC__in IHTMLOptionButtonElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_defaultChecked )( 
            __RPC__in IHTMLOptionButtonElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onchange )( 
            __RPC__in IHTMLOptionButtonElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onchange )( 
            __RPC__in IHTMLOptionButtonElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_disabled )( 
            __RPC__in IHTMLOptionButtonElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_disabled )( 
            __RPC__in IHTMLOptionButtonElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_status )( 
            __RPC__in IHTMLOptionButtonElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 
            __RPC__in IHTMLOptionButtonElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_indeterminate )( 
            __RPC__in IHTMLOptionButtonElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_indeterminate )( 
            __RPC__in IHTMLOptionButtonElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_form )( 
            __RPC__in IHTMLOptionButtonElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p);
        
        END_INTERFACE
    } IHTMLOptionButtonElementVtbl;

    interface IHTMLOptionButtonElement
    {
        CONST_VTBL struct IHTMLOptionButtonElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLOptionButtonElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLOptionButtonElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLOptionButtonElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLOptionButtonElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLOptionButtonElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLOptionButtonElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLOptionButtonElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLOptionButtonElement_put_value(This,v)	\
    ( (This)->lpVtbl -> put_value(This,v) ) 

#define IHTMLOptionButtonElement_get_value(This,p)	\
    ( (This)->lpVtbl -> get_value(This,p) ) 

#define IHTMLOptionButtonElement_get_type(This,p)	\
    ( (This)->lpVtbl -> get_type(This,p) ) 

#define IHTMLOptionButtonElement_put_name(This,v)	\
    ( (This)->lpVtbl -> put_name(This,v) ) 

#define IHTMLOptionButtonElement_get_name(This,p)	\
    ( (This)->lpVtbl -> get_name(This,p) ) 

#define IHTMLOptionButtonElement_put_checked(This,v)	\
    ( (This)->lpVtbl -> put_checked(This,v) ) 

#define IHTMLOptionButtonElement_get_checked(This,p)	\
    ( (This)->lpVtbl -> get_checked(This,p) ) 

#define IHTMLOptionButtonElement_put_defaultChecked(This,v)	\
    ( (This)->lpVtbl -> put_defaultChecked(This,v) ) 

#define IHTMLOptionButtonElement_get_defaultChecked(This,p)	\
    ( (This)->lpVtbl -> get_defaultChecked(This,p) ) 

#define IHTMLOptionButtonElement_put_onchange(This,v)	\
    ( (This)->lpVtbl -> put_onchange(This,v) ) 

#define IHTMLOptionButtonElement_get_onchange(This,p)	\
    ( (This)->lpVtbl -> get_onchange(This,p) ) 

#define IHTMLOptionButtonElement_put_disabled(This,v)	\
    ( (This)->lpVtbl -> put_disabled(This,v) ) 

#define IHTMLOptionButtonElement_get_disabled(This,p)	\
    ( (This)->lpVtbl -> get_disabled(This,p) ) 

#define IHTMLOptionButtonElement_put_status(This,v)	\
    ( (This)->lpVtbl -> put_status(This,v) ) 

#define IHTMLOptionButtonElement_get_status(This,p)	\
    ( (This)->lpVtbl -> get_status(This,p) ) 

#define IHTMLOptionButtonElement_put_indeterminate(This,v)	\
    ( (This)->lpVtbl -> put_indeterminate(This,v) ) 

#define IHTMLOptionButtonElement_get_indeterminate(This,p)	\
    ( (This)->lpVtbl -> get_indeterminate(This,p) ) 

#define IHTMLOptionButtonElement_get_form(This,p)	\
    ( (This)->lpVtbl -> get_form(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLOptionButtonElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLInputImage_INTERFACE_DEFINED__
#define __IHTMLInputImage_INTERFACE_DEFINED__

/* interface IHTMLInputImage */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLInputImage;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f2c2-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLInputImage : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_disabled( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_disabled( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_border( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_border( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_vspace( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_vspace( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_hspace( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_hspace( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_alt( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_alt( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_src( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_src( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_lowsrc( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_lowsrc( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_vrml( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_vrml( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_dynsrc( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_dynsrc( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_readyState( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_complete( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_loop( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_loop( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_align( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_align( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onload( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onload( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onerror( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onerror( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onabort( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onabort( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_name( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_width( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_height( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_start( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_start( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLInputImageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLInputImage * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLInputImage * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLInputImage * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLInputImage * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLInputImage * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLInputImage * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLInputImage * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLInputImage * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_disabled )( 
            __RPC__in IHTMLInputImage * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_disabled )( 
            __RPC__in IHTMLInputImage * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_border )( 
            __RPC__in IHTMLInputImage * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_border )( 
            __RPC__in IHTMLInputImage * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_vspace )( 
            __RPC__in IHTMLInputImage * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_vspace )( 
            __RPC__in IHTMLInputImage * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_hspace )( 
            __RPC__in IHTMLInputImage * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hspace )( 
            __RPC__in IHTMLInputImage * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_alt )( 
            __RPC__in IHTMLInputImage * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_alt )( 
            __RPC__in IHTMLInputImage * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_src )( 
            __RPC__in IHTMLInputImage * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_src )( 
            __RPC__in IHTMLInputImage * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_lowsrc )( 
            __RPC__in IHTMLInputImage * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lowsrc )( 
            __RPC__in IHTMLInputImage * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_vrml )( 
            __RPC__in IHTMLInputImage * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_vrml )( 
            __RPC__in IHTMLInputImage * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_dynsrc )( 
            __RPC__in IHTMLInputImage * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dynsrc )( 
            __RPC__in IHTMLInputImage * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_readyState )( 
            __RPC__in IHTMLInputImage * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_complete )( 
            __RPC__in IHTMLInputImage * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_loop )( 
            __RPC__in IHTMLInputImage * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_loop )( 
            __RPC__in IHTMLInputImage * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_align )( 
            __RPC__in IHTMLInputImage * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_align )( 
            __RPC__in IHTMLInputImage * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onload )( 
            __RPC__in IHTMLInputImage * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onload )( 
            __RPC__in IHTMLInputImage * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onerror )( 
            __RPC__in IHTMLInputImage * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onerror )( 
            __RPC__in IHTMLInputImage * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onabort )( 
            __RPC__in IHTMLInputImage * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onabort )( 
            __RPC__in IHTMLInputImage * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            __RPC__in IHTMLInputImage * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLInputImage * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_width )( 
            __RPC__in IHTMLInputImage * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in IHTMLInputImage * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_height )( 
            __RPC__in IHTMLInputImage * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in IHTMLInputImage * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_start )( 
            __RPC__in IHTMLInputImage * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_start )( 
            __RPC__in IHTMLInputImage * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLInputImageVtbl;

    interface IHTMLInputImage
    {
        CONST_VTBL struct IHTMLInputImageVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLInputImage_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLInputImage_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLInputImage_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLInputImage_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLInputImage_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLInputImage_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLInputImage_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLInputImage_get_type(This,p)	\
    ( (This)->lpVtbl -> get_type(This,p) ) 

#define IHTMLInputImage_put_disabled(This,v)	\
    ( (This)->lpVtbl -> put_disabled(This,v) ) 

#define IHTMLInputImage_get_disabled(This,p)	\
    ( (This)->lpVtbl -> get_disabled(This,p) ) 

#define IHTMLInputImage_put_border(This,v)	\
    ( (This)->lpVtbl -> put_border(This,v) ) 

#define IHTMLInputImage_get_border(This,p)	\
    ( (This)->lpVtbl -> get_border(This,p) ) 

#define IHTMLInputImage_put_vspace(This,v)	\
    ( (This)->lpVtbl -> put_vspace(This,v) ) 

#define IHTMLInputImage_get_vspace(This,p)	\
    ( (This)->lpVtbl -> get_vspace(This,p) ) 

#define IHTMLInputImage_put_hspace(This,v)	\
    ( (This)->lpVtbl -> put_hspace(This,v) ) 

#define IHTMLInputImage_get_hspace(This,p)	\
    ( (This)->lpVtbl -> get_hspace(This,p) ) 

#define IHTMLInputImage_put_alt(This,v)	\
    ( (This)->lpVtbl -> put_alt(This,v) ) 

#define IHTMLInputImage_get_alt(This,p)	\
    ( (This)->lpVtbl -> get_alt(This,p) ) 

#define IHTMLInputImage_put_src(This,v)	\
    ( (This)->lpVtbl -> put_src(This,v) ) 

#define IHTMLInputImage_get_src(This,p)	\
    ( (This)->lpVtbl -> get_src(This,p) ) 

#define IHTMLInputImage_put_lowsrc(This,v)	\
    ( (This)->lpVtbl -> put_lowsrc(This,v) ) 

#define IHTMLInputImage_get_lowsrc(This,p)	\
    ( (This)->lpVtbl -> get_lowsrc(This,p) ) 

#define IHTMLInputImage_put_vrml(This,v)	\
    ( (This)->lpVtbl -> put_vrml(This,v) ) 

#define IHTMLInputImage_get_vrml(This,p)	\
    ( (This)->lpVtbl -> get_vrml(This,p) ) 

#define IHTMLInputImage_put_dynsrc(This,v)	\
    ( (This)->lpVtbl -> put_dynsrc(This,v) ) 

#define IHTMLInputImage_get_dynsrc(This,p)	\
    ( (This)->lpVtbl -> get_dynsrc(This,p) ) 

#define IHTMLInputImage_get_readyState(This,p)	\
    ( (This)->lpVtbl -> get_readyState(This,p) ) 

#define IHTMLInputImage_get_complete(This,p)	\
    ( (This)->lpVtbl -> get_complete(This,p) ) 

#define IHTMLInputImage_put_loop(This,v)	\
    ( (This)->lpVtbl -> put_loop(This,v) ) 

#define IHTMLInputImage_get_loop(This,p)	\
    ( (This)->lpVtbl -> get_loop(This,p) ) 

#define IHTMLInputImage_put_align(This,v)	\
    ( (This)->lpVtbl -> put_align(This,v) ) 

#define IHTMLInputImage_get_align(This,p)	\
    ( (This)->lpVtbl -> get_align(This,p) ) 

#define IHTMLInputImage_put_onload(This,v)	\
    ( (This)->lpVtbl -> put_onload(This,v) ) 

#define IHTMLInputImage_get_onload(This,p)	\
    ( (This)->lpVtbl -> get_onload(This,p) ) 

#define IHTMLInputImage_put_onerror(This,v)	\
    ( (This)->lpVtbl -> put_onerror(This,v) ) 

#define IHTMLInputImage_get_onerror(This,p)	\
    ( (This)->lpVtbl -> get_onerror(This,p) ) 

#define IHTMLInputImage_put_onabort(This,v)	\
    ( (This)->lpVtbl -> put_onabort(This,v) ) 

#define IHTMLInputImage_get_onabort(This,p)	\
    ( (This)->lpVtbl -> get_onabort(This,p) ) 

#define IHTMLInputImage_put_name(This,v)	\
    ( (This)->lpVtbl -> put_name(This,v) ) 

#define IHTMLInputImage_get_name(This,p)	\
    ( (This)->lpVtbl -> get_name(This,p) ) 

#define IHTMLInputImage_put_width(This,v)	\
    ( (This)->lpVtbl -> put_width(This,v) ) 

#define IHTMLInputImage_get_width(This,p)	\
    ( (This)->lpVtbl -> get_width(This,p) ) 

#define IHTMLInputImage_put_height(This,v)	\
    ( (This)->lpVtbl -> put_height(This,v) ) 

#define IHTMLInputImage_get_height(This,p)	\
    ( (This)->lpVtbl -> get_height(This,p) ) 

#define IHTMLInputImage_put_start(This,v)	\
    ( (This)->lpVtbl -> put_start(This,v) ) 

#define IHTMLInputImage_get_start(This,p)	\
    ( (This)->lpVtbl -> get_start(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLInputImage_INTERFACE_DEFINED__ */


#ifndef __IHTMLInputRangeElement_INTERFACE_DEFINED__
#define __IHTMLInputRangeElement_INTERFACE_DEFINED__

/* interface IHTMLInputRangeElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLInputRangeElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f2d4-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLInputRangeElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_disabled( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_disabled( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_alt( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_alt( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_name( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_value( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_value( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_min( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_min( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_max( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_max( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_step( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_step( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_valueAsNumber( 
            /* [in] */ double v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_valueAsNumber( 
            /* [out][retval] */ __RPC__out double *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE stepUp( 
            /* [in][defaultvalue] */ long n = 1) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE stepDown( 
            /* [in][defaultvalue] */ long n = 1) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLInputRangeElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLInputRangeElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLInputRangeElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLInputRangeElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLInputRangeElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLInputRangeElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLInputRangeElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLInputRangeElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_disabled )( 
            __RPC__in IHTMLInputRangeElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_disabled )( 
            __RPC__in IHTMLInputRangeElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLInputRangeElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_alt )( 
            __RPC__in IHTMLInputRangeElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_alt )( 
            __RPC__in IHTMLInputRangeElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            __RPC__in IHTMLInputRangeElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLInputRangeElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_value )( 
            __RPC__in IHTMLInputRangeElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 
            __RPC__in IHTMLInputRangeElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_min )( 
            __RPC__in IHTMLInputRangeElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_min )( 
            __RPC__in IHTMLInputRangeElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_max )( 
            __RPC__in IHTMLInputRangeElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_max )( 
            __RPC__in IHTMLInputRangeElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_step )( 
            __RPC__in IHTMLInputRangeElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_step )( 
            __RPC__in IHTMLInputRangeElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_valueAsNumber )( 
            __RPC__in IHTMLInputRangeElement * This,
            /* [in] */ double v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_valueAsNumber )( 
            __RPC__in IHTMLInputRangeElement * This,
            /* [out][retval] */ __RPC__out double *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *stepUp )( 
            __RPC__in IHTMLInputRangeElement * This,
            /* [in][defaultvalue] */ long n);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *stepDown )( 
            __RPC__in IHTMLInputRangeElement * This,
            /* [in][defaultvalue] */ long n);
        
        END_INTERFACE
    } IHTMLInputRangeElementVtbl;

    interface IHTMLInputRangeElement
    {
        CONST_VTBL struct IHTMLInputRangeElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLInputRangeElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLInputRangeElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLInputRangeElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLInputRangeElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLInputRangeElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLInputRangeElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLInputRangeElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLInputRangeElement_put_disabled(This,v)	\
    ( (This)->lpVtbl -> put_disabled(This,v) ) 

#define IHTMLInputRangeElement_get_disabled(This,p)	\
    ( (This)->lpVtbl -> get_disabled(This,p) ) 

#define IHTMLInputRangeElement_get_type(This,p)	\
    ( (This)->lpVtbl -> get_type(This,p) ) 

#define IHTMLInputRangeElement_put_alt(This,v)	\
    ( (This)->lpVtbl -> put_alt(This,v) ) 

#define IHTMLInputRangeElement_get_alt(This,p)	\
    ( (This)->lpVtbl -> get_alt(This,p) ) 

#define IHTMLInputRangeElement_put_name(This,v)	\
    ( (This)->lpVtbl -> put_name(This,v) ) 

#define IHTMLInputRangeElement_get_name(This,p)	\
    ( (This)->lpVtbl -> get_name(This,p) ) 

#define IHTMLInputRangeElement_put_value(This,v)	\
    ( (This)->lpVtbl -> put_value(This,v) ) 

#define IHTMLInputRangeElement_get_value(This,p)	\
    ( (This)->lpVtbl -> get_value(This,p) ) 

#define IHTMLInputRangeElement_put_min(This,v)	\
    ( (This)->lpVtbl -> put_min(This,v) ) 

#define IHTMLInputRangeElement_get_min(This,p)	\
    ( (This)->lpVtbl -> get_min(This,p) ) 

#define IHTMLInputRangeElement_put_max(This,v)	\
    ( (This)->lpVtbl -> put_max(This,v) ) 

#define IHTMLInputRangeElement_get_max(This,p)	\
    ( (This)->lpVtbl -> get_max(This,p) ) 

#define IHTMLInputRangeElement_put_step(This,v)	\
    ( (This)->lpVtbl -> put_step(This,v) ) 

#define IHTMLInputRangeElement_get_step(This,p)	\
    ( (This)->lpVtbl -> get_step(This,p) ) 

#define IHTMLInputRangeElement_put_valueAsNumber(This,v)	\
    ( (This)->lpVtbl -> put_valueAsNumber(This,v) ) 

#define IHTMLInputRangeElement_get_valueAsNumber(This,p)	\
    ( (This)->lpVtbl -> get_valueAsNumber(This,p) ) 

#define IHTMLInputRangeElement_stepUp(This,n)	\
    ( (This)->lpVtbl -> stepUp(This,n) ) 

#define IHTMLInputRangeElement_stepDown(This,n)	\
    ( (This)->lpVtbl -> stepDown(This,n) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLInputRangeElement_INTERFACE_DEFINED__ */


#ifndef __DispHTMLInputElement_DISPINTERFACE_DEFINED__
#define __DispHTMLInputElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLInputElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLInputElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f57d-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLInputElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLInputElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLInputElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLInputElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLInputElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLInputElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLInputElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLInputElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLInputElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLInputElementVtbl;

    interface DispHTMLInputElement
    {
        CONST_VTBL struct DispHTMLInputElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLInputElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLInputElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f5d8-98b5-11cf-bb82-00aa00bdce0b")
HTMLInputElement;
#endif

#ifndef __IHTMLTextAreaElement_INTERFACE_DEFINED__
#define __IHTMLTextAreaElement_INTERFACE_DEFINED__

/* interface IHTMLTextAreaElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTextAreaElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f2aa-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTextAreaElement : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_value( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_value( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_name( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_status( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_status( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_disabled( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_disabled( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_form( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_defaultValue( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [hidden][bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_defaultValue( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE select( void) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onchange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onchange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onselect( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onselect( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_readOnly( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_readOnly( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_rows( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_rows( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_cols( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_cols( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_wrap( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_wrap( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createTextRange( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTxtRange **range) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTextAreaElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTextAreaElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTextAreaElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTextAreaElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_value )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_status )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_disabled )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_disabled )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_form )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p);
        
        /* [hidden][bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_defaultValue )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [hidden][bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_defaultValue )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *select )( 
            __RPC__in IHTMLTextAreaElement * This);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onchange )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onchange )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onselect )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onselect )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_readOnly )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_readOnly )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_rows )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rows )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_cols )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cols )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_wrap )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_wrap )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createTextRange )( 
            __RPC__in IHTMLTextAreaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTxtRange **range);
        
        END_INTERFACE
    } IHTMLTextAreaElementVtbl;

    interface IHTMLTextAreaElement
    {
        CONST_VTBL struct IHTMLTextAreaElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTextAreaElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLTextAreaElement2_INTERFACE_DEFINED__
#define __IHTMLTextAreaElement2_INTERFACE_DEFINED__

/* interface IHTMLTextAreaElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTextAreaElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f2d3-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTextAreaElement2 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_selectionStart( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_selectionStart( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_selectionEnd( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_selectionEnd( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setSelectionRange( 
            /* [in] */ long start,
            /* [in] */ long end) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTextAreaElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTextAreaElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTextAreaElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTextAreaElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTextAreaElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTextAreaElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTextAreaElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTextAreaElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_selectionStart )( 
            __RPC__in IHTMLTextAreaElement2 * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectionStart )( 
            __RPC__in IHTMLTextAreaElement2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_selectionEnd )( 
            __RPC__in IHTMLTextAreaElement2 * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectionEnd )( 
            __RPC__in IHTMLTextAreaElement2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setSelectionRange )( 
            __RPC__in IHTMLTextAreaElement2 * This,
            /* [in] */ long start,
            /* [in] */ long end);
        
        END_INTERFACE
    } IHTMLTextAreaElement2Vtbl;

    interface IHTMLTextAreaElement2
    {
        CONST_VTBL struct IHTMLTextAreaElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLTextAreaElement2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLTextAreaElement2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLTextAreaElement2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLTextAreaElement2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLTextAreaElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLTextAreaElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLTextAreaElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLTextAreaElement2_put_selectionStart(This,v)	\
    ( (This)->lpVtbl -> put_selectionStart(This,v) ) 

#define IHTMLTextAreaElement2_get_selectionStart(This,p)	\
    ( (This)->lpVtbl -> get_selectionStart(This,p) ) 

#define IHTMLTextAreaElement2_put_selectionEnd(This,v)	\
    ( (This)->lpVtbl -> put_selectionEnd(This,v) ) 

#define IHTMLTextAreaElement2_get_selectionEnd(This,p)	\
    ( (This)->lpVtbl -> get_selectionEnd(This,p) ) 

#define IHTMLTextAreaElement2_setSelectionRange(This,start,end)	\
    ( (This)->lpVtbl -> setSelectionRange(This,start,end) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTextAreaElement2_INTERFACE_DEFINED__ */


#ifndef __DispHTMLTextAreaElement_DISPINTERFACE_DEFINED__
#define __DispHTMLTextAreaElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLTextAreaElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLTextAreaElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f521-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLTextAreaElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLTextAreaElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLTextAreaElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLTextAreaElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLTextAreaElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLTextAreaElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLTextAreaElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLTextAreaElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLTextAreaElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLTextAreaElementVtbl;

    interface DispHTMLTextAreaElement
    {
        CONST_VTBL struct DispHTMLTextAreaElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLTextAreaElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLTextAreaElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f2ac-98b5-11cf-bb82-00aa00bdce0b")
HTMLTextAreaElement;
#endif

#ifndef __DispHTMLRichtextElement_DISPINTERFACE_DEFINED__
#define __DispHTMLRichtextElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLRichtextElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLRichtextElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f54d-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLRichtextElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLRichtextElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLRichtextElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLRichtextElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLRichtextElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLRichtextElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLRichtextElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLRichtextElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLRichtextElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLRichtextElementVtbl;

    interface DispHTMLRichtextElement
    {
        CONST_VTBL struct DispHTMLRichtextElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLRichtextElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLRichtextElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLRichtextElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLRichtextElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLRichtextElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLRichtextElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLRichtextElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLRichtextElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLRichtextElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f2df-98b5-11cf-bb82-00aa00bdce0b")
HTMLRichtextElement;
#endif

#ifndef __IHTMLButtonElement_INTERFACE_DEFINED__
#define __IHTMLButtonElement_INTERFACE_DEFINED__

/* interface IHTMLButtonElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLButtonElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f2bb-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLButtonElement : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_value( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_value( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_name( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_status( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_status( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_disabled( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_disabled( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_form( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createTextRange( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTxtRange **range) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLButtonElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLButtonElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLButtonElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLButtonElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLButtonElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLButtonElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLButtonElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLButtonElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLButtonElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_value )( 
            __RPC__in IHTMLButtonElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 
            __RPC__in IHTMLButtonElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            __RPC__in IHTMLButtonElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLButtonElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_status )( 
            __RPC__in IHTMLButtonElement * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 
            __RPC__in IHTMLButtonElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_disabled )( 
            __RPC__in IHTMLButtonElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_disabled )( 
            __RPC__in IHTMLButtonElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_form )( 
            __RPC__in IHTMLButtonElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createTextRange )( 
            __RPC__in IHTMLButtonElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTxtRange **range);
        
        END_INTERFACE
    } IHTMLButtonElementVtbl;

    interface IHTMLButtonElement
    {
        CONST_VTBL struct IHTMLButtonElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLButtonElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLButtonElement2_INTERFACE_DEFINED__
#define __IHTMLButtonElement2_INTERFACE_DEFINED__

/* interface IHTMLButtonElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLButtonElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106f3-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLButtonElement2 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_type( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLButtonElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLButtonElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLButtonElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLButtonElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLButtonElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLButtonElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLButtonElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLButtonElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_type )( 
            __RPC__in IHTMLButtonElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLButtonElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLButtonElement2Vtbl;

    interface IHTMLButtonElement2
    {
        CONST_VTBL struct IHTMLButtonElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLButtonElement2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLButtonElement2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLButtonElement2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLButtonElement2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLButtonElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLButtonElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLButtonElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLButtonElement2_put_type(This,v)	\
    ( (This)->lpVtbl -> put_type(This,v) ) 

#define IHTMLButtonElement2_get_type(This,p)	\
    ( (This)->lpVtbl -> get_type(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLButtonElement2_INTERFACE_DEFINED__ */


#ifndef __DispHTMLButtonElement_DISPINTERFACE_DEFINED__
#define __DispHTMLButtonElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLButtonElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLButtonElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f51f-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLButtonElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLButtonElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLButtonElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLButtonElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLButtonElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLButtonElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLButtonElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLButtonElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLButtonElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLButtonElementVtbl;

    interface DispHTMLButtonElement
    {
        CONST_VTBL struct DispHTMLButtonElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLButtonElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLButtonElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f2c6-98b5-11cf-bb82-00aa00bdce0b")
HTMLButtonElement;
#endif

#ifndef __HTMLMarqueeElementEvents2_DISPINTERFACE_DEFINED__
#define __HTMLMarqueeElementEvents2_DISPINTERFACE_DEFINED__

/* dispinterface HTMLMarqueeElementEvents2 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLMarqueeElementEvents2;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f61f-98b5-11cf-bb82-00aa00bdce0b")
    HTMLMarqueeElementEvents2 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLMarqueeElementEvents2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLMarqueeElementEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLMarqueeElementEvents2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLMarqueeElementEvents2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLMarqueeElementEvents2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLMarqueeElementEvents2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLMarqueeElementEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLMarqueeElementEvents2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLMarqueeElementEvents2Vtbl;

    interface HTMLMarqueeElementEvents2
    {
        CONST_VTBL struct HTMLMarqueeElementEvents2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLMarqueeElementEvents2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLMarqueeElementEvents2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLMarqueeElementEvents2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLMarqueeElementEvents2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLMarqueeElementEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLMarqueeElementEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLMarqueeElementEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLMarqueeElementEvents2_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLMarqueeElementEvents_DISPINTERFACE_DEFINED__
#define __HTMLMarqueeElementEvents_DISPINTERFACE_DEFINED__

/* dispinterface HTMLMarqueeElementEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLMarqueeElementEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f2b8-98b5-11cf-bb82-00aa00bdce0b")
    HTMLMarqueeElementEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLMarqueeElementEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLMarqueeElementEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLMarqueeElementEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLMarqueeElementEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLMarqueeElementEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLMarqueeElementEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLMarqueeElementEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLMarqueeElementEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLMarqueeElementEventsVtbl;

    interface HTMLMarqueeElementEvents
    {
        CONST_VTBL struct HTMLMarqueeElementEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLMarqueeElementEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLMarqueeElementEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLMarqueeElementEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLMarqueeElementEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLMarqueeElementEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLMarqueeElementEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLMarqueeElementEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLMarqueeElementEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IHTMLMarqueeElement_INTERFACE_DEFINED__
#define __IHTMLMarqueeElement_INTERFACE_DEFINED__

/* interface IHTMLMarqueeElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLMarqueeElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f2b5-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLMarqueeElement : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_bgColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_bgColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollDelay( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollDelay( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_direction( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_direction( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_behavior( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_behavior( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollAmount( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollAmount( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_loop( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_loop( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_vspace( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_vspace( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_hspace( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_hspace( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onfinish( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onfinish( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onstart( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onstart( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onbounce( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onbounce( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_width( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_height( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_trueSpeed( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_trueSpeed( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE start( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE stop( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLMarqueeElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLMarqueeElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLMarqueeElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLMarqueeElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_bgColor )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bgColor )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollDelay )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollDelay )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_direction )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_direction )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_behavior )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_behavior )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollAmount )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollAmount )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_loop )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_loop )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_vspace )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_vspace )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_hspace )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hspace )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onfinish )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onfinish )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onstart )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onstart )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onbounce )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onbounce )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_width )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_height )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_trueSpeed )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_trueSpeed )( 
            __RPC__in IHTMLMarqueeElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *start )( 
            __RPC__in IHTMLMarqueeElement * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *stop )( 
            __RPC__in IHTMLMarqueeElement * This);
        
        END_INTERFACE
    } IHTMLMarqueeElementVtbl;

    interface IHTMLMarqueeElement
    {
        CONST_VTBL struct IHTMLMarqueeElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLMarqueeElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLMarqueeElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLMarqueeElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLMarqueeElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLMarqueeElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLMarqueeElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLMarqueeElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLMarqueeElement_put_bgColor(This,v)	\
    ( (This)->lpVtbl -> put_bgColor(This,v) ) 

#define IHTMLMarqueeElement_get_bgColor(This,p)	\
    ( (This)->lpVtbl -> get_bgColor(This,p) ) 

#define IHTMLMarqueeElement_put_scrollDelay(This,v)	\
    ( (This)->lpVtbl -> put_scrollDelay(This,v) ) 

#define IHTMLMarqueeElement_get_scrollDelay(This,p)	\
    ( (This)->lpVtbl -> get_scrollDelay(This,p) ) 

#define IHTMLMarqueeElement_put_direction(This,v)	\
    ( (This)->lpVtbl -> put_direction(This,v) ) 

#define IHTMLMarqueeElement_get_direction(This,p)	\
    ( (This)->lpVtbl -> get_direction(This,p) ) 

#define IHTMLMarqueeElement_put_behavior(This,v)	\
    ( (This)->lpVtbl -> put_behavior(This,v) ) 

#define IHTMLMarqueeElement_get_behavior(This,p)	\
    ( (This)->lpVtbl -> get_behavior(This,p) ) 

#define IHTMLMarqueeElement_put_scrollAmount(This,v)	\
    ( (This)->lpVtbl -> put_scrollAmount(This,v) ) 

#define IHTMLMarqueeElement_get_scrollAmount(This,p)	\
    ( (This)->lpVtbl -> get_scrollAmount(This,p) ) 

#define IHTMLMarqueeElement_put_loop(This,v)	\
    ( (This)->lpVtbl -> put_loop(This,v) ) 

#define IHTMLMarqueeElement_get_loop(This,p)	\
    ( (This)->lpVtbl -> get_loop(This,p) ) 

#define IHTMLMarqueeElement_put_vspace(This,v)	\
    ( (This)->lpVtbl -> put_vspace(This,v) ) 

#define IHTMLMarqueeElement_get_vspace(This,p)	\
    ( (This)->lpVtbl -> get_vspace(This,p) ) 

#define IHTMLMarqueeElement_put_hspace(This,v)	\
    ( (This)->lpVtbl -> put_hspace(This,v) ) 

#define IHTMLMarqueeElement_get_hspace(This,p)	\
    ( (This)->lpVtbl -> get_hspace(This,p) ) 

#define IHTMLMarqueeElement_put_onfinish(This,v)	\
    ( (This)->lpVtbl -> put_onfinish(This,v) ) 

#define IHTMLMarqueeElement_get_onfinish(This,p)	\
    ( (This)->lpVtbl -> get_onfinish(This,p) ) 

#define IHTMLMarqueeElement_put_onstart(This,v)	\
    ( (This)->lpVtbl -> put_onstart(This,v) ) 

#define IHTMLMarqueeElement_get_onstart(This,p)	\
    ( (This)->lpVtbl -> get_onstart(This,p) ) 

#define IHTMLMarqueeElement_put_onbounce(This,v)	\
    ( (This)->lpVtbl -> put_onbounce(This,v) ) 

#define IHTMLMarqueeElement_get_onbounce(This,p)	\
    ( (This)->lpVtbl -> get_onbounce(This,p) ) 

#define IHTMLMarqueeElement_put_width(This,v)	\
    ( (This)->lpVtbl -> put_width(This,v) ) 

#define IHTMLMarqueeElement_get_width(This,p)	\
    ( (This)->lpVtbl -> get_width(This,p) ) 

#define IHTMLMarqueeElement_put_height(This,v)	\
    ( (This)->lpVtbl -> put_height(This,v) ) 

#define IHTMLMarqueeElement_get_height(This,p)	\
    ( (This)->lpVtbl -> get_height(This,p) ) 

#define IHTMLMarqueeElement_put_trueSpeed(This,v)	\
    ( (This)->lpVtbl -> put_trueSpeed(This,v) ) 

#define IHTMLMarqueeElement_get_trueSpeed(This,p)	\
    ( (This)->lpVtbl -> get_trueSpeed(This,p) ) 

#define IHTMLMarqueeElement_start(This)	\
    ( (This)->lpVtbl -> start(This) ) 

#define IHTMLMarqueeElement_stop(This)	\
    ( (This)->lpVtbl -> stop(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLMarqueeElement_INTERFACE_DEFINED__ */


#ifndef __DispHTMLMarqueeElement_DISPINTERFACE_DEFINED__
#define __DispHTMLMarqueeElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLMarqueeElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLMarqueeElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f527-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLMarqueeElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLMarqueeElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLMarqueeElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLMarqueeElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLMarqueeElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLMarqueeElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLMarqueeElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLMarqueeElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLMarqueeElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLMarqueeElementVtbl;

    interface DispHTMLMarqueeElement
    {
        CONST_VTBL struct DispHTMLMarqueeElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLMarqueeElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLMarqueeElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLMarqueeElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLMarqueeElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLMarqueeElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLMarqueeElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLMarqueeElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLMarqueeElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLMarqueeElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f2b9-98b5-11cf-bb82-00aa00bdce0b")
HTMLMarqueeElement;
#endif

#ifndef __IHTMLHtmlElement_INTERFACE_DEFINED__
#define __IHTMLHtmlElement_INTERFACE_DEFINED__

/* interface IHTMLHtmlElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLHtmlElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f81c-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLHtmlElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_version( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_version( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLHtmlElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLHtmlElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLHtmlElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLHtmlElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLHtmlElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLHtmlElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLHtmlElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLHtmlElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_version )( 
            __RPC__in IHTMLHtmlElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 
            __RPC__in IHTMLHtmlElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLHtmlElementVtbl;

    interface IHTMLHtmlElement
    {
        CONST_VTBL struct IHTMLHtmlElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLHtmlElement_put_version(This,v)	\
    ( (This)->lpVtbl -> put_version(This,v) ) 

#define IHTMLHtmlElement_get_version(This,p)	\
    ( (This)->lpVtbl -> get_version(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLHtmlElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLHeadElement_INTERFACE_DEFINED__
#define __IHTMLHeadElement_INTERFACE_DEFINED__

/* interface IHTMLHeadElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLHeadElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f81d-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLHeadElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_profile( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_profile( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLHeadElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLHeadElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLHeadElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLHeadElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLHeadElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLHeadElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLHeadElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLHeadElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_profile )( 
            __RPC__in IHTMLHeadElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_profile )( 
            __RPC__in IHTMLHeadElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLHeadElementVtbl;

    interface IHTMLHeadElement
    {
        CONST_VTBL struct IHTMLHeadElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLHeadElement_put_profile(This,v)	\
    ( (This)->lpVtbl -> put_profile(This,v) ) 

#define IHTMLHeadElement_get_profile(This,p)	\
    ( (This)->lpVtbl -> get_profile(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLHeadElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLHeadElement2_INTERFACE_DEFINED__
#define __IHTMLHeadElement2_INTERFACE_DEFINED__

/* interface IHTMLHeadElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLHeadElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051042f-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLHeadElement2 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_profile( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_profile( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLHeadElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLHeadElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLHeadElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLHeadElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLHeadElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLHeadElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLHeadElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLHeadElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_profile )( 
            __RPC__in IHTMLHeadElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_profile )( 
            __RPC__in IHTMLHeadElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLHeadElement2Vtbl;

    interface IHTMLHeadElement2
    {
        CONST_VTBL struct IHTMLHeadElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLHeadElement2_put_profile(This,v)	\
    ( (This)->lpVtbl -> put_profile(This,v) ) 

#define IHTMLHeadElement2_get_profile(This,p)	\
    ( (This)->lpVtbl -> get_profile(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLHeadElement2_INTERFACE_DEFINED__ */


#ifndef __IHTMLTitleElement_INTERFACE_DEFINED__
#define __IHTMLTitleElement_INTERFACE_DEFINED__

/* interface IHTMLTitleElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTitleElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f322-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTitleElement : public IDispatch
    {
    public:
        virtual /* [bindable][id][propput] */ HRESULT STDMETHODCALLTYPE put_text( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_text( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTitleElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTitleElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTitleElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTitleElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTitleElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTitleElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTitleElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTitleElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_text )( 
            __RPC__in IHTMLTitleElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )( 
            __RPC__in IHTMLTitleElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLTitleElementVtbl;

    interface IHTMLTitleElement
    {
        CONST_VTBL struct IHTMLTitleElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLTitleElement_put_text(This,v)	\
    ( (This)->lpVtbl -> put_text(This,v) ) 

#define IHTMLTitleElement_get_text(This,p)	\
    ( (This)->lpVtbl -> get_text(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTitleElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLMetaElement_INTERFACE_DEFINED__
#define __IHTMLMetaElement_INTERFACE_DEFINED__

/* interface IHTMLMetaElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLMetaElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f203-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLMetaElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_httpEquiv( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_httpEquiv( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_content( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_content( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_name( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_url( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_url( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_charset( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_charset( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLMetaElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLMetaElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLMetaElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLMetaElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLMetaElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLMetaElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLMetaElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLMetaElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_httpEquiv )( 
            __RPC__in IHTMLMetaElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_httpEquiv )( 
            __RPC__in IHTMLMetaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_content )( 
            __RPC__in IHTMLMetaElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_content )( 
            __RPC__in IHTMLMetaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            __RPC__in IHTMLMetaElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLMetaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_url )( 
            __RPC__in IHTMLMetaElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_url )( 
            __RPC__in IHTMLMetaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_charset )( 
            __RPC__in IHTMLMetaElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_charset )( 
            __RPC__in IHTMLMetaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLMetaElementVtbl;

    interface IHTMLMetaElement
    {
        CONST_VTBL struct IHTMLMetaElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLMetaElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLMetaElement2_INTERFACE_DEFINED__
#define __IHTMLMetaElement2_INTERFACE_DEFINED__

/* interface IHTMLMetaElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLMetaElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f81f-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLMetaElement2 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scheme( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scheme( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLMetaElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLMetaElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLMetaElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLMetaElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLMetaElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLMetaElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLMetaElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLMetaElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scheme )( 
            __RPC__in IHTMLMetaElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scheme )( 
            __RPC__in IHTMLMetaElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLMetaElement2Vtbl;

    interface IHTMLMetaElement2
    {
        CONST_VTBL struct IHTMLMetaElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLMetaElement2_put_scheme(This,v)	\
    ( (This)->lpVtbl -> put_scheme(This,v) ) 

#define IHTMLMetaElement2_get_scheme(This,p)	\
    ( (This)->lpVtbl -> get_scheme(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLMetaElement2_INTERFACE_DEFINED__ */


#ifndef __IHTMLMetaElement3_INTERFACE_DEFINED__
#define __IHTMLMetaElement3_INTERFACE_DEFINED__

/* interface IHTMLMetaElement3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLMetaElement3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510495-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLMetaElement3 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_url( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_url( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLMetaElement3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLMetaElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLMetaElement3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLMetaElement3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLMetaElement3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLMetaElement3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLMetaElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLMetaElement3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_url )( 
            __RPC__in IHTMLMetaElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_url )( 
            __RPC__in IHTMLMetaElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLMetaElement3Vtbl;

    interface IHTMLMetaElement3
    {
        CONST_VTBL struct IHTMLMetaElement3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLMetaElement3_put_url(This,v)	\
    ( (This)->lpVtbl -> put_url(This,v) ) 

#define IHTMLMetaElement3_get_url(This,p)	\
    ( (This)->lpVtbl -> get_url(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLMetaElement3_INTERFACE_DEFINED__ */


#ifndef __IHTMLBaseElement_INTERFACE_DEFINED__
#define __IHTMLBaseElement_INTERFACE_DEFINED__

/* interface IHTMLBaseElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLBaseElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f204-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLBaseElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_href( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_href( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_target( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_target( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLBaseElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLBaseElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLBaseElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLBaseElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLBaseElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLBaseElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLBaseElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLBaseElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_href )( 
            __RPC__in IHTMLBaseElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_href )( 
            __RPC__in IHTMLBaseElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_target )( 
            __RPC__in IHTMLBaseElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_target )( 
            __RPC__in IHTMLBaseElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLBaseElementVtbl;

    interface IHTMLBaseElement
    {
        CONST_VTBL struct IHTMLBaseElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLBaseElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLBaseElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLBaseElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLBaseElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLBaseElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLBaseElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLBaseElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLBaseElement_put_href(This,v)	\
    ( (This)->lpVtbl -> put_href(This,v) ) 

#define IHTMLBaseElement_get_href(This,p)	\
    ( (This)->lpVtbl -> get_href(This,p) ) 

#define IHTMLBaseElement_put_target(This,v)	\
    ( (This)->lpVtbl -> put_target(This,v) ) 

#define IHTMLBaseElement_get_target(This,p)	\
    ( (This)->lpVtbl -> get_target(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLBaseElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLBaseElement2_INTERFACE_DEFINED__
#define __IHTMLBaseElement2_INTERFACE_DEFINED__

/* interface IHTMLBaseElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLBaseElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510420-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLBaseElement2 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_href( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_href( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLBaseElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLBaseElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLBaseElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLBaseElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLBaseElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLBaseElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLBaseElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLBaseElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_href )( 
            __RPC__in IHTMLBaseElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_href )( 
            __RPC__in IHTMLBaseElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLBaseElement2Vtbl;

    interface IHTMLBaseElement2
    {
        CONST_VTBL struct IHTMLBaseElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLBaseElement2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLBaseElement2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLBaseElement2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLBaseElement2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLBaseElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLBaseElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLBaseElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLBaseElement2_put_href(This,v)	\
    ( (This)->lpVtbl -> put_href(This,v) ) 

#define IHTMLBaseElement2_get_href(This,p)	\
    ( (This)->lpVtbl -> get_href(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLBaseElement2_INTERFACE_DEFINED__ */


#ifndef __DispHTMLHtmlElement_DISPINTERFACE_DEFINED__
#define __DispHTMLHtmlElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLHtmlElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLHtmlElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f560-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLHtmlElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLHtmlElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLHtmlElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLHtmlElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLHtmlElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLHtmlElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLHtmlElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLHtmlElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLHtmlElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLHtmlElementVtbl;

    interface DispHTMLHtmlElement
    {
        CONST_VTBL struct DispHTMLHtmlElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLHtmlElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLHtmlElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f491-98b5-11cf-bb82-00aa00bdce0b")
HTMLHtmlElement;
#endif

#ifndef __DispHTMLHeadElement_DISPINTERFACE_DEFINED__
#define __DispHTMLHeadElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLHeadElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLHeadElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f561-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLHeadElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLHeadElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLHeadElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLHeadElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLHeadElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLHeadElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLHeadElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLHeadElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLHeadElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLHeadElementVtbl;

    interface DispHTMLHeadElement
    {
        CONST_VTBL struct DispHTMLHeadElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLHeadElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLHeadElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f493-98b5-11cf-bb82-00aa00bdce0b")
HTMLHeadElement;
#endif

#ifndef __DispHTMLTitleElement_DISPINTERFACE_DEFINED__
#define __DispHTMLTitleElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLTitleElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLTitleElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f516-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLTitleElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLTitleElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLTitleElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLTitleElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLTitleElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLTitleElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLTitleElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLTitleElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLTitleElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLTitleElementVtbl;

    interface DispHTMLTitleElement
    {
        CONST_VTBL struct DispHTMLTitleElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLTitleElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLTitleElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f284-98b5-11cf-bb82-00aa00bdce0b")
HTMLTitleElement;
#endif

#ifndef __DispHTMLMetaElement_DISPINTERFACE_DEFINED__
#define __DispHTMLMetaElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLMetaElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLMetaElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f517-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLMetaElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLMetaElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLMetaElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLMetaElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLMetaElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLMetaElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLMetaElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLMetaElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLMetaElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLMetaElementVtbl;

    interface DispHTMLMetaElement
    {
        CONST_VTBL struct DispHTMLMetaElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLMetaElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLMetaElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f275-98b5-11cf-bb82-00aa00bdce0b")
HTMLMetaElement;
#endif

#ifndef __DispHTMLBaseElement_DISPINTERFACE_DEFINED__
#define __DispHTMLBaseElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLBaseElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLBaseElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f518-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLBaseElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLBaseElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLBaseElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLBaseElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLBaseElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLBaseElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLBaseElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLBaseElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLBaseElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLBaseElementVtbl;

    interface DispHTMLBaseElement
    {
        CONST_VTBL struct DispHTMLBaseElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLBaseElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLBaseElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLBaseElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLBaseElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLBaseElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLBaseElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLBaseElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLBaseElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLBaseElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f276-98b5-11cf-bb82-00aa00bdce0b")
HTMLBaseElement;
#endif

#ifndef __IHTMLIsIndexElement_INTERFACE_DEFINED__
#define __IHTMLIsIndexElement_INTERFACE_DEFINED__

/* interface IHTMLIsIndexElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLIsIndexElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f206-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLIsIndexElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_prompt( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_prompt( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_action( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_action( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLIsIndexElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLIsIndexElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLIsIndexElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLIsIndexElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLIsIndexElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLIsIndexElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLIsIndexElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLIsIndexElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_prompt )( 
            __RPC__in IHTMLIsIndexElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_prompt )( 
            __RPC__in IHTMLIsIndexElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_action )( 
            __RPC__in IHTMLIsIndexElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_action )( 
            __RPC__in IHTMLIsIndexElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLIsIndexElementVtbl;

    interface IHTMLIsIndexElement
    {
        CONST_VTBL struct IHTMLIsIndexElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLIsIndexElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLIsIndexElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLIsIndexElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLIsIndexElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLIsIndexElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLIsIndexElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLIsIndexElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLIsIndexElement_put_prompt(This,v)	\
    ( (This)->lpVtbl -> put_prompt(This,v) ) 

#define IHTMLIsIndexElement_get_prompt(This,p)	\
    ( (This)->lpVtbl -> get_prompt(This,p) ) 

#define IHTMLIsIndexElement_put_action(This,v)	\
    ( (This)->lpVtbl -> put_action(This,v) ) 

#define IHTMLIsIndexElement_get_action(This,p)	\
    ( (This)->lpVtbl -> get_action(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLIsIndexElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLIsIndexElement2_INTERFACE_DEFINED__
#define __IHTMLIsIndexElement2_INTERFACE_DEFINED__

/* interface IHTMLIsIndexElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLIsIndexElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f82f-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLIsIndexElement2 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_form( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLIsIndexElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLIsIndexElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLIsIndexElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLIsIndexElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLIsIndexElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLIsIndexElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLIsIndexElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLIsIndexElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_form )( 
            __RPC__in IHTMLIsIndexElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p);
        
        END_INTERFACE
    } IHTMLIsIndexElement2Vtbl;

    interface IHTMLIsIndexElement2
    {
        CONST_VTBL struct IHTMLIsIndexElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLIsIndexElement2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLIsIndexElement2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLIsIndexElement2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLIsIndexElement2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLIsIndexElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLIsIndexElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLIsIndexElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLIsIndexElement2_get_form(This,p)	\
    ( (This)->lpVtbl -> get_form(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLIsIndexElement2_INTERFACE_DEFINED__ */


#ifndef __IHTMLNextIdElement_INTERFACE_DEFINED__
#define __IHTMLNextIdElement_INTERFACE_DEFINED__

/* interface IHTMLNextIdElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLNextIdElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f207-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLNextIdElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_n( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_n( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLNextIdElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLNextIdElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLNextIdElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLNextIdElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLNextIdElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLNextIdElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLNextIdElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLNextIdElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_n )( 
            __RPC__in IHTMLNextIdElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_n )( 
            __RPC__in IHTMLNextIdElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLNextIdElementVtbl;

    interface IHTMLNextIdElement
    {
        CONST_VTBL struct IHTMLNextIdElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLNextIdElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLNextIdElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLNextIdElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLNextIdElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLNextIdElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLNextIdElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLNextIdElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLNextIdElement_put_n(This,v)	\
    ( (This)->lpVtbl -> put_n(This,v) ) 

#define IHTMLNextIdElement_get_n(This,p)	\
    ( (This)->lpVtbl -> get_n(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLNextIdElement_INTERFACE_DEFINED__ */


#ifndef __DispHTMLIsIndexElement_DISPINTERFACE_DEFINED__
#define __DispHTMLIsIndexElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLIsIndexElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLIsIndexElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f519-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLIsIndexElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLIsIndexElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLIsIndexElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLIsIndexElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLIsIndexElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLIsIndexElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLIsIndexElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLIsIndexElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLIsIndexElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLIsIndexElementVtbl;

    interface DispHTMLIsIndexElement
    {
        CONST_VTBL struct DispHTMLIsIndexElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLIsIndexElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLIsIndexElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLIsIndexElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLIsIndexElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLIsIndexElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLIsIndexElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLIsIndexElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLIsIndexElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLIsIndexElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f278-98b5-11cf-bb82-00aa00bdce0b")
HTMLIsIndexElement;
#endif

#ifndef __DispHTMLNextIdElement_DISPINTERFACE_DEFINED__
#define __DispHTMLNextIdElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLNextIdElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLNextIdElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f51a-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLNextIdElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLNextIdElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLNextIdElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLNextIdElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLNextIdElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLNextIdElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLNextIdElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLNextIdElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLNextIdElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLNextIdElementVtbl;

    interface DispHTMLNextIdElement
    {
        CONST_VTBL struct DispHTMLNextIdElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLNextIdElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLNextIdElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLNextIdElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLNextIdElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLNextIdElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLNextIdElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLNextIdElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLNextIdElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLNextIdElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f279-98b5-11cf-bb82-00aa00bdce0b")
HTMLNextIdElement;
#endif

#ifndef __IHTMLBaseFontElement_INTERFACE_DEFINED__
#define __IHTMLBaseFontElement_INTERFACE_DEFINED__

/* interface IHTMLBaseFontElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLBaseFontElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f202-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLBaseFontElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_color( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_color( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_face( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_face( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_size( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_size( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLBaseFontElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLBaseFontElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLBaseFontElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLBaseFontElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLBaseFontElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLBaseFontElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLBaseFontElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLBaseFontElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_color )( 
            __RPC__in IHTMLBaseFontElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_color )( 
            __RPC__in IHTMLBaseFontElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_face )( 
            __RPC__in IHTMLBaseFontElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_face )( 
            __RPC__in IHTMLBaseFontElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_size )( 
            __RPC__in IHTMLBaseFontElement * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_size )( 
            __RPC__in IHTMLBaseFontElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        END_INTERFACE
    } IHTMLBaseFontElementVtbl;

    interface IHTMLBaseFontElement
    {
        CONST_VTBL struct IHTMLBaseFontElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLBaseFontElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLBaseFontElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLBaseFontElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLBaseFontElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLBaseFontElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLBaseFontElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLBaseFontElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLBaseFontElement_put_color(This,v)	\
    ( (This)->lpVtbl -> put_color(This,v) ) 

#define IHTMLBaseFontElement_get_color(This,p)	\
    ( (This)->lpVtbl -> get_color(This,p) ) 

#define IHTMLBaseFontElement_put_face(This,v)	\
    ( (This)->lpVtbl -> put_face(This,v) ) 

#define IHTMLBaseFontElement_get_face(This,p)	\
    ( (This)->lpVtbl -> get_face(This,p) ) 

#define IHTMLBaseFontElement_put_size(This,v)	\
    ( (This)->lpVtbl -> put_size(This,v) ) 

#define IHTMLBaseFontElement_get_size(This,p)	\
    ( (This)->lpVtbl -> get_size(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLBaseFontElement_INTERFACE_DEFINED__ */


#ifndef __DispHTMLBaseFontElement_DISPINTERFACE_DEFINED__
#define __DispHTMLBaseFontElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLBaseFontElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLBaseFontElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f504-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLBaseFontElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLBaseFontElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLBaseFontElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLBaseFontElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLBaseFontElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLBaseFontElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLBaseFontElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLBaseFontElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLBaseFontElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLBaseFontElementVtbl;

    interface DispHTMLBaseFontElement
    {
        CONST_VTBL struct DispHTMLBaseFontElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLBaseFontElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLBaseFontElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLBaseFontElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLBaseFontElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLBaseFontElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLBaseFontElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLBaseFontElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLBaseFontElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLBaseFontElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f282-98b5-11cf-bb82-00aa00bdce0b")
HTMLBaseFontElement;
#endif

#ifndef __IHTMLUnknownElement_INTERFACE_DEFINED__
#define __IHTMLUnknownElement_INTERFACE_DEFINED__

/* interface IHTMLUnknownElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLUnknownElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f209-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLUnknownElement : public IDispatch
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLUnknownElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLUnknownElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLUnknownElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLUnknownElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLUnknownElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLUnknownElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLUnknownElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLUnknownElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } IHTMLUnknownElementVtbl;

    interface IHTMLUnknownElement
    {
        CONST_VTBL struct IHTMLUnknownElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLUnknownElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLUnknownElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLUnknownElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLUnknownElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLUnknownElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLUnknownElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLUnknownElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLUnknownElement_INTERFACE_DEFINED__ */


#ifndef __DispHTMLUnknownElement_DISPINTERFACE_DEFINED__
#define __DispHTMLUnknownElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLUnknownElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLUnknownElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f539-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLUnknownElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLUnknownElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLUnknownElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLUnknownElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLUnknownElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLUnknownElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLUnknownElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLUnknownElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLUnknownElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLUnknownElementVtbl;

    interface DispHTMLUnknownElement
    {
        CONST_VTBL struct DispHTMLUnknownElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLUnknownElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLUnknownElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f268-98b5-11cf-bb82-00aa00bdce0b")
HTMLUnknownElement;
#endif

#ifndef __IWebGeolocation_INTERFACE_DEFINED__
#define __IWebGeolocation_INTERFACE_DEFINED__

/* interface IWebGeolocation */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IWebGeolocation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305107c5-98b5-11cf-bb82-00aa00bdce0b")
    IWebGeolocation : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getCurrentPosition( 
            /* [in] */ __RPC__in_opt IDispatch *successCallback,
            /* [in][defaultvalue] */ __RPC__in_opt IDispatch *errorCallback = 0,
            /* [in][defaultvalue] */ __RPC__in_opt IDispatch *options = 0) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE watchPosition( 
            /* [in] */ __RPC__in_opt IDispatch *successCallback,
            /* [in][defaultvalue] */ __RPC__in_opt IDispatch *errorCallback,
            /* [in][defaultvalue] */ __RPC__in_opt IDispatch *options,
            /* [out][retval] */ __RPC__out long *watchId) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE clearWatch( 
            /* [in] */ long watchId) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IWebGeolocationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IWebGeolocation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IWebGeolocation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IWebGeolocation * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IWebGeolocation * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IWebGeolocation * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IWebGeolocation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWebGeolocation * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getCurrentPosition )( 
            __RPC__in IWebGeolocation * This,
            /* [in] */ __RPC__in_opt IDispatch *successCallback,
            /* [in][defaultvalue] */ __RPC__in_opt IDispatch *errorCallback,
            /* [in][defaultvalue] */ __RPC__in_opt IDispatch *options);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *watchPosition )( 
            __RPC__in IWebGeolocation * This,
            /* [in] */ __RPC__in_opt IDispatch *successCallback,
            /* [in][defaultvalue] */ __RPC__in_opt IDispatch *errorCallback,
            /* [in][defaultvalue] */ __RPC__in_opt IDispatch *options,
            /* [out][retval] */ __RPC__out long *watchId);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *clearWatch )( 
            __RPC__in IWebGeolocation * This,
            /* [in] */ long watchId);
        
        END_INTERFACE
    } IWebGeolocationVtbl;

    interface IWebGeolocation
    {
        CONST_VTBL struct IWebGeolocationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWebGeolocation_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IWebGeolocation_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IWebGeolocation_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IWebGeolocation_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IWebGeolocation_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IWebGeolocation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IWebGeolocation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IWebGeolocation_getCurrentPosition(This,successCallback,errorCallback,options)	\
    ( (This)->lpVtbl -> getCurrentPosition(This,successCallback,errorCallback,options) ) 

#define IWebGeolocation_watchPosition(This,successCallback,errorCallback,options,watchId)	\
    ( (This)->lpVtbl -> watchPosition(This,successCallback,errorCallback,options,watchId) ) 

#define IWebGeolocation_clearWatch(This,watchId)	\
    ( (This)->lpVtbl -> clearWatch(This,watchId) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IWebGeolocation_INTERFACE_DEFINED__ */


#ifndef __IHTMLMimeTypesCollection_INTERFACE_DEFINED__
#define __IHTMLMimeTypesCollection_INTERFACE_DEFINED__

/* interface IHTMLMimeTypesCollection */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLMimeTypesCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f3fc-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLMimeTypesCollection : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLMimeTypesCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLMimeTypesCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLMimeTypesCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLMimeTypesCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLMimeTypesCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLMimeTypesCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLMimeTypesCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLMimeTypesCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLMimeTypesCollection * This,
            /* [out][retval] */ __RPC__out long *p);
        
        END_INTERFACE
    } IHTMLMimeTypesCollectionVtbl;

    interface IHTMLMimeTypesCollection
    {
        CONST_VTBL struct IHTMLMimeTypesCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLMimeTypesCollection_get_length(This,p)	\
    ( (This)->lpVtbl -> get_length(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLMimeTypesCollection_INTERFACE_DEFINED__ */


#ifndef __IHTMLPluginsCollection_INTERFACE_DEFINED__
#define __IHTMLPluginsCollection_INTERFACE_DEFINED__

/* interface IHTMLPluginsCollection */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLPluginsCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f3fd-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLPluginsCollection : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE refresh( 
            /* [in][defaultvalue] */ VARIANT_BOOL reload = 0) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLPluginsCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLPluginsCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLPluginsCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLPluginsCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLPluginsCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLPluginsCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLPluginsCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLPluginsCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLPluginsCollection * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *refresh )( 
            __RPC__in IHTMLPluginsCollection * This,
            /* [in][defaultvalue] */ VARIANT_BOOL reload);
        
        END_INTERFACE
    } IHTMLPluginsCollectionVtbl;

    interface IHTMLPluginsCollection
    {
        CONST_VTBL struct IHTMLPluginsCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLPluginsCollection_get_length(This,p)	\
    ( (This)->lpVtbl -> get_length(This,p) ) 

#define IHTMLPluginsCollection_refresh(This,reload)	\
    ( (This)->lpVtbl -> refresh(This,reload) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLPluginsCollection_INTERFACE_DEFINED__ */


#ifndef __IOmHistory_INTERFACE_DEFINED__
#define __IOmHistory_INTERFACE_DEFINED__

/* interface IOmHistory */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IOmHistory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FECEAAA2-8405-11cf-8BA1-00AA00476DA6")
    IOmHistory : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out short *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE back( 
            /* [in][optional] */ __RPC__in VARIANT *pvargdistance) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE forward( 
            /* [in][optional] */ __RPC__in VARIANT *pvargdistance) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE go( 
            /* [in][optional] */ __RPC__in VARIANT *pvargdistance) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IOmHistoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IOmHistory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IOmHistory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IOmHistory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IOmHistory * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IOmHistory * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IOmHistory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IOmHistory * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IOmHistory * This,
            /* [out][retval] */ __RPC__out short *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *back )( 
            __RPC__in IOmHistory * This,
            /* [in][optional] */ __RPC__in VARIANT *pvargdistance);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *forward )( 
            __RPC__in IOmHistory * This,
            /* [in][optional] */ __RPC__in VARIANT *pvargdistance);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *go )( 
            __RPC__in IOmHistory * This,
            /* [in][optional] */ __RPC__in VARIANT *pvargdistance);
        
        END_INTERFACE
    } IOmHistoryVtbl;

    interface IOmHistory
    {
        CONST_VTBL struct IOmHistoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IOmHistory_INTERFACE_DEFINED__ */


#ifndef __IHTMLOpsProfile_INTERFACE_DEFINED__
#define __IHTMLOpsProfile_INTERFACE_DEFINED__

/* interface IHTMLOpsProfile */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLOpsProfile;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f401-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLOpsProfile : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE addRequest( 
            /* [in] */ __RPC__in BSTR name,
            /* [in][optional] */ VARIANT reserved,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *success) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE clearRequest( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE doRequest( 
            /* [in] */ VARIANT usage,
            /* [in][optional] */ VARIANT fname,
            /* [in][optional] */ VARIANT domain,
            /* [in][optional] */ VARIANT path,
            /* [in][optional] */ VARIANT expire,
            /* [in][optional] */ VARIANT reserved) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getAttribute( 
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *value) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setAttribute( 
            /* [in] */ __RPC__in BSTR name,
            /* [in] */ __RPC__in BSTR value,
            /* [in][optional] */ VARIANT prefs,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *success) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE commitChanges( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *success) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE addReadRequest( 
            /* [in] */ __RPC__in BSTR name,
            /* [in][optional] */ VARIANT reserved,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *success) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE doReadRequest( 
            /* [in] */ VARIANT usage,
            /* [in][optional] */ VARIANT fname,
            /* [in][optional] */ VARIANT domain,
            /* [in][optional] */ VARIANT path,
            /* [in][optional] */ VARIANT expire,
            /* [in][optional] */ VARIANT reserved) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE doWriteRequest( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *success) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLOpsProfileVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLOpsProfile * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLOpsProfile * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLOpsProfile * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLOpsProfile * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLOpsProfile * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLOpsProfile * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLOpsProfile * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *addRequest )( 
            __RPC__in IHTMLOpsProfile * This,
            /* [in] */ __RPC__in BSTR name,
            /* [in][optional] */ VARIANT reserved,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *success);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *clearRequest )( 
            __RPC__in IHTMLOpsProfile * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *doRequest )( 
            __RPC__in IHTMLOpsProfile * This,
            /* [in] */ VARIANT usage,
            /* [in][optional] */ VARIANT fname,
            /* [in][optional] */ VARIANT domain,
            /* [in][optional] */ VARIANT path,
            /* [in][optional] */ VARIANT expire,
            /* [in][optional] */ VARIANT reserved);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getAttribute )( 
            __RPC__in IHTMLOpsProfile * This,
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *value);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setAttribute )( 
            __RPC__in IHTMLOpsProfile * This,
            /* [in] */ __RPC__in BSTR name,
            /* [in] */ __RPC__in BSTR value,
            /* [in][optional] */ VARIANT prefs,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *success);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *commitChanges )( 
            __RPC__in IHTMLOpsProfile * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *success);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *addReadRequest )( 
            __RPC__in IHTMLOpsProfile * This,
            /* [in] */ __RPC__in BSTR name,
            /* [in][optional] */ VARIANT reserved,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *success);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *doReadRequest )( 
            __RPC__in IHTMLOpsProfile * This,
            /* [in] */ VARIANT usage,
            /* [in][optional] */ VARIANT fname,
            /* [in][optional] */ VARIANT domain,
            /* [in][optional] */ VARIANT path,
            /* [in][optional] */ VARIANT expire,
            /* [in][optional] */ VARIANT reserved);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *doWriteRequest )( 
            __RPC__in IHTMLOpsProfile * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *success);
        
        END_INTERFACE
    } IHTMLOpsProfileVtbl;

    interface IHTMLOpsProfile
    {
        CONST_VTBL struct IHTMLOpsProfileVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLOpsProfile_INTERFACE_DEFINED__ */


#ifndef __IOmNavigator_INTERFACE_DEFINED__
#define __IOmNavigator_INTERFACE_DEFINED__

/* interface IOmNavigator */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IOmNavigator;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FECEAAA5-8405-11cf-8BA1-00AA00476DA6")
    IOmNavigator : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_appCodeName( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_appName( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_appVersion( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_userAgent( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE javaEnabled( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *enabled) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE taintEnabled( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *enabled) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_mimeTypes( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLMimeTypesCollection **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_plugins( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLPluginsCollection **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cookieEnabled( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_opsProfile( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLOpsProfile **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE toString( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *string) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cpuClass( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_systemLanguage( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_browserLanguage( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_userLanguage( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_platform( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_appMinorVersion( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_connectionSpeed( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_onLine( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_userProfile( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLOpsProfile **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IOmNavigatorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IOmNavigator * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IOmNavigator * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IOmNavigator * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IOmNavigator * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IOmNavigator * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IOmNavigator * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IOmNavigator * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_appCodeName )( 
            __RPC__in IOmNavigator * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_appName )( 
            __RPC__in IOmNavigator * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_appVersion )( 
            __RPC__in IOmNavigator * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_userAgent )( 
            __RPC__in IOmNavigator * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *javaEnabled )( 
            __RPC__in IOmNavigator * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *enabled);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *taintEnabled )( 
            __RPC__in IOmNavigator * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *enabled);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_mimeTypes )( 
            __RPC__in IOmNavigator * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLMimeTypesCollection **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_plugins )( 
            __RPC__in IOmNavigator * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLPluginsCollection **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cookieEnabled )( 
            __RPC__in IOmNavigator * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_opsProfile )( 
            __RPC__in IOmNavigator * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLOpsProfile **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *toString )( 
            __RPC__in IOmNavigator * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *string);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cpuClass )( 
            __RPC__in IOmNavigator * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_systemLanguage )( 
            __RPC__in IOmNavigator * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_browserLanguage )( 
            __RPC__in IOmNavigator * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_userLanguage )( 
            __RPC__in IOmNavigator * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_platform )( 
            __RPC__in IOmNavigator * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_appMinorVersion )( 
            __RPC__in IOmNavigator * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_connectionSpeed )( 
            __RPC__in IOmNavigator * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onLine )( 
            __RPC__in IOmNavigator * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_userProfile )( 
            __RPC__in IOmNavigator * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLOpsProfile **p);
        
        END_INTERFACE
    } IOmNavigatorVtbl;

    interface IOmNavigator
    {
        CONST_VTBL struct IOmNavigatorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IOmNavigator_INTERFACE_DEFINED__ */


#ifndef __INavigatorGeolocation_INTERFACE_DEFINED__
#define __INavigatorGeolocation_INTERFACE_DEFINED__

/* interface INavigatorGeolocation */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_INavigatorGeolocation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305107cf-98b5-11cf-bb82-00aa00bdce0b")
    INavigatorGeolocation : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_geolocation( 
            /* [out][retval] */ __RPC__deref_out_opt IWebGeolocation **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct INavigatorGeolocationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in INavigatorGeolocation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in INavigatorGeolocation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in INavigatorGeolocation * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in INavigatorGeolocation * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in INavigatorGeolocation * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in INavigatorGeolocation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            INavigatorGeolocation * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_geolocation )( 
            __RPC__in INavigatorGeolocation * This,
            /* [out][retval] */ __RPC__deref_out_opt IWebGeolocation **p);
        
        END_INTERFACE
    } INavigatorGeolocationVtbl;

    interface INavigatorGeolocation
    {
        CONST_VTBL struct INavigatorGeolocationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define INavigatorGeolocation_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define INavigatorGeolocation_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define INavigatorGeolocation_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define INavigatorGeolocation_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define INavigatorGeolocation_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define INavigatorGeolocation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define INavigatorGeolocation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define INavigatorGeolocation_get_geolocation(This,p)	\
    ( (This)->lpVtbl -> get_geolocation(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __INavigatorGeolocation_INTERFACE_DEFINED__ */


#ifndef __INavigatorDoNotTrack_INTERFACE_DEFINED__
#define __INavigatorDoNotTrack_INTERFACE_DEFINED__

/* interface INavigatorDoNotTrack */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_INavigatorDoNotTrack;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510804-98b5-11cf-bb82-00aa00bdce0b")
    INavigatorDoNotTrack : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_msDoNotTrack( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct INavigatorDoNotTrackVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in INavigatorDoNotTrack * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in INavigatorDoNotTrack * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in INavigatorDoNotTrack * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in INavigatorDoNotTrack * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in INavigatorDoNotTrack * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in INavigatorDoNotTrack * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            INavigatorDoNotTrack * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msDoNotTrack )( 
            __RPC__in INavigatorDoNotTrack * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } INavigatorDoNotTrackVtbl;

    interface INavigatorDoNotTrack
    {
        CONST_VTBL struct INavigatorDoNotTrackVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define INavigatorDoNotTrack_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define INavigatorDoNotTrack_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define INavigatorDoNotTrack_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define INavigatorDoNotTrack_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define INavigatorDoNotTrack_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define INavigatorDoNotTrack_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define INavigatorDoNotTrack_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define INavigatorDoNotTrack_get_msDoNotTrack(This,p)	\
    ( (This)->lpVtbl -> get_msDoNotTrack(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __INavigatorDoNotTrack_INTERFACE_DEFINED__ */


#ifndef __IHTMLLocation_INTERFACE_DEFINED__
#define __IHTMLLocation_INTERFACE_DEFINED__

/* interface IHTMLLocation */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLLocation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("163BB1E0-6E00-11cf-837A-48DC04C10000")
    IHTMLLocation : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_href( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_href( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_protocol( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_protocol( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_host( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_host( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_hostname( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_hostname( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_port( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_port( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_pathname( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_pathname( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_search( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_search( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_hash( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_hash( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE reload( 
            /* [in][defaultvalue] */ VARIANT_BOOL flag = 0) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE replace( 
            /* [in] */ __RPC__in BSTR bstr) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE assign( 
            /* [in] */ __RPC__in BSTR bstr) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE toString( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *string) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLLocationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLLocation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLLocation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLLocation * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLLocation * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLLocation * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLLocation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLLocation * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_href )( 
            __RPC__in IHTMLLocation * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_href )( 
            __RPC__in IHTMLLocation * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_protocol )( 
            __RPC__in IHTMLLocation * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_protocol )( 
            __RPC__in IHTMLLocation * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_host )( 
            __RPC__in IHTMLLocation * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_host )( 
            __RPC__in IHTMLLocation * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_hostname )( 
            __RPC__in IHTMLLocation * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hostname )( 
            __RPC__in IHTMLLocation * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_port )( 
            __RPC__in IHTMLLocation * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_port )( 
            __RPC__in IHTMLLocation * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pathname )( 
            __RPC__in IHTMLLocation * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pathname )( 
            __RPC__in IHTMLLocation * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_search )( 
            __RPC__in IHTMLLocation * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_search )( 
            __RPC__in IHTMLLocation * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_hash )( 
            __RPC__in IHTMLLocation * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hash )( 
            __RPC__in IHTMLLocation * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *reload )( 
            __RPC__in IHTMLLocation * This,
            /* [in][defaultvalue] */ VARIANT_BOOL flag);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *replace )( 
            __RPC__in IHTMLLocation * This,
            /* [in] */ __RPC__in BSTR bstr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *assign )( 
            __RPC__in IHTMLLocation * This,
            /* [in] */ __RPC__in BSTR bstr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *toString )( 
            __RPC__in IHTMLLocation * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *string);
        
        END_INTERFACE
    } IHTMLLocationVtbl;

    interface IHTMLLocation
    {
        CONST_VTBL struct IHTMLLocationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLLocation_INTERFACE_DEFINED__ */


#ifndef __DispHTMLHistory_DISPINTERFACE_DEFINED__
#define __DispHTMLHistory_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLHistory */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLHistory;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f549-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLHistory : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLHistoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLHistory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLHistory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLHistory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLHistory * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLHistory * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLHistory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLHistory * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLHistoryVtbl;

    interface DispHTMLHistory
    {
        CONST_VTBL struct DispHTMLHistoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLHistory_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLHistory;

#ifdef __cplusplus

class DECLSPEC_UUID("FECEAAA3-8405-11cf-8BA1-00AA00476DA6")
HTMLHistory;
#endif

EXTERN_C const CLSID CLSID_COpsProfile;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f402-98b5-11cf-bb82-00aa00bdce0b")
COpsProfile;
#endif

#ifndef __DispHTMLNavigator_DISPINTERFACE_DEFINED__
#define __DispHTMLNavigator_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLNavigator */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLNavigator;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f54c-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLNavigator : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLNavigatorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLNavigator * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLNavigator * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLNavigator * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLNavigator * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLNavigator * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLNavigator * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLNavigator * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLNavigatorVtbl;

    interface DispHTMLNavigator
    {
        CONST_VTBL struct DispHTMLNavigatorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLNavigator_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLNavigator;

#ifdef __cplusplus

class DECLSPEC_UUID("FECEAAA6-8405-11cf-8BA1-00AA00476DA6")
HTMLNavigator;
#endif

#ifndef __DispHTMLLocation_DISPINTERFACE_DEFINED__
#define __DispHTMLLocation_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLLocation */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLLocation;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f54e-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLLocation : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLLocationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLLocation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLLocation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLLocation * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLLocation * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLLocation * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLLocation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLLocation * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLLocationVtbl;

    interface DispHTMLLocation
    {
        CONST_VTBL struct DispHTMLLocationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLLocation_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLLocation;

#ifdef __cplusplus

class DECLSPEC_UUID("163BB1E1-6E00-11cf-837A-48DC04C10000")
HTMLLocation;
#endif

EXTERN_C const CLSID CLSID_CMimeTypes;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f3fe-98b5-11cf-bb82-00aa00bdce0b")
CMimeTypes;
#endif

#ifndef __DispCPlugins_DISPINTERFACE_DEFINED__
#define __DispCPlugins_DISPINTERFACE_DEFINED__

/* dispinterface DispCPlugins */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispCPlugins;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f54a-98b5-11cf-bb82-00aa00bdce0b")
    DispCPlugins : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispCPluginsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispCPlugins * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispCPlugins * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispCPlugins * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispCPlugins * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispCPlugins * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispCPlugins * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispCPlugins * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispCPluginsVtbl;

    interface DispCPlugins
    {
        CONST_VTBL struct DispCPluginsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispCPlugins_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_CPlugins;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f3ff-98b5-11cf-bb82-00aa00bdce0b")
CPlugins;
#endif

#ifndef __IHTMLBookmarkCollection_INTERFACE_DEFINED__
#define __IHTMLBookmarkCollection_INTERFACE_DEFINED__

/* interface IHTMLBookmarkCollection */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLBookmarkCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4ce-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLBookmarkCollection : public IDispatch
    {
    public:
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__newEnum( 
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__out VARIANT *pVarBookmark) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLBookmarkCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLBookmarkCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLBookmarkCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLBookmarkCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLBookmarkCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLBookmarkCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLBookmarkCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLBookmarkCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLBookmarkCollection * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__newEnum )( 
            __RPC__in IHTMLBookmarkCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLBookmarkCollection * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__out VARIANT *pVarBookmark);
        
        END_INTERFACE
    } IHTMLBookmarkCollectionVtbl;

    interface IHTMLBookmarkCollection
    {
        CONST_VTBL struct IHTMLBookmarkCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLBookmarkCollection_INTERFACE_DEFINED__ */


#ifndef __IHTMLDataTransfer_INTERFACE_DEFINED__
#define __IHTMLDataTransfer_INTERFACE_DEFINED__

/* interface IHTMLDataTransfer */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDataTransfer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4b3-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDataTransfer : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setData( 
            /* [in] */ __RPC__in BSTR format,
            /* [in] */ __RPC__in VARIANT *data,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pret) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getData( 
            /* [in] */ __RPC__in BSTR format,
            /* [out][retval] */ __RPC__out VARIANT *pvarRet) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE clearData( 
            /* [in] */ __RPC__in BSTR format,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pret) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_dropEffect( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_dropEffect( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_effectAllowed( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_effectAllowed( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDataTransferVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDataTransfer * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDataTransfer * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDataTransfer * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDataTransfer * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDataTransfer * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDataTransfer * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDataTransfer * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setData )( 
            __RPC__in IHTMLDataTransfer * This,
            /* [in] */ __RPC__in BSTR format,
            /* [in] */ __RPC__in VARIANT *data,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pret);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getData )( 
            __RPC__in IHTMLDataTransfer * This,
            /* [in] */ __RPC__in BSTR format,
            /* [out][retval] */ __RPC__out VARIANT *pvarRet);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *clearData )( 
            __RPC__in IHTMLDataTransfer * This,
            /* [in] */ __RPC__in BSTR format,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pret);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_dropEffect )( 
            __RPC__in IHTMLDataTransfer * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dropEffect )( 
            __RPC__in IHTMLDataTransfer * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_effectAllowed )( 
            __RPC__in IHTMLDataTransfer * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectAllowed )( 
            __RPC__in IHTMLDataTransfer * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLDataTransferVtbl;

    interface IHTMLDataTransfer
    {
        CONST_VTBL struct IHTMLDataTransferVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDataTransfer_INTERFACE_DEFINED__ */


#ifndef __IHTMLEventObj2_INTERFACE_DEFINED__
#define __IHTMLEventObj2_INTERFACE_DEFINED__

/* interface IHTMLEventObj2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLEventObj2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f48B-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLEventObj2 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setAttribute( 
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in] */ VARIANT AttributeValue,
            /* [in][defaultvalue] */ LONG lFlags = 1) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getAttribute( 
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in][defaultvalue] */ LONG lFlags,
            /* [out][retval] */ __RPC__out VARIANT *AttributeValue) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeAttribute( 
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in][defaultvalue] */ LONG lFlags,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfSuccess) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_propertyName( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_propertyName( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_bookmarks( 
            /* [in] */ __RPC__in_opt IHTMLBookmarkCollection *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_bookmarks( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLBookmarkCollection **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_recordset( 
            /* [in] */ __RPC__in_opt IDispatch *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_recordset( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_dataFld( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_dataFld( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_boundElements( 
            /* [in] */ __RPC__in_opt IHTMLElementCollection *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_boundElements( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_repeat( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_repeat( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_srcUrn( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_srcUrn( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_srcElement( 
            /* [in] */ __RPC__in_opt IHTMLElement *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_srcElement( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_altKey( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_altKey( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_ctrlKey( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ctrlKey( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_shiftKey( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_shiftKey( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_fromElement( 
            /* [in] */ __RPC__in_opt IHTMLElement *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_fromElement( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_toElement( 
            /* [in] */ __RPC__in_opt IHTMLElement *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_toElement( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_button( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_button( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_type( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_qualifier( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_qualifier( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_reason( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_reason( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_clientX( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_clientX( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_clientY( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_clientY( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_offsetX( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_offsetX( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_offsetY( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_offsetY( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_screenX( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_screenX( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_screenY( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_screenY( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_srcFilter( 
            /* [in] */ __RPC__in_opt IDispatch *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_srcFilter( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_dataTransfer( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDataTransfer **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLEventObj2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLEventObj2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLEventObj2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLEventObj2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setAttribute )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in] */ VARIANT AttributeValue,
            /* [in][defaultvalue] */ LONG lFlags);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getAttribute )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in][defaultvalue] */ LONG lFlags,
            /* [out][retval] */ __RPC__out VARIANT *AttributeValue);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeAttribute )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ __RPC__in BSTR strAttributeName,
            /* [in][defaultvalue] */ LONG lFlags,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfSuccess);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_propertyName )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_propertyName )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_bookmarks )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ __RPC__in_opt IHTMLBookmarkCollection *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bookmarks )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLBookmarkCollection **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_recordset )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ __RPC__in_opt IDispatch *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_recordset )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_dataFld )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataFld )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_boundElements )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ __RPC__in_opt IHTMLElementCollection *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_boundElements )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_repeat )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_repeat )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_srcUrn )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_srcUrn )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_srcElement )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ __RPC__in_opt IHTMLElement *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_srcElement )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_altKey )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_altKey )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ctrlKey )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ctrlKey )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_shiftKey )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_shiftKey )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_fromElement )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ __RPC__in_opt IHTMLElement *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fromElement )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_toElement )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ __RPC__in_opt IHTMLElement *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_toElement )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_button )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_button )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_type )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_qualifier )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_qualifier )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_reason )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_reason )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_clientX )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clientX )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_clientY )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clientY )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_offsetX )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetX )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_offsetY )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetY )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_screenX )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_screenX )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_screenY )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_screenY )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_srcFilter )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [in] */ __RPC__in_opt IDispatch *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_srcFilter )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataTransfer )( 
            __RPC__in IHTMLEventObj2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDataTransfer **p);
        
        END_INTERFACE
    } IHTMLEventObj2Vtbl;

    interface IHTMLEventObj2
    {
        CONST_VTBL struct IHTMLEventObj2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLEventObj2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLEventObj2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLEventObj2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLEventObj2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLEventObj2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLEventObj2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLEventObj2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLEventObj2_setAttribute(This,strAttributeName,AttributeValue,lFlags)	\
    ( (This)->lpVtbl -> setAttribute(This,strAttributeName,AttributeValue,lFlags) ) 

#define IHTMLEventObj2_getAttribute(This,strAttributeName,lFlags,AttributeValue)	\
    ( (This)->lpVtbl -> getAttribute(This,strAttributeName,lFlags,AttributeValue) ) 

#define IHTMLEventObj2_removeAttribute(This,strAttributeName,lFlags,pfSuccess)	\
    ( (This)->lpVtbl -> removeAttribute(This,strAttributeName,lFlags,pfSuccess) ) 

#define IHTMLEventObj2_put_propertyName(This,v)	\
    ( (This)->lpVtbl -> put_propertyName(This,v) ) 

#define IHTMLEventObj2_get_propertyName(This,p)	\
    ( (This)->lpVtbl -> get_propertyName(This,p) ) 

#define IHTMLEventObj2_putref_bookmarks(This,v)	\
    ( (This)->lpVtbl -> putref_bookmarks(This,v) ) 

#define IHTMLEventObj2_get_bookmarks(This,p)	\
    ( (This)->lpVtbl -> get_bookmarks(This,p) ) 

#define IHTMLEventObj2_putref_recordset(This,v)	\
    ( (This)->lpVtbl -> putref_recordset(This,v) ) 

#define IHTMLEventObj2_get_recordset(This,p)	\
    ( (This)->lpVtbl -> get_recordset(This,p) ) 

#define IHTMLEventObj2_put_dataFld(This,v)	\
    ( (This)->lpVtbl -> put_dataFld(This,v) ) 

#define IHTMLEventObj2_get_dataFld(This,p)	\
    ( (This)->lpVtbl -> get_dataFld(This,p) ) 

#define IHTMLEventObj2_putref_boundElements(This,v)	\
    ( (This)->lpVtbl -> putref_boundElements(This,v) ) 

#define IHTMLEventObj2_get_boundElements(This,p)	\
    ( (This)->lpVtbl -> get_boundElements(This,p) ) 

#define IHTMLEventObj2_put_repeat(This,v)	\
    ( (This)->lpVtbl -> put_repeat(This,v) ) 

#define IHTMLEventObj2_get_repeat(This,p)	\
    ( (This)->lpVtbl -> get_repeat(This,p) ) 

#define IHTMLEventObj2_put_srcUrn(This,v)	\
    ( (This)->lpVtbl -> put_srcUrn(This,v) ) 

#define IHTMLEventObj2_get_srcUrn(This,p)	\
    ( (This)->lpVtbl -> get_srcUrn(This,p) ) 

#define IHTMLEventObj2_putref_srcElement(This,v)	\
    ( (This)->lpVtbl -> putref_srcElement(This,v) ) 

#define IHTMLEventObj2_get_srcElement(This,p)	\
    ( (This)->lpVtbl -> get_srcElement(This,p) ) 

#define IHTMLEventObj2_put_altKey(This,v)	\
    ( (This)->lpVtbl -> put_altKey(This,v) ) 

#define IHTMLEventObj2_get_altKey(This,p)	\
    ( (This)->lpVtbl -> get_altKey(This,p) ) 

#define IHTMLEventObj2_put_ctrlKey(This,v)	\
    ( (This)->lpVtbl -> put_ctrlKey(This,v) ) 

#define IHTMLEventObj2_get_ctrlKey(This,p)	\
    ( (This)->lpVtbl -> get_ctrlKey(This,p) ) 

#define IHTMLEventObj2_put_shiftKey(This,v)	\
    ( (This)->lpVtbl -> put_shiftKey(This,v) ) 

#define IHTMLEventObj2_get_shiftKey(This,p)	\
    ( (This)->lpVtbl -> get_shiftKey(This,p) ) 

#define IHTMLEventObj2_putref_fromElement(This,v)	\
    ( (This)->lpVtbl -> putref_fromElement(This,v) ) 

#define IHTMLEventObj2_get_fromElement(This,p)	\
    ( (This)->lpVtbl -> get_fromElement(This,p) ) 

#define IHTMLEventObj2_putref_toElement(This,v)	\
    ( (This)->lpVtbl -> putref_toElement(This,v) ) 

#define IHTMLEventObj2_get_toElement(This,p)	\
    ( (This)->lpVtbl -> get_toElement(This,p) ) 

#define IHTMLEventObj2_put_button(This,v)	\
    ( (This)->lpVtbl -> put_button(This,v) ) 

#define IHTMLEventObj2_get_button(This,p)	\
    ( (This)->lpVtbl -> get_button(This,p) ) 

#define IHTMLEventObj2_put_type(This,v)	\
    ( (This)->lpVtbl -> put_type(This,v) ) 

#define IHTMLEventObj2_get_type(This,p)	\
    ( (This)->lpVtbl -> get_type(This,p) ) 

#define IHTMLEventObj2_put_qualifier(This,v)	\
    ( (This)->lpVtbl -> put_qualifier(This,v) ) 

#define IHTMLEventObj2_get_qualifier(This,p)	\
    ( (This)->lpVtbl -> get_qualifier(This,p) ) 

#define IHTMLEventObj2_put_reason(This,v)	\
    ( (This)->lpVtbl -> put_reason(This,v) ) 

#define IHTMLEventObj2_get_reason(This,p)	\
    ( (This)->lpVtbl -> get_reason(This,p) ) 

#define IHTMLEventObj2_put_x(This,v)	\
    ( (This)->lpVtbl -> put_x(This,v) ) 

#define IHTMLEventObj2_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#define IHTMLEventObj2_put_y(This,v)	\
    ( (This)->lpVtbl -> put_y(This,v) ) 

#define IHTMLEventObj2_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#define IHTMLEventObj2_put_clientX(This,v)	\
    ( (This)->lpVtbl -> put_clientX(This,v) ) 

#define IHTMLEventObj2_get_clientX(This,p)	\
    ( (This)->lpVtbl -> get_clientX(This,p) ) 

#define IHTMLEventObj2_put_clientY(This,v)	\
    ( (This)->lpVtbl -> put_clientY(This,v) ) 

#define IHTMLEventObj2_get_clientY(This,p)	\
    ( (This)->lpVtbl -> get_clientY(This,p) ) 

#define IHTMLEventObj2_put_offsetX(This,v)	\
    ( (This)->lpVtbl -> put_offsetX(This,v) ) 

#define IHTMLEventObj2_get_offsetX(This,p)	\
    ( (This)->lpVtbl -> get_offsetX(This,p) ) 

#define IHTMLEventObj2_put_offsetY(This,v)	\
    ( (This)->lpVtbl -> put_offsetY(This,v) ) 

#define IHTMLEventObj2_get_offsetY(This,p)	\
    ( (This)->lpVtbl -> get_offsetY(This,p) ) 

#define IHTMLEventObj2_put_screenX(This,v)	\
    ( (This)->lpVtbl -> put_screenX(This,v) ) 

#define IHTMLEventObj2_get_screenX(This,p)	\
    ( (This)->lpVtbl -> get_screenX(This,p) ) 

#define IHTMLEventObj2_put_screenY(This,v)	\
    ( (This)->lpVtbl -> put_screenY(This,v) ) 

#define IHTMLEventObj2_get_screenY(This,p)	\
    ( (This)->lpVtbl -> get_screenY(This,p) ) 

#define IHTMLEventObj2_putref_srcFilter(This,v)	\
    ( (This)->lpVtbl -> putref_srcFilter(This,v) ) 

#define IHTMLEventObj2_get_srcFilter(This,p)	\
    ( (This)->lpVtbl -> get_srcFilter(This,p) ) 

#define IHTMLEventObj2_get_dataTransfer(This,p)	\
    ( (This)->lpVtbl -> get_dataTransfer(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLEventObj2_INTERFACE_DEFINED__ */


#ifndef __IHTMLEventObj3_INTERFACE_DEFINED__
#define __IHTMLEventObj3_INTERFACE_DEFINED__

/* interface IHTMLEventObj3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLEventObj3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f680-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLEventObj3 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_contentOverflow( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_shiftLeft( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_shiftLeft( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_altLeft( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_altLeft( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_ctrlLeft( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ctrlLeft( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [nonbrowsable][restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_imeCompositionChange( 
            /* [out][retval] */ __RPC__out LONG_PTR *p) = 0;
        
        virtual /* [nonbrowsable][restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_imeNotifyCommand( 
            /* [out][retval] */ __RPC__out LONG_PTR *p) = 0;
        
        virtual /* [nonbrowsable][restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_imeNotifyData( 
            /* [out][retval] */ __RPC__out LONG_PTR *p) = 0;
        
        virtual /* [nonbrowsable][restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_imeRequest( 
            /* [out][retval] */ __RPC__out LONG_PTR *p) = 0;
        
        virtual /* [nonbrowsable][restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_imeRequestData( 
            /* [out][retval] */ __RPC__out LONG_PTR *p) = 0;
        
        virtual /* [nonbrowsable][restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_keyboardLayout( 
            /* [out][retval] */ __RPC__out LONG_PTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_behaviorCookie( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_behaviorPart( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_nextPage( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLEventObj3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLEventObj3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLEventObj3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLEventObj3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLEventObj3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLEventObj3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLEventObj3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLEventObj3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_contentOverflow )( 
            __RPC__in IHTMLEventObj3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_shiftLeft )( 
            __RPC__in IHTMLEventObj3 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_shiftLeft )( 
            __RPC__in IHTMLEventObj3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_altLeft )( 
            __RPC__in IHTMLEventObj3 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_altLeft )( 
            __RPC__in IHTMLEventObj3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ctrlLeft )( 
            __RPC__in IHTMLEventObj3 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ctrlLeft )( 
            __RPC__in IHTMLEventObj3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [nonbrowsable][restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_imeCompositionChange )( 
            __RPC__in IHTMLEventObj3 * This,
            /* [out][retval] */ __RPC__out LONG_PTR *p);
        
        /* [nonbrowsable][restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_imeNotifyCommand )( 
            __RPC__in IHTMLEventObj3 * This,
            /* [out][retval] */ __RPC__out LONG_PTR *p);
        
        /* [nonbrowsable][restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_imeNotifyData )( 
            __RPC__in IHTMLEventObj3 * This,
            /* [out][retval] */ __RPC__out LONG_PTR *p);
        
        /* [nonbrowsable][restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_imeRequest )( 
            __RPC__in IHTMLEventObj3 * This,
            /* [out][retval] */ __RPC__out LONG_PTR *p);
        
        /* [nonbrowsable][restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_imeRequestData )( 
            __RPC__in IHTMLEventObj3 * This,
            /* [out][retval] */ __RPC__out LONG_PTR *p);
        
        /* [nonbrowsable][restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_keyboardLayout )( 
            __RPC__in IHTMLEventObj3 * This,
            /* [out][retval] */ __RPC__out LONG_PTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_behaviorCookie )( 
            __RPC__in IHTMLEventObj3 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_behaviorPart )( 
            __RPC__in IHTMLEventObj3 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextPage )( 
            __RPC__in IHTMLEventObj3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLEventObj3Vtbl;

    interface IHTMLEventObj3
    {
        CONST_VTBL struct IHTMLEventObj3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLEventObj3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLEventObj3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLEventObj3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLEventObj3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLEventObj3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLEventObj3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLEventObj3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLEventObj3_get_contentOverflow(This,p)	\
    ( (This)->lpVtbl -> get_contentOverflow(This,p) ) 

#define IHTMLEventObj3_put_shiftLeft(This,v)	\
    ( (This)->lpVtbl -> put_shiftLeft(This,v) ) 

#define IHTMLEventObj3_get_shiftLeft(This,p)	\
    ( (This)->lpVtbl -> get_shiftLeft(This,p) ) 

#define IHTMLEventObj3_put_altLeft(This,v)	\
    ( (This)->lpVtbl -> put_altLeft(This,v) ) 

#define IHTMLEventObj3_get_altLeft(This,p)	\
    ( (This)->lpVtbl -> get_altLeft(This,p) ) 

#define IHTMLEventObj3_put_ctrlLeft(This,v)	\
    ( (This)->lpVtbl -> put_ctrlLeft(This,v) ) 

#define IHTMLEventObj3_get_ctrlLeft(This,p)	\
    ( (This)->lpVtbl -> get_ctrlLeft(This,p) ) 

#define IHTMLEventObj3_get_imeCompositionChange(This,p)	\
    ( (This)->lpVtbl -> get_imeCompositionChange(This,p) ) 

#define IHTMLEventObj3_get_imeNotifyCommand(This,p)	\
    ( (This)->lpVtbl -> get_imeNotifyCommand(This,p) ) 

#define IHTMLEventObj3_get_imeNotifyData(This,p)	\
    ( (This)->lpVtbl -> get_imeNotifyData(This,p) ) 

#define IHTMLEventObj3_get_imeRequest(This,p)	\
    ( (This)->lpVtbl -> get_imeRequest(This,p) ) 

#define IHTMLEventObj3_get_imeRequestData(This,p)	\
    ( (This)->lpVtbl -> get_imeRequestData(This,p) ) 

#define IHTMLEventObj3_get_keyboardLayout(This,p)	\
    ( (This)->lpVtbl -> get_keyboardLayout(This,p) ) 

#define IHTMLEventObj3_get_behaviorCookie(This,p)	\
    ( (This)->lpVtbl -> get_behaviorCookie(This,p) ) 

#define IHTMLEventObj3_get_behaviorPart(This,p)	\
    ( (This)->lpVtbl -> get_behaviorPart(This,p) ) 

#define IHTMLEventObj3_get_nextPage(This,p)	\
    ( (This)->lpVtbl -> get_nextPage(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLEventObj3_INTERFACE_DEFINED__ */


#ifndef __IHTMLEventObj4_INTERFACE_DEFINED__
#define __IHTMLEventObj4_INTERFACE_DEFINED__

/* interface IHTMLEventObj4 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLEventObj4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f814-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLEventObj4 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_wheelDelta( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLEventObj4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLEventObj4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLEventObj4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLEventObj4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLEventObj4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLEventObj4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLEventObj4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLEventObj4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_wheelDelta )( 
            __RPC__in IHTMLEventObj4 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        END_INTERFACE
    } IHTMLEventObj4Vtbl;

    interface IHTMLEventObj4
    {
        CONST_VTBL struct IHTMLEventObj4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLEventObj4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLEventObj4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLEventObj4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLEventObj4_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLEventObj4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLEventObj4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLEventObj4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLEventObj4_get_wheelDelta(This,p)	\
    ( (This)->lpVtbl -> get_wheelDelta(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLEventObj4_INTERFACE_DEFINED__ */


#ifndef __IHTMLEventObj5_INTERFACE_DEFINED__
#define __IHTMLEventObj5_INTERFACE_DEFINED__

/* interface IHTMLEventObj5 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLEventObj5;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510478-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLEventObj5 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_url( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_url( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_data( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_data( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_source( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_origin( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_origin( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [nonbrowsable][restricted][hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_issession( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [nonbrowsable][restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_issession( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLEventObj5Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLEventObj5 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLEventObj5 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLEventObj5 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLEventObj5 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLEventObj5 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLEventObj5 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLEventObj5 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_url )( 
            __RPC__in IHTMLEventObj5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_url )( 
            __RPC__in IHTMLEventObj5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_data )( 
            __RPC__in IHTMLEventObj5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_data )( 
            __RPC__in IHTMLEventObj5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_source )( 
            __RPC__in IHTMLEventObj5 * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_origin )( 
            __RPC__in IHTMLEventObj5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_origin )( 
            __RPC__in IHTMLEventObj5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [nonbrowsable][restricted][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_issession )( 
            __RPC__in IHTMLEventObj5 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [nonbrowsable][restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_issession )( 
            __RPC__in IHTMLEventObj5 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        END_INTERFACE
    } IHTMLEventObj5Vtbl;

    interface IHTMLEventObj5
    {
        CONST_VTBL struct IHTMLEventObj5Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLEventObj5_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLEventObj5_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLEventObj5_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLEventObj5_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLEventObj5_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLEventObj5_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLEventObj5_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLEventObj5_put_url(This,v)	\
    ( (This)->lpVtbl -> put_url(This,v) ) 

#define IHTMLEventObj5_get_url(This,p)	\
    ( (This)->lpVtbl -> get_url(This,p) ) 

#define IHTMLEventObj5_put_data(This,v)	\
    ( (This)->lpVtbl -> put_data(This,v) ) 

#define IHTMLEventObj5_get_data(This,p)	\
    ( (This)->lpVtbl -> get_data(This,p) ) 

#define IHTMLEventObj5_get_source(This,p)	\
    ( (This)->lpVtbl -> get_source(This,p) ) 

#define IHTMLEventObj5_put_origin(This,v)	\
    ( (This)->lpVtbl -> put_origin(This,v) ) 

#define IHTMLEventObj5_get_origin(This,p)	\
    ( (This)->lpVtbl -> get_origin(This,p) ) 

#define IHTMLEventObj5_put_issession(This,v)	\
    ( (This)->lpVtbl -> put_issession(This,v) ) 

#define IHTMLEventObj5_get_issession(This,p)	\
    ( (This)->lpVtbl -> get_issession(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLEventObj5_INTERFACE_DEFINED__ */


#ifndef __IHTMLEventObj6_INTERFACE_DEFINED__
#define __IHTMLEventObj6_INTERFACE_DEFINED__

/* interface IHTMLEventObj6 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLEventObj6;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510734-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLEventObj6 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_actionURL( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_buttonID( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLEventObj6Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLEventObj6 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLEventObj6 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLEventObj6 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLEventObj6 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLEventObj6 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLEventObj6 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLEventObj6 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_actionURL )( 
            __RPC__in IHTMLEventObj6 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_buttonID )( 
            __RPC__in IHTMLEventObj6 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        END_INTERFACE
    } IHTMLEventObj6Vtbl;

    interface IHTMLEventObj6
    {
        CONST_VTBL struct IHTMLEventObj6Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLEventObj6_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLEventObj6_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLEventObj6_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLEventObj6_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLEventObj6_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLEventObj6_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLEventObj6_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLEventObj6_get_actionURL(This,p)	\
    ( (This)->lpVtbl -> get_actionURL(This,p) ) 

#define IHTMLEventObj6_get_buttonID(This,p)	\
    ( (This)->lpVtbl -> get_buttonID(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLEventObj6_INTERFACE_DEFINED__ */


#ifndef __DispCEventObj_DISPINTERFACE_DEFINED__
#define __DispCEventObj_DISPINTERFACE_DEFINED__

/* dispinterface DispCEventObj */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispCEventObj;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f558-98b5-11cf-bb82-00aa00bdce0b")
    DispCEventObj : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispCEventObjVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispCEventObj * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispCEventObj * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispCEventObj * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispCEventObj * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispCEventObj * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispCEventObj * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispCEventObj * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispCEventObjVtbl;

    interface DispCEventObj
    {
        CONST_VTBL struct DispCEventObjVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispCEventObj_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_CEventObj;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f48A-98b5-11cf-bb82-00aa00bdce0b")
CEventObj;
#endif

#ifndef __IHTMLStyleMedia_INTERFACE_DEFINED__
#define __IHTMLStyleMedia_INTERFACE_DEFINED__

/* interface IHTMLStyleMedia */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyleMedia;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051074b-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyleMedia : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE matchMedium( 
            /* [in] */ __RPC__in BSTR mediaQuery,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *matches) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyleMediaVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyleMedia * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyleMedia * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyleMedia * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyleMedia * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyleMedia * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyleMedia * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyleMedia * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLStyleMedia * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *matchMedium )( 
            __RPC__in IHTMLStyleMedia * This,
            /* [in] */ __RPC__in BSTR mediaQuery,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *matches);
        
        END_INTERFACE
    } IHTMLStyleMediaVtbl;

    interface IHTMLStyleMedia
    {
        CONST_VTBL struct IHTMLStyleMediaVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLStyleMedia_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLStyleMedia_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLStyleMedia_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLStyleMedia_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLStyleMedia_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLStyleMedia_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLStyleMedia_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLStyleMedia_get_type(This,p)	\
    ( (This)->lpVtbl -> get_type(This,p) ) 

#define IHTMLStyleMedia_matchMedium(This,mediaQuery,matches)	\
    ( (This)->lpVtbl -> matchMedium(This,mediaQuery,matches) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyleMedia_INTERFACE_DEFINED__ */


#ifndef __DispHTMLStyleMedia_DISPINTERFACE_DEFINED__
#define __DispHTMLStyleMedia_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLStyleMedia */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLStyleMedia;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059009e-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLStyleMedia : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLStyleMediaVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLStyleMedia * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLStyleMedia * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLStyleMedia * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLStyleMedia * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLStyleMedia * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLStyleMedia * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLStyleMedia * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLStyleMediaVtbl;

    interface DispHTMLStyleMedia
    {
        CONST_VTBL struct DispHTMLStyleMediaVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLStyleMedia_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLStyleMedia_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLStyleMedia_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLStyleMedia_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLStyleMedia_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLStyleMedia_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLStyleMedia_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLStyleMedia_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLStyleMedia;

#ifdef __cplusplus

class DECLSPEC_UUID("3051074c-98b5-11cf-bb82-00aa00bdce0b")
HTMLStyleMedia;
#endif

#ifndef __IHTMLFramesCollection2_INTERFACE_DEFINED__
#define __IHTMLFramesCollection2_INTERFACE_DEFINED__

/* interface IHTMLFramesCollection2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLFramesCollection2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("332c4426-26cb-11d0-b483-00c04fd90119")
    IHTMLFramesCollection2 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ __RPC__in VARIANT *pvarIndex,
            /* [out][retval] */ __RPC__out VARIANT *pvarResult) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLFramesCollection2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLFramesCollection2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLFramesCollection2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLFramesCollection2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLFramesCollection2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLFramesCollection2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLFramesCollection2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLFramesCollection2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLFramesCollection2 * This,
            /* [in] */ __RPC__in VARIANT *pvarIndex,
            /* [out][retval] */ __RPC__out VARIANT *pvarResult);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLFramesCollection2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        END_INTERFACE
    } IHTMLFramesCollection2Vtbl;

    interface IHTMLFramesCollection2
    {
        CONST_VTBL struct IHTMLFramesCollection2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLFramesCollection2_item(This,pvarIndex,pvarResult)	\
    ( (This)->lpVtbl -> item(This,pvarIndex,pvarResult) ) 

#define IHTMLFramesCollection2_get_length(This,p)	\
    ( (This)->lpVtbl -> get_length(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLFramesCollection2_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_FramesCollection;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f7f6-98b5-11cf-bb82-00aa00bdce0b")
FramesCollection;
#endif

#ifndef __HTMLWindowEvents3_DISPINTERFACE_DEFINED__
#define __HTMLWindowEvents3_DISPINTERFACE_DEFINED__

/* dispinterface HTMLWindowEvents3 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLWindowEvents3;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f5a1-98b5-11cf-bb82-00aa00bdce0b")
    HTMLWindowEvents3 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLWindowEvents3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLWindowEvents3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLWindowEvents3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLWindowEvents3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLWindowEvents3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLWindowEvents3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLWindowEvents3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLWindowEvents3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLWindowEvents3Vtbl;

    interface HTMLWindowEvents3
    {
        CONST_VTBL struct HTMLWindowEvents3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLWindowEvents3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLWindowEvents3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLWindowEvents3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLWindowEvents3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLWindowEvents3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLWindowEvents3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLWindowEvents3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLWindowEvents3_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLWindowEvents2_DISPINTERFACE_DEFINED__
#define __HTMLWindowEvents2_DISPINTERFACE_DEFINED__

/* dispinterface HTMLWindowEvents2 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLWindowEvents2;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f625-98b5-11cf-bb82-00aa00bdce0b")
    HTMLWindowEvents2 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLWindowEvents2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLWindowEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLWindowEvents2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLWindowEvents2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLWindowEvents2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLWindowEvents2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLWindowEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLWindowEvents2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLWindowEvents2Vtbl;

    interface HTMLWindowEvents2
    {
        CONST_VTBL struct HTMLWindowEvents2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLWindowEvents2_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLWindowEvents_DISPINTERFACE_DEFINED__
#define __HTMLWindowEvents_DISPINTERFACE_DEFINED__

/* dispinterface HTMLWindowEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLWindowEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("96A0A4E0-D062-11cf-94B6-00AA0060275C")
    HTMLWindowEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLWindowEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLWindowEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLWindowEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLWindowEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLWindowEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLWindowEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLWindowEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLWindowEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLWindowEventsVtbl;

    interface HTMLWindowEvents
    {
        CONST_VTBL struct HTMLWindowEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLWindowEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IHTMLDocument2_INTERFACE_DEFINED__
#define __IHTMLDocument2_INTERFACE_DEFINED__

/* interface IHTMLDocument2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDocument2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("332c4425-26cb-11d0-b483-00c04fd90119")
    IHTMLDocument2 : public IHTMLDocument
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_all( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_body( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_activeElement( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_images( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_applets( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_links( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_forms( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_anchors( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_title( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_title( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_scripts( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p) = 0;
        
        virtual /* [hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_designMode( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_designMode( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_selection( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLSelectionObject **p) = 0;
        
        virtual /* [bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_readyState( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_frames( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFramesCollection2 **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_embeds( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_plugins( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_alinkColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_alinkColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_bgColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_bgColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_fgColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_fgColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_linkColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_linkColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_vlinkColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_vlinkColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_referrer( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_location( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLLocation **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_lastModified( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_URL( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_URL( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_domain( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_domain( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_cookie( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cookie( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [hidden][bindable][id][propput] */ HRESULT STDMETHODCALLTYPE put_expando( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [hidden][bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_expando( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_charset( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_charset( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_defaultCharset( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_defaultCharset( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_mimeType( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_fileSize( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_fileCreatedDate( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_fileModifiedDate( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_fileUpdatedDate( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_security( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_protocol( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_nameProp( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][vararg] */ HRESULT STDMETHODCALLTYPE write( 
            /* [in] */ __RPC__in SAFEARRAY * psarray) = 0;
        
        virtual /* [id][vararg] */ HRESULT STDMETHODCALLTYPE writeln( 
            /* [in] */ __RPC__in SAFEARRAY * psarray) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE open( 
            /* [in][defaultvalue] */ __RPC__in BSTR url,
            /* [in][optional] */ VARIANT name,
            /* [in][optional] */ VARIANT features,
            /* [in][optional] */ VARIANT replace,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pomWindowResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE close( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE clear( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE queryCommandSupported( 
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE queryCommandEnabled( 
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE queryCommandState( 
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE queryCommandIndeterm( 
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE queryCommandText( 
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pcmdText) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE queryCommandValue( 
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT *pcmdValue) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE execCommand( 
            /* [in] */ __RPC__in BSTR cmdID,
            /* [in][defaultvalue] */ VARIANT_BOOL showUI,
            /* [in][optional] */ VARIANT value,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE execCommandShowHelp( 
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createElement( 
            /* [in] */ __RPC__in BSTR eTag,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **newElem) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onhelp( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onhelp( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onclick( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onclick( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondblclick( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondblclick( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onkeyup( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onkeyup( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onkeydown( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onkeydown( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onkeypress( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onkeypress( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmouseup( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmouseup( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmousedown( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmousedown( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmousemove( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmousemove( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmouseout( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmouseout( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmouseover( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmouseover( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onreadystatechange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onreadystatechange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onafterupdate( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onafterupdate( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onrowexit( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onrowexit( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onrowenter( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onrowenter( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondragstart( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondragstart( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onselectstart( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onselectstart( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE elementFromPoint( 
            /* [in] */ long x,
            /* [in] */ long y,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **elementHit) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_parentWindow( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLWindow2 **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_styleSheets( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheetsCollection **p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onbeforeupdate( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onbeforeupdate( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onerrorupdate( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onerrorupdate( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE toString( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *String) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createStyleSheet( 
            /* [in][defaultvalue] */ __RPC__in BSTR bstrHref,
            /* [in][defaultvalue] */ long lIndex,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheet **ppnewStyleSheet) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDocument2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDocument2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDocument2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDocument2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Script )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_all )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_body )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_activeElement )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_images )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_applets )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_links )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_forms )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_anchors )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_title )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_title )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scripts )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p);
        
        /* [hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_designMode )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_designMode )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLSelectionObject **p);
        
        /* [bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_readyState )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frames )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFramesCollection2 **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_embeds )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_plugins )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_alinkColor )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_alinkColor )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_bgColor )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bgColor )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_fgColor )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fgColor )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_linkColor )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_linkColor )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_vlinkColor )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_vlinkColor )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_referrer )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_location )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLLocation **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastModified )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_URL )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_URL )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_domain )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_domain )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_cookie )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cookie )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [hidden][bindable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_expando )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [hidden][bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_expando )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_charset )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_charset )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_defaultCharset )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_defaultCharset )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_mimeType )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fileSize )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fileCreatedDate )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fileModifiedDate )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fileUpdatedDate )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_security )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_protocol )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nameProp )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][vararg] */ HRESULT ( STDMETHODCALLTYPE *write )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ __RPC__in SAFEARRAY * psarray);
        
        /* [id][vararg] */ HRESULT ( STDMETHODCALLTYPE *writeln )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ __RPC__in SAFEARRAY * psarray);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *open )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in][defaultvalue] */ __RPC__in BSTR url,
            /* [in][optional] */ VARIANT name,
            /* [in][optional] */ VARIANT features,
            /* [in][optional] */ VARIANT replace,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pomWindowResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *close )( 
            __RPC__in IHTMLDocument2 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *clear )( 
            __RPC__in IHTMLDocument2 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *queryCommandSupported )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *queryCommandEnabled )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *queryCommandState )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *queryCommandIndeterm )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *queryCommandText )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pcmdText);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *queryCommandValue )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT *pcmdValue);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *execCommand )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ __RPC__in BSTR cmdID,
            /* [in][defaultvalue] */ VARIANT_BOOL showUI,
            /* [in][optional] */ VARIANT value,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *execCommandShowHelp )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ __RPC__in BSTR cmdID,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfRet);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createElement )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ __RPC__in BSTR eTag,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **newElem);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onhelp )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onhelp )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onclick )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onclick )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondblclick )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondblclick )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onkeyup )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onkeyup )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onkeydown )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onkeydown )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onkeypress )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onkeypress )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmouseup )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmouseup )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmousedown )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmousedown )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmousemove )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmousemove )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmouseout )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmouseout )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmouseover )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmouseover )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onreadystatechange )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onreadystatechange )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onafterupdate )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onafterupdate )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onrowexit )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onrowexit )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onrowenter )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onrowenter )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondragstart )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondragstart )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onselectstart )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onselectstart )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *elementFromPoint )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ long x,
            /* [in] */ long y,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **elementHit);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_parentWindow )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLWindow2 **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_styleSheets )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheetsCollection **p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onbeforeupdate )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onbeforeupdate )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onerrorupdate )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onerrorupdate )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *toString )( 
            __RPC__in IHTMLDocument2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *String);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createStyleSheet )( 
            __RPC__in IHTMLDocument2 * This,
            /* [in][defaultvalue] */ __RPC__in BSTR bstrHref,
            /* [in][defaultvalue] */ long lIndex,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheet **ppnewStyleSheet);
        
        END_INTERFACE
    } IHTMLDocument2Vtbl;

    interface IHTMLDocument2
    {
        CONST_VTBL struct IHTMLDocument2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLDocument2_get_Script(This,p)	\
    ( (This)->lpVtbl -> get_Script(This,p) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDocument2_INTERFACE_DEFINED__ */


#ifndef __IHTMLWindow2_INTERFACE_DEFINED__
#define __IHTMLWindow2_INTERFACE_DEFINED__

/* interface IHTMLWindow2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLWindow2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("332c4427-26cb-11d0-b483-00c04fd90119")
    IHTMLWindow2 : public IHTMLFramesCollection2
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_frames( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFramesCollection2 **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_defaultStatus( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_defaultStatus( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_status( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_status( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setTimeout( 
            /* [in] */ __RPC__in BSTR expression,
            /* [in] */ long msec,
            /* [in][optional] */ __RPC__in VARIANT *language,
            /* [out][retval] */ __RPC__out long *timerID) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE clearTimeout( 
            /* [in] */ long timerID) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE alert( 
            /* [in][defaultvalue] */ __RPC__in BSTR message = (BSTR)L"") = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE confirm( 
            /* [in][defaultvalue] */ __RPC__in BSTR message,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *confirmed) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE prompt( 
            /* [in][defaultvalue] */ __RPC__in BSTR message,
            /* [in][defaultvalue] */ __RPC__in BSTR defstr,
            /* [out][retval] */ __RPC__out VARIANT *textdata) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Image( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLImageElementFactory **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_location( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLLocation **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_history( 
            /* [out][retval] */ __RPC__deref_out_opt IOmHistory **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE close( void) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_opener( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_opener( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_navigator( 
            /* [out][retval] */ __RPC__deref_out_opt IOmNavigator **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_name( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_parent( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLWindow2 **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE open( 
            /* [in][defaultvalue] */ __RPC__in BSTR url,
            /* [in][defaultvalue] */ __RPC__in BSTR name,
            /* [in][defaultvalue] */ __RPC__in BSTR features,
            /* [in][defaultvalue] */ VARIANT_BOOL replace,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLWindow2 **pomWindowResult) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_self( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLWindow2 **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_top( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLWindow2 **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_window( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLWindow2 **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE navigate( 
            /* [in] */ __RPC__in BSTR url) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onfocus( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onfocus( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onblur( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onblur( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onload( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onload( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onbeforeunload( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onbeforeunload( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onunload( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onunload( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onhelp( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onhelp( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onerror( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onerror( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onresize( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onresize( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onscroll( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onscroll( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [source][id][propget] */ HRESULT STDMETHODCALLTYPE get_document( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDocument2 **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_event( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLEventObj **p) = 0;
        
        virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__newEnum( 
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE showModalDialog( 
            /* [in] */ __RPC__in BSTR dialog,
            /* [in][optional] */ __RPC__in VARIANT *varArgIn,
            /* [in][optional] */ __RPC__in VARIANT *varOptions,
            /* [out][retval] */ __RPC__out VARIANT *varArgOut) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE showHelp( 
            /* [in] */ __RPC__in BSTR helpURL,
            /* [in][optional] */ VARIANT helpArg,
            /* [in][defaultvalue] */ __RPC__in BSTR features = (BSTR)L"") = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_screen( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLScreen **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Option( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLOptionElementFactory **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE focus( void) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_closed( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE blur( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE scroll( 
            /* [in] */ long x,
            /* [in] */ long y) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_clientInformation( 
            /* [out][retval] */ __RPC__deref_out_opt IOmNavigator **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setInterval( 
            /* [in] */ __RPC__in BSTR expression,
            /* [in] */ long msec,
            /* [in][optional] */ __RPC__in VARIANT *language,
            /* [out][retval] */ __RPC__out long *timerID) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE clearInterval( 
            /* [in] */ long timerID) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_offscreenBuffering( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_offscreenBuffering( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE execScript( 
            /* [in] */ __RPC__in BSTR code,
            /* [in][defaultvalue] */ __RPC__in BSTR language,
            /* [out][retval] */ __RPC__out VARIANT *pvarRet) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE toString( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *String) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE scrollBy( 
            /* [in] */ long x,
            /* [in] */ long y) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE scrollTo( 
            /* [in] */ long x,
            /* [in] */ long y) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE moveTo( 
            /* [in] */ long x,
            /* [in] */ long y) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE moveBy( 
            /* [in] */ long x,
            /* [in] */ long y) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE resizeTo( 
            /* [in] */ long x,
            /* [in] */ long y) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE resizeBy( 
            /* [in] */ long x,
            /* [in] */ long y) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_external( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLWindow2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLWindow2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLWindow2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLWindow2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ __RPC__in VARIANT *pvarIndex,
            /* [out][retval] */ __RPC__out VARIANT *pvarResult);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frames )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFramesCollection2 **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_defaultStatus )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_defaultStatus )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_status )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setTimeout )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ __RPC__in BSTR expression,
            /* [in] */ long msec,
            /* [in][optional] */ __RPC__in VARIANT *language,
            /* [out][retval] */ __RPC__out long *timerID);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *clearTimeout )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ long timerID);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *alert )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in][defaultvalue] */ __RPC__in BSTR message);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *confirm )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in][defaultvalue] */ __RPC__in BSTR message,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *confirmed);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *prompt )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in][defaultvalue] */ __RPC__in BSTR message,
            /* [in][defaultvalue] */ __RPC__in BSTR defstr,
            /* [out][retval] */ __RPC__out VARIANT *textdata);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Image )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLImageElementFactory **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_location )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLLocation **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_history )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IOmHistory **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *close )( 
            __RPC__in IHTMLWindow2 * This);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_opener )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_opener )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_navigator )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IOmNavigator **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_parent )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLWindow2 **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *open )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in][defaultvalue] */ __RPC__in BSTR url,
            /* [in][defaultvalue] */ __RPC__in BSTR name,
            /* [in][defaultvalue] */ __RPC__in BSTR features,
            /* [in][defaultvalue] */ VARIANT_BOOL replace,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLWindow2 **pomWindowResult);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_self )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLWindow2 **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_top )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLWindow2 **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_window )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLWindow2 **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *navigate )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ __RPC__in BSTR url);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onfocus )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onfocus )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onblur )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onblur )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onload )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onload )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onbeforeunload )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onbeforeunload )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onunload )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onunload )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onhelp )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onhelp )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onerror )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onerror )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onresize )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onresize )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onscroll )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onscroll )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [source][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_document )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDocument2 **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_event )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLEventObj **p);
        
        /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__newEnum )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *showModalDialog )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ __RPC__in BSTR dialog,
            /* [in][optional] */ __RPC__in VARIANT *varArgIn,
            /* [in][optional] */ __RPC__in VARIANT *varOptions,
            /* [out][retval] */ __RPC__out VARIANT *varArgOut);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *showHelp )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ __RPC__in BSTR helpURL,
            /* [in][optional] */ VARIANT helpArg,
            /* [in][defaultvalue] */ __RPC__in BSTR features);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_screen )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLScreen **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Option )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLOptionElementFactory **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *focus )( 
            __RPC__in IHTMLWindow2 * This);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_closed )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *blur )( 
            __RPC__in IHTMLWindow2 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *scroll )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ long x,
            /* [in] */ long y);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clientInformation )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IOmNavigator **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setInterval )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ __RPC__in BSTR expression,
            /* [in] */ long msec,
            /* [in][optional] */ __RPC__in VARIANT *language,
            /* [out][retval] */ __RPC__out long *timerID);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *clearInterval )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ long timerID);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_offscreenBuffering )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offscreenBuffering )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *execScript )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ __RPC__in BSTR code,
            /* [in][defaultvalue] */ __RPC__in BSTR language,
            /* [out][retval] */ __RPC__out VARIANT *pvarRet);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *toString )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *String);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *scrollBy )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ long x,
            /* [in] */ long y);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *scrollTo )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ long x,
            /* [in] */ long y);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *moveTo )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ long x,
            /* [in] */ long y);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *moveBy )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ long x,
            /* [in] */ long y);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *resizeTo )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ long x,
            /* [in] */ long y);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *resizeBy )( 
            __RPC__in IHTMLWindow2 * This,
            /* [in] */ long x,
            /* [in] */ long y);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_external )( 
            __RPC__in IHTMLWindow2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        END_INTERFACE
    } IHTMLWindow2Vtbl;

    interface IHTMLWindow2
    {
        CONST_VTBL struct IHTMLWindow2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLWindow2_item(This,pvarIndex,pvarResult)	\
    ( (This)->lpVtbl -> item(This,pvarIndex,pvarResult) ) 

#define IHTMLWindow2_get_length(This,p)	\
    ( (This)->lpVtbl -> get_length(This,p) ) 


#define IHTMLWindow2_get_frames(This,p)	\
    ( (This)->lpVtbl -> get_frames(This,p) ) 

#define IHTMLWindow2_put_defaultStatus(This,v)	\
    ( (This)->lpVtbl -> put_defaultStatus(This,v) ) 

#define IHTMLWindow2_get_defaultStatus(This,p)	\
    ( (This)->lpVtbl -> get_defaultStatus(This,p) ) 

#define IHTMLWindow2_put_status(This,v)	\
    ( (This)->lpVtbl -> put_status(This,v) ) 

#define IHTMLWindow2_get_status(This,p)	\
    ( (This)->lpVtbl -> get_status(This,p) ) 

#define IHTMLWindow2_setTimeout(This,expression,msec,language,timerID)	\
    ( (This)->lpVtbl -> setTimeout(This,expression,msec,language,timerID) ) 

#define IHTMLWindow2_clearTimeout(This,timerID)	\
    ( (This)->lpVtbl -> clearTimeout(This,timerID) ) 

#define IHTMLWindow2_alert(This,message)	\
    ( (This)->lpVtbl -> alert(This,message) ) 

#define IHTMLWindow2_confirm(This,message,confirmed)	\
    ( (This)->lpVtbl -> confirm(This,message,confirmed) ) 

#define IHTMLWindow2_prompt(This,message,defstr,textdata)	\
    ( (This)->lpVtbl -> prompt(This,message,defstr,textdata) ) 

#define IHTMLWindow2_get_Image(This,p)	\
    ( (This)->lpVtbl -> get_Image(This,p) ) 

#define IHTMLWindow2_get_location(This,p)	\
    ( (This)->lpVtbl -> get_location(This,p) ) 

#define IHTMLWindow2_get_history(This,p)	\
    ( (This)->lpVtbl -> get_history(This,p) ) 

#define IHTMLWindow2_close(This)	\
    ( (This)->lpVtbl -> close(This) ) 

#define IHTMLWindow2_put_opener(This,v)	\
    ( (This)->lpVtbl -> put_opener(This,v) ) 

#define IHTMLWindow2_get_opener(This,p)	\
    ( (This)->lpVtbl -> get_opener(This,p) ) 

#define IHTMLWindow2_get_navigator(This,p)	\
    ( (This)->lpVtbl -> get_navigator(This,p) ) 

#define IHTMLWindow2_put_name(This,v)	\
    ( (This)->lpVtbl -> put_name(This,v) ) 

#define IHTMLWindow2_get_name(This,p)	\
    ( (This)->lpVtbl -> get_name(This,p) ) 

#define IHTMLWindow2_get_parent(This,p)	\
    ( (This)->lpVtbl -> get_parent(This,p) ) 

#define IHTMLWindow2_open(This,url,name,features,replace,pomWindowResult)	\
    ( (This)->lpVtbl -> open(This,url,name,features,replace,pomWindowResult) ) 

#define IHTMLWindow2_get_self(This,p)	\
    ( (This)->lpVtbl -> get_self(This,p) ) 

#define IHTMLWindow2_get_top(This,p)	\
    ( (This)->lpVtbl -> get_top(This,p) ) 

#define IHTMLWindow2_get_window(This,p)	\
    ( (This)->lpVtbl -> get_window(This,p) ) 

#define IHTMLWindow2_navigate(This,url)	\
    ( (This)->lpVtbl -> navigate(This,url) ) 

#define IHTMLWindow2_put_onfocus(This,v)	\
    ( (This)->lpVtbl -> put_onfocus(This,v) ) 

#define IHTMLWindow2_get_onfocus(This,p)	\
    ( (This)->lpVtbl -> get_onfocus(This,p) ) 

#define IHTMLWindow2_put_onblur(This,v)	\
    ( (This)->lpVtbl -> put_onblur(This,v) ) 

#define IHTMLWindow2_get_onblur(This,p)	\
    ( (This)->lpVtbl -> get_onblur(This,p) ) 

#define IHTMLWindow2_put_onload(This,v)	\
    ( (This)->lpVtbl -> put_onload(This,v) ) 

#define IHTMLWindow2_get_onload(This,p)	\
    ( (This)->lpVtbl -> get_onload(This,p) ) 

#define IHTMLWindow2_put_onbeforeunload(This,v)	\
    ( (This)->lpVtbl -> put_onbeforeunload(This,v) ) 

#define IHTMLWindow2_get_onbeforeunload(This,p)	\
    ( (This)->lpVtbl -> get_onbeforeunload(This,p) ) 

#define IHTMLWindow2_put_onunload(This,v)	\
    ( (This)->lpVtbl -> put_onunload(This,v) ) 

#define IHTMLWindow2_get_onunload(This,p)	\
    ( (This)->lpVtbl -> get_onunload(This,p) ) 

#define IHTMLWindow2_put_onhelp(This,v)	\
    ( (This)->lpVtbl -> put_onhelp(This,v) ) 

#define IHTMLWindow2_get_onhelp(This,p)	\
    ( (This)->lpVtbl -> get_onhelp(This,p) ) 

#define IHTMLWindow2_put_onerror(This,v)	\
    ( (This)->lpVtbl -> put_onerror(This,v) ) 

#define IHTMLWindow2_get_onerror(This,p)	\
    ( (This)->lpVtbl -> get_onerror(This,p) ) 

#define IHTMLWindow2_put_onresize(This,v)	\
    ( (This)->lpVtbl -> put_onresize(This,v) ) 

#define IHTMLWindow2_get_onresize(This,p)	\
    ( (This)->lpVtbl -> get_onresize(This,p) ) 

#define IHTMLWindow2_put_onscroll(This,v)	\
    ( (This)->lpVtbl -> put_onscroll(This,v) ) 

#define IHTMLWindow2_get_onscroll(This,p)	\
    ( (This)->lpVtbl -> get_onscroll(This,p) ) 

#define IHTMLWindow2_get_document(This,p)	\
    ( (This)->lpVtbl -> get_document(This,p) ) 

#define IHTMLWindow2_get_event(This,p)	\
    ( (This)->lpVtbl -> get_event(This,p) ) 

#define IHTMLWindow2_get__newEnum(This,p)	\
    ( (This)->lpVtbl -> get__newEnum(This,p) ) 

#define IHTMLWindow2_showModalDialog(This,dialog,varArgIn,varOptions,varArgOut)	\
    ( (This)->lpVtbl -> showModalDialog(This,dialog,varArgIn,varOptions,varArgOut) ) 

#define IHTMLWindow2_showHelp(This,helpURL,helpArg,features)	\
    ( (This)->lpVtbl -> showHelp(This,helpURL,helpArg,features) ) 

#define IHTMLWindow2_get_screen(This,p)	\
    ( (This)->lpVtbl -> get_screen(This,p) ) 

#define IHTMLWindow2_get_Option(This,p)	\
    ( (This)->lpVtbl -> get_Option(This,p) ) 

#define IHTMLWindow2_focus(This)	\
    ( (This)->lpVtbl -> focus(This) ) 

#define IHTMLWindow2_get_closed(This,p)	\
    ( (This)->lpVtbl -> get_closed(This,p) ) 

#define IHTMLWindow2_blur(This)	\
    ( (This)->lpVtbl -> blur(This) ) 

#define IHTMLWindow2_scroll(This,x,y)	\
    ( (This)->lpVtbl -> scroll(This,x,y) ) 

#define IHTMLWindow2_get_clientInformation(This,p)	\
    ( (This)->lpVtbl -> get_clientInformation(This,p) ) 

#define IHTMLWindow2_setInterval(This,expression,msec,language,timerID)	\
    ( (This)->lpVtbl -> setInterval(This,expression,msec,language,timerID) ) 

#define IHTMLWindow2_clearInterval(This,timerID)	\
    ( (This)->lpVtbl -> clearInterval(This,timerID) ) 

#define IHTMLWindow2_put_offscreenBuffering(This,v)	\
    ( (This)->lpVtbl -> put_offscreenBuffering(This,v) ) 

#define IHTMLWindow2_get_offscreenBuffering(This,p)	\
    ( (This)->lpVtbl -> get_offscreenBuffering(This,p) ) 

#define IHTMLWindow2_execScript(This,code,language,pvarRet)	\
    ( (This)->lpVtbl -> execScript(This,code,language,pvarRet) ) 

#define IHTMLWindow2_toString(This,String)	\
    ( (This)->lpVtbl -> toString(This,String) ) 

#define IHTMLWindow2_scrollBy(This,x,y)	\
    ( (This)->lpVtbl -> scrollBy(This,x,y) ) 

#define IHTMLWindow2_scrollTo(This,x,y)	\
    ( (This)->lpVtbl -> scrollTo(This,x,y) ) 

#define IHTMLWindow2_moveTo(This,x,y)	\
    ( (This)->lpVtbl -> moveTo(This,x,y) ) 

#define IHTMLWindow2_moveBy(This,x,y)	\
    ( (This)->lpVtbl -> moveBy(This,x,y) ) 

#define IHTMLWindow2_resizeTo(This,x,y)	\
    ( (This)->lpVtbl -> resizeTo(This,x,y) ) 

#define IHTMLWindow2_resizeBy(This,x,y)	\
    ( (This)->lpVtbl -> resizeBy(This,x,y) ) 

#define IHTMLWindow2_get_external(This,p)	\
    ( (This)->lpVtbl -> get_external(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLWindow2_INTERFACE_DEFINED__ */


#ifndef __IHTMLWindow3_INTERFACE_DEFINED__
#define __IHTMLWindow3_INTERFACE_DEFINED__

/* interface IHTMLWindow3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLWindow3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4ae-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLWindow3 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_screenLeft( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_screenTop( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE attachEvent( 
            /* [in] */ __RPC__in BSTR event,
            /* [in] */ __RPC__in_opt IDispatch *pDisp,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE detachEvent( 
            /* [in] */ __RPC__in BSTR event,
            /* [in] */ __RPC__in_opt IDispatch *pDisp) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setTimeout( 
            /* [in] */ __RPC__in VARIANT *expression,
            /* [in] */ long msec,
            /* [in][optional] */ __RPC__in VARIANT *language,
            /* [out][retval] */ __RPC__out long *timerID) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setInterval( 
            /* [in] */ __RPC__in VARIANT *expression,
            /* [in] */ long msec,
            /* [in][optional] */ __RPC__in VARIANT *language,
            /* [out][retval] */ __RPC__out long *timerID) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE print( void) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onbeforeprint( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onbeforeprint( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onafterprint( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onafterprint( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_clipboardData( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDataTransfer **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE showModelessDialog( 
            /* [in][defaultvalue] */ __RPC__in BSTR url,
            /* [in][optional] */ __RPC__in VARIANT *varArgIn,
            /* [in][optional] */ __RPC__in VARIANT *options,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLWindow2 **pDialog) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLWindow3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLWindow3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLWindow3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLWindow3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLWindow3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLWindow3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLWindow3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLWindow3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_screenLeft )( 
            __RPC__in IHTMLWindow3 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_screenTop )( 
            __RPC__in IHTMLWindow3 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *attachEvent )( 
            __RPC__in IHTMLWindow3 * This,
            /* [in] */ __RPC__in BSTR event,
            /* [in] */ __RPC__in_opt IDispatch *pDisp,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *detachEvent )( 
            __RPC__in IHTMLWindow3 * This,
            /* [in] */ __RPC__in BSTR event,
            /* [in] */ __RPC__in_opt IDispatch *pDisp);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setTimeout )( 
            __RPC__in IHTMLWindow3 * This,
            /* [in] */ __RPC__in VARIANT *expression,
            /* [in] */ long msec,
            /* [in][optional] */ __RPC__in VARIANT *language,
            /* [out][retval] */ __RPC__out long *timerID);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setInterval )( 
            __RPC__in IHTMLWindow3 * This,
            /* [in] */ __RPC__in VARIANT *expression,
            /* [in] */ long msec,
            /* [in][optional] */ __RPC__in VARIANT *language,
            /* [out][retval] */ __RPC__out long *timerID);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *print )( 
            __RPC__in IHTMLWindow3 * This);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onbeforeprint )( 
            __RPC__in IHTMLWindow3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onbeforeprint )( 
            __RPC__in IHTMLWindow3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onafterprint )( 
            __RPC__in IHTMLWindow3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onafterprint )( 
            __RPC__in IHTMLWindow3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clipboardData )( 
            __RPC__in IHTMLWindow3 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDataTransfer **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *showModelessDialog )( 
            __RPC__in IHTMLWindow3 * This,
            /* [in][defaultvalue] */ __RPC__in BSTR url,
            /* [in][optional] */ __RPC__in VARIANT *varArgIn,
            /* [in][optional] */ __RPC__in VARIANT *options,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLWindow2 **pDialog);
        
        END_INTERFACE
    } IHTMLWindow3Vtbl;

    interface IHTMLWindow3
    {
        CONST_VTBL struct IHTMLWindow3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLWindow3_INTERFACE_DEFINED__ */


#ifndef __IHTMLFrameBase_INTERFACE_DEFINED__
#define __IHTMLFrameBase_INTERFACE_DEFINED__

/* interface IHTMLFrameBase */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLFrameBase;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f311-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLFrameBase : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_src( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_src( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_name( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_border( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_border( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_frameBorder( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_frameBorder( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_frameSpacing( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_frameSpacing( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_marginWidth( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_marginWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_marginHeight( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_marginHeight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_noResize( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_noResize( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_scrolling( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_scrolling( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLFrameBaseVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLFrameBase * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLFrameBase * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLFrameBase * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLFrameBase * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLFrameBase * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLFrameBase * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLFrameBase * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_src )( 
            __RPC__in IHTMLFrameBase * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_src )( 
            __RPC__in IHTMLFrameBase * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            __RPC__in IHTMLFrameBase * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLFrameBase * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_border )( 
            __RPC__in IHTMLFrameBase * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_border )( 
            __RPC__in IHTMLFrameBase * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_frameBorder )( 
            __RPC__in IHTMLFrameBase * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frameBorder )( 
            __RPC__in IHTMLFrameBase * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_frameSpacing )( 
            __RPC__in IHTMLFrameBase * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frameSpacing )( 
            __RPC__in IHTMLFrameBase * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marginWidth )( 
            __RPC__in IHTMLFrameBase * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginWidth )( 
            __RPC__in IHTMLFrameBase * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marginHeight )( 
            __RPC__in IHTMLFrameBase * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginHeight )( 
            __RPC__in IHTMLFrameBase * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_noResize )( 
            __RPC__in IHTMLFrameBase * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noResize )( 
            __RPC__in IHTMLFrameBase * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrolling )( 
            __RPC__in IHTMLFrameBase * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrolling )( 
            __RPC__in IHTMLFrameBase * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLFrameBaseVtbl;

    interface IHTMLFrameBase
    {
        CONST_VTBL struct IHTMLFrameBaseVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLFrameBase_INTERFACE_DEFINED__ */


#ifndef __IHTMLStorage_INTERFACE_DEFINED__
#define __IHTMLStorage_INTERFACE_DEFINED__

/* interface IHTMLStorage */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStorage;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510474-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStorage : public IDispatch
    {
    public:
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_remainingSpace( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE key( 
            /* [in] */ long lIndex,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *__MIDL__IHTMLStorage0000) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getItem( 
            /* [in] */ __RPC__in BSTR bstrKey,
            /* [out][retval] */ __RPC__out VARIANT *__MIDL__IHTMLStorage0001) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setItem( 
            /* [in] */ __RPC__in BSTR bstrKey,
            /* [in] */ __RPC__in BSTR bstrValue) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeItem( 
            /* [in] */ __RPC__in BSTR bstrKey) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE clear( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStorageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStorage * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStorage * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStorage * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStorage * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStorage * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStorage * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStorage * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLStorage * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_remainingSpace )( 
            __RPC__in IHTMLStorage * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *key )( 
            __RPC__in IHTMLStorage * This,
            /* [in] */ long lIndex,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *__MIDL__IHTMLStorage0000);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getItem )( 
            __RPC__in IHTMLStorage * This,
            /* [in] */ __RPC__in BSTR bstrKey,
            /* [out][retval] */ __RPC__out VARIANT *__MIDL__IHTMLStorage0001);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setItem )( 
            __RPC__in IHTMLStorage * This,
            /* [in] */ __RPC__in BSTR bstrKey,
            /* [in] */ __RPC__in BSTR bstrValue);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeItem )( 
            __RPC__in IHTMLStorage * This,
            /* [in] */ __RPC__in BSTR bstrKey);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *clear )( 
            __RPC__in IHTMLStorage * This);
        
        END_INTERFACE
    } IHTMLStorageVtbl;

    interface IHTMLStorage
    {
        CONST_VTBL struct IHTMLStorageVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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,__MIDL__IHTMLStorage0000)	\
    ( (This)->lpVtbl -> key(This,lIndex,__MIDL__IHTMLStorage0000) ) 

#define IHTMLStorage_getItem(This,bstrKey,__MIDL__IHTMLStorage0001)	\
    ( (This)->lpVtbl -> getItem(This,bstrKey,__MIDL__IHTMLStorage0001) ) 

#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStorage_INTERFACE_DEFINED__ */


#ifndef __IHTMLPerformance_INTERFACE_DEFINED__
#define __IHTMLPerformance_INTERFACE_DEFINED__

/* interface IHTMLPerformance */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLPerformance;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051074e-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLPerformance : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_navigation( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLPerformanceNavigation **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_timing( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLPerformanceTiming **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE toString( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *string) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE toJSON( 
            /* [out][retval] */ __RPC__out VARIANT *pVar) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLPerformanceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLPerformance * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLPerformance * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLPerformance * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLPerformance * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLPerformance * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLPerformance * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLPerformance * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_navigation )( 
            __RPC__in IHTMLPerformance * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLPerformanceNavigation **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_timing )( 
            __RPC__in IHTMLPerformance * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLPerformanceTiming **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *toString )( 
            __RPC__in IHTMLPerformance * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *string);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *toJSON )( 
            __RPC__in IHTMLPerformance * This,
            /* [out][retval] */ __RPC__out VARIANT *pVar);
        
        END_INTERFACE
    } IHTMLPerformanceVtbl;

    interface IHTMLPerformance
    {
        CONST_VTBL struct IHTMLPerformanceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLPerformance_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLPerformance_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLPerformance_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLPerformance_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLPerformance_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLPerformance_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLPerformance_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLPerformance_get_navigation(This,p)	\
    ( (This)->lpVtbl -> get_navigation(This,p) ) 

#define IHTMLPerformance_get_timing(This,p)	\
    ( (This)->lpVtbl -> get_timing(This,p) ) 

#define IHTMLPerformance_toString(This,string)	\
    ( (This)->lpVtbl -> toString(This,string) ) 

#define IHTMLPerformance_toJSON(This,pVar)	\
    ( (This)->lpVtbl -> toJSON(This,pVar) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLPerformance_INTERFACE_DEFINED__ */


#ifndef __IHTMLApplicationCache_INTERFACE_DEFINED__
#define __IHTMLApplicationCache_INTERFACE_DEFINED__

/* interface IHTMLApplicationCache */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLApplicationCache;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510828-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLApplicationCache : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_status( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onchecking( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_onchecking( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onerror( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_onerror( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onnoupdate( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_onnoupdate( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_ondownloading( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ondownloading( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onprogress( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_onprogress( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onupdateready( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_onupdateready( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_oncached( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_oncached( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onobsolete( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_onobsolete( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE update( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE swapCache( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE abort( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLApplicationCacheVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLApplicationCache * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLApplicationCache * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLApplicationCache * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLApplicationCache * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLApplicationCache * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLApplicationCache * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLApplicationCache * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 
            __RPC__in IHTMLApplicationCache * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onchecking )( 
            __RPC__in IHTMLApplicationCache * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onchecking )( 
            __RPC__in IHTMLApplicationCache * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onerror )( 
            __RPC__in IHTMLApplicationCache * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onerror )( 
            __RPC__in IHTMLApplicationCache * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onnoupdate )( 
            __RPC__in IHTMLApplicationCache * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onnoupdate )( 
            __RPC__in IHTMLApplicationCache * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondownloading )( 
            __RPC__in IHTMLApplicationCache * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondownloading )( 
            __RPC__in IHTMLApplicationCache * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onprogress )( 
            __RPC__in IHTMLApplicationCache * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onprogress )( 
            __RPC__in IHTMLApplicationCache * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onupdateready )( 
            __RPC__in IHTMLApplicationCache * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onupdateready )( 
            __RPC__in IHTMLApplicationCache * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_oncached )( 
            __RPC__in IHTMLApplicationCache * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oncached )( 
            __RPC__in IHTMLApplicationCache * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onobsolete )( 
            __RPC__in IHTMLApplicationCache * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onobsolete )( 
            __RPC__in IHTMLApplicationCache * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *update )( 
            __RPC__in IHTMLApplicationCache * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *swapCache )( 
            __RPC__in IHTMLApplicationCache * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *abort )( 
            __RPC__in IHTMLApplicationCache * This);
        
        END_INTERFACE
    } IHTMLApplicationCacheVtbl;

    interface IHTMLApplicationCache
    {
        CONST_VTBL struct IHTMLApplicationCacheVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLApplicationCache_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLApplicationCache_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLApplicationCache_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLApplicationCache_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLApplicationCache_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLApplicationCache_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLApplicationCache_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLApplicationCache_get_status(This,p)	\
    ( (This)->lpVtbl -> get_status(This,p) ) 

#define IHTMLApplicationCache_put_onchecking(This,v)	\
    ( (This)->lpVtbl -> put_onchecking(This,v) ) 

#define IHTMLApplicationCache_get_onchecking(This,p)	\
    ( (This)->lpVtbl -> get_onchecking(This,p) ) 

#define IHTMLApplicationCache_put_onerror(This,v)	\
    ( (This)->lpVtbl -> put_onerror(This,v) ) 

#define IHTMLApplicationCache_get_onerror(This,p)	\
    ( (This)->lpVtbl -> get_onerror(This,p) ) 

#define IHTMLApplicationCache_put_onnoupdate(This,v)	\
    ( (This)->lpVtbl -> put_onnoupdate(This,v) ) 

#define IHTMLApplicationCache_get_onnoupdate(This,p)	\
    ( (This)->lpVtbl -> get_onnoupdate(This,p) ) 

#define IHTMLApplicationCache_put_ondownloading(This,v)	\
    ( (This)->lpVtbl -> put_ondownloading(This,v) ) 

#define IHTMLApplicationCache_get_ondownloading(This,p)	\
    ( (This)->lpVtbl -> get_ondownloading(This,p) ) 

#define IHTMLApplicationCache_put_onprogress(This,v)	\
    ( (This)->lpVtbl -> put_onprogress(This,v) ) 

#define IHTMLApplicationCache_get_onprogress(This,p)	\
    ( (This)->lpVtbl -> get_onprogress(This,p) ) 

#define IHTMLApplicationCache_put_onupdateready(This,v)	\
    ( (This)->lpVtbl -> put_onupdateready(This,v) ) 

#define IHTMLApplicationCache_get_onupdateready(This,p)	\
    ( (This)->lpVtbl -> get_onupdateready(This,p) ) 

#define IHTMLApplicationCache_put_oncached(This,v)	\
    ( (This)->lpVtbl -> put_oncached(This,v) ) 

#define IHTMLApplicationCache_get_oncached(This,p)	\
    ( (This)->lpVtbl -> get_oncached(This,p) ) 

#define IHTMLApplicationCache_put_onobsolete(This,v)	\
    ( (This)->lpVtbl -> put_onobsolete(This,v) ) 

#define IHTMLApplicationCache_get_onobsolete(This,p)	\
    ( (This)->lpVtbl -> get_onobsolete(This,p) ) 

#define IHTMLApplicationCache_update(This)	\
    ( (This)->lpVtbl -> update(This) ) 

#define IHTMLApplicationCache_swapCache(This)	\
    ( (This)->lpVtbl -> swapCache(This) ) 

#define IHTMLApplicationCache_abort(This)	\
    ( (This)->lpVtbl -> abort(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLApplicationCache_INTERFACE_DEFINED__ */


#ifndef __IHTMLScreen_INTERFACE_DEFINED__
#define __IHTMLScreen_INTERFACE_DEFINED__

/* interface IHTMLScreen */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLScreen;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f35c-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLScreen : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_colorDepth( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_bufferDepth( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_bufferDepth( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_updateInterval( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_updateInterval( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_availHeight( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_availWidth( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_fontSmoothingEnabled( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLScreenVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLScreen * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLScreen * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLScreen * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLScreen * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLScreen * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLScreen * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLScreen * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_colorDepth )( 
            __RPC__in IHTMLScreen * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_bufferDepth )( 
            __RPC__in IHTMLScreen * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bufferDepth )( 
            __RPC__in IHTMLScreen * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in IHTMLScreen * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in IHTMLScreen * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_updateInterval )( 
            __RPC__in IHTMLScreen * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_updateInterval )( 
            __RPC__in IHTMLScreen * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_availHeight )( 
            __RPC__in IHTMLScreen * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_availWidth )( 
            __RPC__in IHTMLScreen * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontSmoothingEnabled )( 
            __RPC__in IHTMLScreen * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        END_INTERFACE
    } IHTMLScreenVtbl;

    interface IHTMLScreen
    {
        CONST_VTBL struct IHTMLScreenVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLScreen_INTERFACE_DEFINED__ */


#ifndef __IHTMLScreen2_INTERFACE_DEFINED__
#define __IHTMLScreen2_INTERFACE_DEFINED__

/* interface IHTMLScreen2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLScreen2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f84a-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLScreen2 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_logicalXDPI( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_logicalYDPI( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_deviceXDPI( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_deviceYDPI( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLScreen2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLScreen2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLScreen2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLScreen2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLScreen2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLScreen2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLScreen2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLScreen2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_logicalXDPI )( 
            __RPC__in IHTMLScreen2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_logicalYDPI )( 
            __RPC__in IHTMLScreen2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_deviceXDPI )( 
            __RPC__in IHTMLScreen2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_deviceYDPI )( 
            __RPC__in IHTMLScreen2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        END_INTERFACE
    } IHTMLScreen2Vtbl;

    interface IHTMLScreen2
    {
        CONST_VTBL struct IHTMLScreen2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLScreen2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLScreen2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLScreen2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLScreen2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLScreen2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLScreen2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLScreen2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLScreen2_get_logicalXDPI(This,p)	\
    ( (This)->lpVtbl -> get_logicalXDPI(This,p) ) 

#define IHTMLScreen2_get_logicalYDPI(This,p)	\
    ( (This)->lpVtbl -> get_logicalYDPI(This,p) ) 

#define IHTMLScreen2_get_deviceXDPI(This,p)	\
    ( (This)->lpVtbl -> get_deviceXDPI(This,p) ) 

#define IHTMLScreen2_get_deviceYDPI(This,p)	\
    ( (This)->lpVtbl -> get_deviceYDPI(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLScreen2_INTERFACE_DEFINED__ */


#ifndef __IHTMLScreen3_INTERFACE_DEFINED__
#define __IHTMLScreen3_INTERFACE_DEFINED__

/* interface IHTMLScreen3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLScreen3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104a1-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLScreen3 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_systemXDPI( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_systemYDPI( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLScreen3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLScreen3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLScreen3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLScreen3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLScreen3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLScreen3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLScreen3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLScreen3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_systemXDPI )( 
            __RPC__in IHTMLScreen3 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_systemYDPI )( 
            __RPC__in IHTMLScreen3 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        END_INTERFACE
    } IHTMLScreen3Vtbl;

    interface IHTMLScreen3
    {
        CONST_VTBL struct IHTMLScreen3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLScreen3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLScreen3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLScreen3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLScreen3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLScreen3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLScreen3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLScreen3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLScreen3_get_systemXDPI(This,p)	\
    ( (This)->lpVtbl -> get_systemXDPI(This,p) ) 

#define IHTMLScreen3_get_systemYDPI(This,p)	\
    ( (This)->lpVtbl -> get_systemYDPI(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLScreen3_INTERFACE_DEFINED__ */


#ifndef __IHTMLScreen4_INTERFACE_DEFINED__
#define __IHTMLScreen4_INTERFACE_DEFINED__

/* interface IHTMLScreen4 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLScreen4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051076b-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLScreen4 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_pixelDepth( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLScreen4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLScreen4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLScreen4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLScreen4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLScreen4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLScreen4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLScreen4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLScreen4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pixelDepth )( 
            __RPC__in IHTMLScreen4 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        END_INTERFACE
    } IHTMLScreen4Vtbl;

    interface IHTMLScreen4
    {
        CONST_VTBL struct IHTMLScreen4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLScreen4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLScreen4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLScreen4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLScreen4_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLScreen4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLScreen4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLScreen4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLScreen4_get_pixelDepth(This,p)	\
    ( (This)->lpVtbl -> get_pixelDepth(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLScreen4_INTERFACE_DEFINED__ */


#ifndef __IHTMLWindow4_INTERFACE_DEFINED__
#define __IHTMLWindow4_INTERFACE_DEFINED__

/* interface IHTMLWindow4 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLWindow4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f6cf-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLWindow4 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createPopup( 
            /* [in][optional] */ __RPC__in VARIANT *varArgIn,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppPopup) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_frameElement( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFrameBase **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLWindow4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLWindow4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLWindow4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLWindow4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLWindow4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLWindow4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLWindow4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLWindow4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createPopup )( 
            __RPC__in IHTMLWindow4 * This,
            /* [in][optional] */ __RPC__in VARIANT *varArgIn,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppPopup);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frameElement )( 
            __RPC__in IHTMLWindow4 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFrameBase **p);
        
        END_INTERFACE
    } IHTMLWindow4Vtbl;

    interface IHTMLWindow4
    {
        CONST_VTBL struct IHTMLWindow4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLWindow4_createPopup(This,varArgIn,ppPopup)	\
    ( (This)->lpVtbl -> createPopup(This,varArgIn,ppPopup) ) 

#define IHTMLWindow4_get_frameElement(This,p)	\
    ( (This)->lpVtbl -> get_frameElement(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLWindow4_INTERFACE_DEFINED__ */


#ifndef __IHTMLWindow5_INTERFACE_DEFINED__
#define __IHTMLWindow5_INTERFACE_DEFINED__

/* interface IHTMLWindow5 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLWindow5;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051040e-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLWindow5 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_XMLHttpRequest( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_XMLHttpRequest( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLWindow5Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLWindow5 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLWindow5 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLWindow5 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLWindow5 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLWindow5 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLWindow5 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLWindow5 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_XMLHttpRequest )( 
            __RPC__in IHTMLWindow5 * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_XMLHttpRequest )( 
            __RPC__in IHTMLWindow5 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLWindow5Vtbl;

    interface IHTMLWindow5
    {
        CONST_VTBL struct IHTMLWindow5Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLWindow5_put_XMLHttpRequest(This,v)	\
    ( (This)->lpVtbl -> put_XMLHttpRequest(This,v) ) 

#define IHTMLWindow5_get_XMLHttpRequest(This,p)	\
    ( (This)->lpVtbl -> get_XMLHttpRequest(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLWindow5_INTERFACE_DEFINED__ */


#ifndef __IHTMLWindow6_INTERFACE_DEFINED__
#define __IHTMLWindow6_INTERFACE_DEFINED__

/* interface IHTMLWindow6 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLWindow6;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510453-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLWindow6 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_XDomainRequest( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_XDomainRequest( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_sessionStorage( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStorage **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_localStorage( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStorage **p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onhashchange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onhashchange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_maxConnectionsPerServer( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE postMessage( 
            /* [in] */ __RPC__in BSTR msg,
            /* [in][optional] */ VARIANT targetOrigin) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE toStaticHTML( 
            /* [in] */ __RPC__in BSTR bstrHTML,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrStaticHTML) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmessage( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmessage( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE msWriteProfilerMark( 
            /* [in] */ __RPC__in BSTR bstrProfilerMarkName) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLWindow6Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLWindow6 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLWindow6 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLWindow6 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLWindow6 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLWindow6 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLWindow6 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLWindow6 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_XDomainRequest )( 
            __RPC__in IHTMLWindow6 * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_XDomainRequest )( 
            __RPC__in IHTMLWindow6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sessionStorage )( 
            __RPC__in IHTMLWindow6 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStorage **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_localStorage )( 
            __RPC__in IHTMLWindow6 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStorage **p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onhashchange )( 
            __RPC__in IHTMLWindow6 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onhashchange )( 
            __RPC__in IHTMLWindow6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_maxConnectionsPerServer )( 
            __RPC__in IHTMLWindow6 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *postMessage )( 
            __RPC__in IHTMLWindow6 * This,
            /* [in] */ __RPC__in BSTR msg,
            /* [in][optional] */ VARIANT targetOrigin);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *toStaticHTML )( 
            __RPC__in IHTMLWindow6 * This,
            /* [in] */ __RPC__in BSTR bstrHTML,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrStaticHTML);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmessage )( 
            __RPC__in IHTMLWindow6 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmessage )( 
            __RPC__in IHTMLWindow6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *msWriteProfilerMark )( 
            __RPC__in IHTMLWindow6 * This,
            /* [in] */ __RPC__in BSTR bstrProfilerMarkName);
        
        END_INTERFACE
    } IHTMLWindow6Vtbl;

    interface IHTMLWindow6
    {
        CONST_VTBL struct IHTMLWindow6Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLWindow6_INTERFACE_DEFINED__ */


#ifndef __IHTMLWindow7_INTERFACE_DEFINED__
#define __IHTMLWindow7_INTERFACE_DEFINED__

/* interface IHTMLWindow7 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLWindow7;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104b7-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLWindow7 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getSelection( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLSelection **ppIHTMLSelection) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getComputedStyle( 
            /* [in] */ __RPC__in_opt IHTMLDOMNode *varArgIn,
            /* [in][defaultvalue] */ __RPC__in BSTR bstrPseudoElt,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLCSSStyleDeclaration **ppComputedStyle) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_styleMedia( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleMedia **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_performance( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_performance( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_innerWidth( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_innerHeight( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_pageXOffset( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_pageYOffset( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_screenX( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_screenY( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_outerWidth( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_outerHeight( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onabort( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onabort( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_oncanplay( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_oncanplay( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_oncanplaythrough( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_oncanplaythrough( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onchange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onchange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onclick( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onclick( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_oncontextmenu( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_oncontextmenu( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondblclick( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondblclick( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondrag( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondrag( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondragend( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondragend( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondragenter( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondragenter( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondragleave( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondragleave( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondragover( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondragover( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondragstart( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondragstart( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondrop( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondrop( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondurationchange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondurationchange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onfocusin( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onfocusin( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onfocusout( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onfocusout( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_oninput( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_oninput( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onemptied( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onemptied( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onended( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onended( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onkeydown( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onkeydown( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onkeypress( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onkeypress( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onkeyup( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onkeyup( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onloadeddata( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onloadeddata( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onloadedmetadata( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onloadedmetadata( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onloadstart( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onloadstart( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmousedown( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmousedown( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmouseenter( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmouseenter( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmouseleave( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmouseleave( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmousemove( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmousemove( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmouseout( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmouseout( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmouseover( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmouseover( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmouseup( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmouseup( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmousewheel( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmousewheel( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onoffline( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onoffline( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ononline( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ononline( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onprogress( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onprogress( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onratechange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onratechange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onreadystatechange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onreadystatechange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onreset( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onreset( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onseeked( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onseeked( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onseeking( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onseeking( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onselect( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onselect( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onstalled( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onstalled( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onstorage( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onstorage( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onsubmit( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onsubmit( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onsuspend( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onsuspend( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ontimeupdate( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ontimeupdate( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onpause( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onpause( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onplay( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onplay( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onplaying( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onplaying( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onvolumechange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onvolumechange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onwaiting( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onwaiting( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLWindow7Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLWindow7 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLWindow7 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLWindow7 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getSelection )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLSelection **ppIHTMLSelection);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getComputedStyle )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ __RPC__in_opt IHTMLDOMNode *varArgIn,
            /* [in][defaultvalue] */ __RPC__in BSTR bstrPseudoElt,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLCSSStyleDeclaration **ppComputedStyle);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_styleMedia )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleMedia **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_performance )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_performance )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_innerWidth )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_innerHeight )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageXOffset )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageYOffset )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_screenX )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_screenY )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_outerWidth )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_outerHeight )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onabort )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onabort )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_oncanplay )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oncanplay )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_oncanplaythrough )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oncanplaythrough )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onchange )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onchange )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onclick )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onclick )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_oncontextmenu )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oncontextmenu )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondblclick )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondblclick )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondrag )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondrag )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondragend )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondragend )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondragenter )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondragenter )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondragleave )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondragleave )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondragover )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondragover )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondragstart )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondragstart )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondrop )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondrop )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondurationchange )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondurationchange )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onfocusin )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onfocusin )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onfocusout )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onfocusout )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_oninput )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oninput )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onemptied )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onemptied )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onended )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onended )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onkeydown )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onkeydown )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onkeypress )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onkeypress )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onkeyup )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onkeyup )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onloadeddata )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onloadeddata )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onloadedmetadata )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onloadedmetadata )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onloadstart )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onloadstart )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmousedown )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmousedown )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmouseenter )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmouseenter )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmouseleave )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmouseleave )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmousemove )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmousemove )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmouseout )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmouseout )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmouseover )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmouseover )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmouseup )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmouseup )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmousewheel )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmousewheel )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onoffline )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onoffline )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ononline )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ononline )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onprogress )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onprogress )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onratechange )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onratechange )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onreadystatechange )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onreadystatechange )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onreset )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onreset )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onseeked )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onseeked )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onseeking )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onseeking )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onselect )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onselect )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onstalled )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onstalled )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onstorage )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onstorage )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onsubmit )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onsubmit )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onsuspend )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onsuspend )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ontimeupdate )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ontimeupdate )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onpause )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onpause )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onplay )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onplay )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onplaying )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onplaying )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onvolumechange )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onvolumechange )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onwaiting )( 
            __RPC__in IHTMLWindow7 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onwaiting )( 
            __RPC__in IHTMLWindow7 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLWindow7Vtbl;

    interface IHTMLWindow7
    {
        CONST_VTBL struct IHTMLWindow7Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLWindow7_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLWindow7_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLWindow7_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLWindow7_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLWindow7_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLWindow7_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLWindow7_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLWindow7_getSelection(This,ppIHTMLSelection)	\
    ( (This)->lpVtbl -> getSelection(This,ppIHTMLSelection) ) 

#define IHTMLWindow7_getComputedStyle(This,varArgIn,bstrPseudoElt,ppComputedStyle)	\
    ( (This)->lpVtbl -> getComputedStyle(This,varArgIn,bstrPseudoElt,ppComputedStyle) ) 

#define IHTMLWindow7_get_styleMedia(This,p)	\
    ( (This)->lpVtbl -> get_styleMedia(This,p) ) 

#define IHTMLWindow7_put_performance(This,v)	\
    ( (This)->lpVtbl -> put_performance(This,v) ) 

#define IHTMLWindow7_get_performance(This,p)	\
    ( (This)->lpVtbl -> get_performance(This,p) ) 

#define IHTMLWindow7_get_innerWidth(This,p)	\
    ( (This)->lpVtbl -> get_innerWidth(This,p) ) 

#define IHTMLWindow7_get_innerHeight(This,p)	\
    ( (This)->lpVtbl -> get_innerHeight(This,p) ) 

#define IHTMLWindow7_get_pageXOffset(This,p)	\
    ( (This)->lpVtbl -> get_pageXOffset(This,p) ) 

#define IHTMLWindow7_get_pageYOffset(This,p)	\
    ( (This)->lpVtbl -> get_pageYOffset(This,p) ) 

#define IHTMLWindow7_get_screenX(This,p)	\
    ( (This)->lpVtbl -> get_screenX(This,p) ) 

#define IHTMLWindow7_get_screenY(This,p)	\
    ( (This)->lpVtbl -> get_screenY(This,p) ) 

#define IHTMLWindow7_get_outerWidth(This,p)	\
    ( (This)->lpVtbl -> get_outerWidth(This,p) ) 

#define IHTMLWindow7_get_outerHeight(This,p)	\
    ( (This)->lpVtbl -> get_outerHeight(This,p) ) 

#define IHTMLWindow7_put_onabort(This,v)	\
    ( (This)->lpVtbl -> put_onabort(This,v) ) 

#define IHTMLWindow7_get_onabort(This,p)	\
    ( (This)->lpVtbl -> get_onabort(This,p) ) 

#define IHTMLWindow7_put_oncanplay(This,v)	\
    ( (This)->lpVtbl -> put_oncanplay(This,v) ) 

#define IHTMLWindow7_get_oncanplay(This,p)	\
    ( (This)->lpVtbl -> get_oncanplay(This,p) ) 

#define IHTMLWindow7_put_oncanplaythrough(This,v)	\
    ( (This)->lpVtbl -> put_oncanplaythrough(This,v) ) 

#define IHTMLWindow7_get_oncanplaythrough(This,p)	\
    ( (This)->lpVtbl -> get_oncanplaythrough(This,p) ) 

#define IHTMLWindow7_put_onchange(This,v)	\
    ( (This)->lpVtbl -> put_onchange(This,v) ) 

#define IHTMLWindow7_get_onchange(This,p)	\
    ( (This)->lpVtbl -> get_onchange(This,p) ) 

#define IHTMLWindow7_put_onclick(This,v)	\
    ( (This)->lpVtbl -> put_onclick(This,v) ) 

#define IHTMLWindow7_get_onclick(This,p)	\
    ( (This)->lpVtbl -> get_onclick(This,p) ) 

#define IHTMLWindow7_put_oncontextmenu(This,v)	\
    ( (This)->lpVtbl -> put_oncontextmenu(This,v) ) 

#define IHTMLWindow7_get_oncontextmenu(This,p)	\
    ( (This)->lpVtbl -> get_oncontextmenu(This,p) ) 

#define IHTMLWindow7_put_ondblclick(This,v)	\
    ( (This)->lpVtbl -> put_ondblclick(This,v) ) 

#define IHTMLWindow7_get_ondblclick(This,p)	\
    ( (This)->lpVtbl -> get_ondblclick(This,p) ) 

#define IHTMLWindow7_put_ondrag(This,v)	\
    ( (This)->lpVtbl -> put_ondrag(This,v) ) 

#define IHTMLWindow7_get_ondrag(This,p)	\
    ( (This)->lpVtbl -> get_ondrag(This,p) ) 

#define IHTMLWindow7_put_ondragend(This,v)	\
    ( (This)->lpVtbl -> put_ondragend(This,v) ) 

#define IHTMLWindow7_get_ondragend(This,p)	\
    ( (This)->lpVtbl -> get_ondragend(This,p) ) 

#define IHTMLWindow7_put_ondragenter(This,v)	\
    ( (This)->lpVtbl -> put_ondragenter(This,v) ) 

#define IHTMLWindow7_get_ondragenter(This,p)	\
    ( (This)->lpVtbl -> get_ondragenter(This,p) ) 

#define IHTMLWindow7_put_ondragleave(This,v)	\
    ( (This)->lpVtbl -> put_ondragleave(This,v) ) 

#define IHTMLWindow7_get_ondragleave(This,p)	\
    ( (This)->lpVtbl -> get_ondragleave(This,p) ) 

#define IHTMLWindow7_put_ondragover(This,v)	\
    ( (This)->lpVtbl -> put_ondragover(This,v) ) 

#define IHTMLWindow7_get_ondragover(This,p)	\
    ( (This)->lpVtbl -> get_ondragover(This,p) ) 

#define IHTMLWindow7_put_ondragstart(This,v)	\
    ( (This)->lpVtbl -> put_ondragstart(This,v) ) 

#define IHTMLWindow7_get_ondragstart(This,p)	\
    ( (This)->lpVtbl -> get_ondragstart(This,p) ) 

#define IHTMLWindow7_put_ondrop(This,v)	\
    ( (This)->lpVtbl -> put_ondrop(This,v) ) 

#define IHTMLWindow7_get_ondrop(This,p)	\
    ( (This)->lpVtbl -> get_ondrop(This,p) ) 

#define IHTMLWindow7_put_ondurationchange(This,v)	\
    ( (This)->lpVtbl -> put_ondurationchange(This,v) ) 

#define IHTMLWindow7_get_ondurationchange(This,p)	\
    ( (This)->lpVtbl -> get_ondurationchange(This,p) ) 

#define IHTMLWindow7_put_onfocusin(This,v)	\
    ( (This)->lpVtbl -> put_onfocusin(This,v) ) 

#define IHTMLWindow7_get_onfocusin(This,p)	\
    ( (This)->lpVtbl -> get_onfocusin(This,p) ) 

#define IHTMLWindow7_put_onfocusout(This,v)	\
    ( (This)->lpVtbl -> put_onfocusout(This,v) ) 

#define IHTMLWindow7_get_onfocusout(This,p)	\
    ( (This)->lpVtbl -> get_onfocusout(This,p) ) 

#define IHTMLWindow7_put_oninput(This,v)	\
    ( (This)->lpVtbl -> put_oninput(This,v) ) 

#define IHTMLWindow7_get_oninput(This,p)	\
    ( (This)->lpVtbl -> get_oninput(This,p) ) 

#define IHTMLWindow7_put_onemptied(This,v)	\
    ( (This)->lpVtbl -> put_onemptied(This,v) ) 

#define IHTMLWindow7_get_onemptied(This,p)	\
    ( (This)->lpVtbl -> get_onemptied(This,p) ) 

#define IHTMLWindow7_put_onended(This,v)	\
    ( (This)->lpVtbl -> put_onended(This,v) ) 

#define IHTMLWindow7_get_onended(This,p)	\
    ( (This)->lpVtbl -> get_onended(This,p) ) 

#define IHTMLWindow7_put_onkeydown(This,v)	\
    ( (This)->lpVtbl -> put_onkeydown(This,v) ) 

#define IHTMLWindow7_get_onkeydown(This,p)	\
    ( (This)->lpVtbl -> get_onkeydown(This,p) ) 

#define IHTMLWindow7_put_onkeypress(This,v)	\
    ( (This)->lpVtbl -> put_onkeypress(This,v) ) 

#define IHTMLWindow7_get_onkeypress(This,p)	\
    ( (This)->lpVtbl -> get_onkeypress(This,p) ) 

#define IHTMLWindow7_put_onkeyup(This,v)	\
    ( (This)->lpVtbl -> put_onkeyup(This,v) ) 

#define IHTMLWindow7_get_onkeyup(This,p)	\
    ( (This)->lpVtbl -> get_onkeyup(This,p) ) 

#define IHTMLWindow7_put_onloadeddata(This,v)	\
    ( (This)->lpVtbl -> put_onloadeddata(This,v) ) 

#define IHTMLWindow7_get_onloadeddata(This,p)	\
    ( (This)->lpVtbl -> get_onloadeddata(This,p) ) 

#define IHTMLWindow7_put_onloadedmetadata(This,v)	\
    ( (This)->lpVtbl -> put_onloadedmetadata(This,v) ) 

#define IHTMLWindow7_get_onloadedmetadata(This,p)	\
    ( (This)->lpVtbl -> get_onloadedmetadata(This,p) ) 

#define IHTMLWindow7_put_onloadstart(This,v)	\
    ( (This)->lpVtbl -> put_onloadstart(This,v) ) 

#define IHTMLWindow7_get_onloadstart(This,p)	\
    ( (This)->lpVtbl -> get_onloadstart(This,p) ) 

#define IHTMLWindow7_put_onmousedown(This,v)	\
    ( (This)->lpVtbl -> put_onmousedown(This,v) ) 

#define IHTMLWindow7_get_onmousedown(This,p)	\
    ( (This)->lpVtbl -> get_onmousedown(This,p) ) 

#define IHTMLWindow7_put_onmouseenter(This,v)	\
    ( (This)->lpVtbl -> put_onmouseenter(This,v) ) 

#define IHTMLWindow7_get_onmouseenter(This,p)	\
    ( (This)->lpVtbl -> get_onmouseenter(This,p) ) 

#define IHTMLWindow7_put_onmouseleave(This,v)	\
    ( (This)->lpVtbl -> put_onmouseleave(This,v) ) 

#define IHTMLWindow7_get_onmouseleave(This,p)	\
    ( (This)->lpVtbl -> get_onmouseleave(This,p) ) 

#define IHTMLWindow7_put_onmousemove(This,v)	\
    ( (This)->lpVtbl -> put_onmousemove(This,v) ) 

#define IHTMLWindow7_get_onmousemove(This,p)	\
    ( (This)->lpVtbl -> get_onmousemove(This,p) ) 

#define IHTMLWindow7_put_onmouseout(This,v)	\
    ( (This)->lpVtbl -> put_onmouseout(This,v) ) 

#define IHTMLWindow7_get_onmouseout(This,p)	\
    ( (This)->lpVtbl -> get_onmouseout(This,p) ) 

#define IHTMLWindow7_put_onmouseover(This,v)	\
    ( (This)->lpVtbl -> put_onmouseover(This,v) ) 

#define IHTMLWindow7_get_onmouseover(This,p)	\
    ( (This)->lpVtbl -> get_onmouseover(This,p) ) 

#define IHTMLWindow7_put_onmouseup(This,v)	\
    ( (This)->lpVtbl -> put_onmouseup(This,v) ) 

#define IHTMLWindow7_get_onmouseup(This,p)	\
    ( (This)->lpVtbl -> get_onmouseup(This,p) ) 

#define IHTMLWindow7_put_onmousewheel(This,v)	\
    ( (This)->lpVtbl -> put_onmousewheel(This,v) ) 

#define IHTMLWindow7_get_onmousewheel(This,p)	\
    ( (This)->lpVtbl -> get_onmousewheel(This,p) ) 

#define IHTMLWindow7_put_onoffline(This,v)	\
    ( (This)->lpVtbl -> put_onoffline(This,v) ) 

#define IHTMLWindow7_get_onoffline(This,p)	\
    ( (This)->lpVtbl -> get_onoffline(This,p) ) 

#define IHTMLWindow7_put_ononline(This,v)	\
    ( (This)->lpVtbl -> put_ononline(This,v) ) 

#define IHTMLWindow7_get_ononline(This,p)	\
    ( (This)->lpVtbl -> get_ononline(This,p) ) 

#define IHTMLWindow7_put_onprogress(This,v)	\
    ( (This)->lpVtbl -> put_onprogress(This,v) ) 

#define IHTMLWindow7_get_onprogress(This,p)	\
    ( (This)->lpVtbl -> get_onprogress(This,p) ) 

#define IHTMLWindow7_put_onratechange(This,v)	\
    ( (This)->lpVtbl -> put_onratechange(This,v) ) 

#define IHTMLWindow7_get_onratechange(This,p)	\
    ( (This)->lpVtbl -> get_onratechange(This,p) ) 

#define IHTMLWindow7_put_onreadystatechange(This,v)	\
    ( (This)->lpVtbl -> put_onreadystatechange(This,v) ) 

#define IHTMLWindow7_get_onreadystatechange(This,p)	\
    ( (This)->lpVtbl -> get_onreadystatechange(This,p) ) 

#define IHTMLWindow7_put_onreset(This,v)	\
    ( (This)->lpVtbl -> put_onreset(This,v) ) 

#define IHTMLWindow7_get_onreset(This,p)	\
    ( (This)->lpVtbl -> get_onreset(This,p) ) 

#define IHTMLWindow7_put_onseeked(This,v)	\
    ( (This)->lpVtbl -> put_onseeked(This,v) ) 

#define IHTMLWindow7_get_onseeked(This,p)	\
    ( (This)->lpVtbl -> get_onseeked(This,p) ) 

#define IHTMLWindow7_put_onseeking(This,v)	\
    ( (This)->lpVtbl -> put_onseeking(This,v) ) 

#define IHTMLWindow7_get_onseeking(This,p)	\
    ( (This)->lpVtbl -> get_onseeking(This,p) ) 

#define IHTMLWindow7_put_onselect(This,v)	\
    ( (This)->lpVtbl -> put_onselect(This,v) ) 

#define IHTMLWindow7_get_onselect(This,p)	\
    ( (This)->lpVtbl -> get_onselect(This,p) ) 

#define IHTMLWindow7_put_onstalled(This,v)	\
    ( (This)->lpVtbl -> put_onstalled(This,v) ) 

#define IHTMLWindow7_get_onstalled(This,p)	\
    ( (This)->lpVtbl -> get_onstalled(This,p) ) 

#define IHTMLWindow7_put_onstorage(This,v)	\
    ( (This)->lpVtbl -> put_onstorage(This,v) ) 

#define IHTMLWindow7_get_onstorage(This,p)	\
    ( (This)->lpVtbl -> get_onstorage(This,p) ) 

#define IHTMLWindow7_put_onsubmit(This,v)	\
    ( (This)->lpVtbl -> put_onsubmit(This,v) ) 

#define IHTMLWindow7_get_onsubmit(This,p)	\
    ( (This)->lpVtbl -> get_onsubmit(This,p) ) 

#define IHTMLWindow7_put_onsuspend(This,v)	\
    ( (This)->lpVtbl -> put_onsuspend(This,v) ) 

#define IHTMLWindow7_get_onsuspend(This,p)	\
    ( (This)->lpVtbl -> get_onsuspend(This,p) ) 

#define IHTMLWindow7_put_ontimeupdate(This,v)	\
    ( (This)->lpVtbl -> put_ontimeupdate(This,v) ) 

#define IHTMLWindow7_get_ontimeupdate(This,p)	\
    ( (This)->lpVtbl -> get_ontimeupdate(This,p) ) 

#define IHTMLWindow7_put_onpause(This,v)	\
    ( (This)->lpVtbl -> put_onpause(This,v) ) 

#define IHTMLWindow7_get_onpause(This,p)	\
    ( (This)->lpVtbl -> get_onpause(This,p) ) 

#define IHTMLWindow7_put_onplay(This,v)	\
    ( (This)->lpVtbl -> put_onplay(This,v) ) 

#define IHTMLWindow7_get_onplay(This,p)	\
    ( (This)->lpVtbl -> get_onplay(This,p) ) 

#define IHTMLWindow7_put_onplaying(This,v)	\
    ( (This)->lpVtbl -> put_onplaying(This,v) ) 

#define IHTMLWindow7_get_onplaying(This,p)	\
    ( (This)->lpVtbl -> get_onplaying(This,p) ) 

#define IHTMLWindow7_put_onvolumechange(This,v)	\
    ( (This)->lpVtbl -> put_onvolumechange(This,v) ) 

#define IHTMLWindow7_get_onvolumechange(This,p)	\
    ( (This)->lpVtbl -> get_onvolumechange(This,p) ) 

#define IHTMLWindow7_put_onwaiting(This,v)	\
    ( (This)->lpVtbl -> put_onwaiting(This,v) ) 

#define IHTMLWindow7_get_onwaiting(This,p)	\
    ( (This)->lpVtbl -> get_onwaiting(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLWindow7_INTERFACE_DEFINED__ */


#ifndef __IHTMLWindow8_INTERFACE_DEFINED__
#define __IHTMLWindow8_INTERFACE_DEFINED__

/* interface IHTMLWindow8 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLWindow8;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305107AB-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLWindow8 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmspointerdown( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmspointerdown( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmspointermove( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmspointermove( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmspointerup( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmspointerup( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmspointerover( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmspointerover( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmspointerout( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmspointerout( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmspointercancel( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmspointercancel( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmspointerhover( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmspointerhover( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsgesturestart( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsgesturestart( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsgesturechange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsgesturechange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsgestureend( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsgestureend( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsgesturehold( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsgesturehold( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsgesturetap( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsgesturetap( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsgesturedoubletap( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsgesturedoubletap( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsinertiastart( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsinertiastart( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_applicationCache( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLApplicationCache **p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onpopstate( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onpopstate( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLWindow8Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLWindow8 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLWindow8 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLWindow8 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLWindow8 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLWindow8 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLWindow8 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLWindow8 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmspointerdown )( 
            __RPC__in IHTMLWindow8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmspointerdown )( 
            __RPC__in IHTMLWindow8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmspointermove )( 
            __RPC__in IHTMLWindow8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmspointermove )( 
            __RPC__in IHTMLWindow8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmspointerup )( 
            __RPC__in IHTMLWindow8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmspointerup )( 
            __RPC__in IHTMLWindow8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmspointerover )( 
            __RPC__in IHTMLWindow8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmspointerover )( 
            __RPC__in IHTMLWindow8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmspointerout )( 
            __RPC__in IHTMLWindow8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmspointerout )( 
            __RPC__in IHTMLWindow8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmspointercancel )( 
            __RPC__in IHTMLWindow8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmspointercancel )( 
            __RPC__in IHTMLWindow8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmspointerhover )( 
            __RPC__in IHTMLWindow8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmspointerhover )( 
            __RPC__in IHTMLWindow8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsgesturestart )( 
            __RPC__in IHTMLWindow8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsgesturestart )( 
            __RPC__in IHTMLWindow8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsgesturechange )( 
            __RPC__in IHTMLWindow8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsgesturechange )( 
            __RPC__in IHTMLWindow8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsgestureend )( 
            __RPC__in IHTMLWindow8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsgestureend )( 
            __RPC__in IHTMLWindow8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsgesturehold )( 
            __RPC__in IHTMLWindow8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsgesturehold )( 
            __RPC__in IHTMLWindow8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsgesturetap )( 
            __RPC__in IHTMLWindow8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsgesturetap )( 
            __RPC__in IHTMLWindow8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsgesturedoubletap )( 
            __RPC__in IHTMLWindow8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsgesturedoubletap )( 
            __RPC__in IHTMLWindow8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsinertiastart )( 
            __RPC__in IHTMLWindow8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsinertiastart )( 
            __RPC__in IHTMLWindow8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_applicationCache )( 
            __RPC__in IHTMLWindow8 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLApplicationCache **p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onpopstate )( 
            __RPC__in IHTMLWindow8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onpopstate )( 
            __RPC__in IHTMLWindow8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLWindow8Vtbl;

    interface IHTMLWindow8
    {
        CONST_VTBL struct IHTMLWindow8Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLWindow8_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLWindow8_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLWindow8_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLWindow8_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLWindow8_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLWindow8_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLWindow8_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLWindow8_put_onmspointerdown(This,v)	\
    ( (This)->lpVtbl -> put_onmspointerdown(This,v) ) 

#define IHTMLWindow8_get_onmspointerdown(This,p)	\
    ( (This)->lpVtbl -> get_onmspointerdown(This,p) ) 

#define IHTMLWindow8_put_onmspointermove(This,v)	\
    ( (This)->lpVtbl -> put_onmspointermove(This,v) ) 

#define IHTMLWindow8_get_onmspointermove(This,p)	\
    ( (This)->lpVtbl -> get_onmspointermove(This,p) ) 

#define IHTMLWindow8_put_onmspointerup(This,v)	\
    ( (This)->lpVtbl -> put_onmspointerup(This,v) ) 

#define IHTMLWindow8_get_onmspointerup(This,p)	\
    ( (This)->lpVtbl -> get_onmspointerup(This,p) ) 

#define IHTMLWindow8_put_onmspointerover(This,v)	\
    ( (This)->lpVtbl -> put_onmspointerover(This,v) ) 

#define IHTMLWindow8_get_onmspointerover(This,p)	\
    ( (This)->lpVtbl -> get_onmspointerover(This,p) ) 

#define IHTMLWindow8_put_onmspointerout(This,v)	\
    ( (This)->lpVtbl -> put_onmspointerout(This,v) ) 

#define IHTMLWindow8_get_onmspointerout(This,p)	\
    ( (This)->lpVtbl -> get_onmspointerout(This,p) ) 

#define IHTMLWindow8_put_onmspointercancel(This,v)	\
    ( (This)->lpVtbl -> put_onmspointercancel(This,v) ) 

#define IHTMLWindow8_get_onmspointercancel(This,p)	\
    ( (This)->lpVtbl -> get_onmspointercancel(This,p) ) 

#define IHTMLWindow8_put_onmspointerhover(This,v)	\
    ( (This)->lpVtbl -> put_onmspointerhover(This,v) ) 

#define IHTMLWindow8_get_onmspointerhover(This,p)	\
    ( (This)->lpVtbl -> get_onmspointerhover(This,p) ) 

#define IHTMLWindow8_put_onmsgesturestart(This,v)	\
    ( (This)->lpVtbl -> put_onmsgesturestart(This,v) ) 

#define IHTMLWindow8_get_onmsgesturestart(This,p)	\
    ( (This)->lpVtbl -> get_onmsgesturestart(This,p) ) 

#define IHTMLWindow8_put_onmsgesturechange(This,v)	\
    ( (This)->lpVtbl -> put_onmsgesturechange(This,v) ) 

#define IHTMLWindow8_get_onmsgesturechange(This,p)	\
    ( (This)->lpVtbl -> get_onmsgesturechange(This,p) ) 

#define IHTMLWindow8_put_onmsgestureend(This,v)	\
    ( (This)->lpVtbl -> put_onmsgestureend(This,v) ) 

#define IHTMLWindow8_get_onmsgestureend(This,p)	\
    ( (This)->lpVtbl -> get_onmsgestureend(This,p) ) 

#define IHTMLWindow8_put_onmsgesturehold(This,v)	\
    ( (This)->lpVtbl -> put_onmsgesturehold(This,v) ) 

#define IHTMLWindow8_get_onmsgesturehold(This,p)	\
    ( (This)->lpVtbl -> get_onmsgesturehold(This,p) ) 

#define IHTMLWindow8_put_onmsgesturetap(This,v)	\
    ( (This)->lpVtbl -> put_onmsgesturetap(This,v) ) 

#define IHTMLWindow8_get_onmsgesturetap(This,p)	\
    ( (This)->lpVtbl -> get_onmsgesturetap(This,p) ) 

#define IHTMLWindow8_put_onmsgesturedoubletap(This,v)	\
    ( (This)->lpVtbl -> put_onmsgesturedoubletap(This,v) ) 

#define IHTMLWindow8_get_onmsgesturedoubletap(This,p)	\
    ( (This)->lpVtbl -> get_onmsgesturedoubletap(This,p) ) 

#define IHTMLWindow8_put_onmsinertiastart(This,v)	\
    ( (This)->lpVtbl -> put_onmsinertiastart(This,v) ) 

#define IHTMLWindow8_get_onmsinertiastart(This,p)	\
    ( (This)->lpVtbl -> get_onmsinertiastart(This,p) ) 

#define IHTMLWindow8_get_applicationCache(This,p)	\
    ( (This)->lpVtbl -> get_applicationCache(This,p) ) 

#define IHTMLWindow8_put_onpopstate(This,v)	\
    ( (This)->lpVtbl -> put_onpopstate(This,v) ) 

#define IHTMLWindow8_get_onpopstate(This,p)	\
    ( (This)->lpVtbl -> get_onpopstate(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLWindow8_INTERFACE_DEFINED__ */


#ifndef __DispHTMLScreen_DISPINTERFACE_DEFINED__
#define __DispHTMLScreen_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLScreen */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLScreen;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f591-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLScreen : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLScreenVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLScreen * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLScreen * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLScreen * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLScreen * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLScreen * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLScreen * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLScreen * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLScreenVtbl;

    interface DispHTMLScreen
    {
        CONST_VTBL struct DispHTMLScreenVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLScreen_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLScreen;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f35d-98b5-11cf-bb82-00aa00bdce0b")
HTMLScreen;
#endif

#ifndef __DispHTMLWindow2_DISPINTERFACE_DEFINED__
#define __DispHTMLWindow2_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLWindow2 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLWindow2;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f55d-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLWindow2 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLWindow2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLWindow2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLWindow2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLWindow2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLWindow2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLWindow2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLWindow2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLWindow2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLWindow2Vtbl;

    interface DispHTMLWindow2
    {
        CONST_VTBL struct DispHTMLWindow2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLWindow2_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLWindow2;

#ifdef __cplusplus

class DECLSPEC_UUID("D48A6EC6-6A4A-11cf-94A7-444553540000")
HTMLWindow2;
#endif

#ifndef __DispHTMLWindowProxy_DISPINTERFACE_DEFINED__
#define __DispHTMLWindowProxy_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLWindowProxy */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLWindowProxy;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f55e-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLWindowProxy : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLWindowProxyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLWindowProxy * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLWindowProxy * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLWindowProxy * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLWindowProxy * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLWindowProxy * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLWindowProxy * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLWindowProxy * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLWindowProxyVtbl;

    interface DispHTMLWindowProxy
    {
        CONST_VTBL struct DispHTMLWindowProxyVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLWindowProxy_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLWindowProxy;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f391-98b5-11cf-bb82-00aa00bdce0b")
HTMLWindowProxy;
#endif

#ifndef __IHTMLDocumentCompatibleInfo_INTERFACE_DEFINED__
#define __IHTMLDocumentCompatibleInfo_INTERFACE_DEFINED__

/* interface IHTMLDocumentCompatibleInfo */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDocumentCompatibleInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051041a-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDocumentCompatibleInfo : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_userAgent( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_version( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDocumentCompatibleInfoVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDocumentCompatibleInfo * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDocumentCompatibleInfo * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDocumentCompatibleInfo * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDocumentCompatibleInfo * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDocumentCompatibleInfo * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDocumentCompatibleInfo * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDocumentCompatibleInfo * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_userAgent )( 
            __RPC__in IHTMLDocumentCompatibleInfo * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 
            __RPC__in IHTMLDocumentCompatibleInfo * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLDocumentCompatibleInfoVtbl;

    interface IHTMLDocumentCompatibleInfo
    {
        CONST_VTBL struct IHTMLDocumentCompatibleInfoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLDocumentCompatibleInfo_get_userAgent(This,p)	\
    ( (This)->lpVtbl -> get_userAgent(This,p) ) 

#define IHTMLDocumentCompatibleInfo_get_version(This,p)	\
    ( (This)->lpVtbl -> get_version(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDocumentCompatibleInfo_INTERFACE_DEFINED__ */


#ifndef __IHTMLDocumentCompatibleInfoCollection_INTERFACE_DEFINED__
#define __IHTMLDocumentCompatibleInfoCollection_INTERFACE_DEFINED__

/* interface IHTMLDocumentCompatibleInfoCollection */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDocumentCompatibleInfoCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510418-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDocumentCompatibleInfoCollection : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDocumentCompatibleInfo **compatibleInfo) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDocumentCompatibleInfoCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDocumentCompatibleInfoCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDocumentCompatibleInfoCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDocumentCompatibleInfoCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDocumentCompatibleInfoCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDocumentCompatibleInfoCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDocumentCompatibleInfoCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDocumentCompatibleInfoCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLDocumentCompatibleInfoCollection * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLDocumentCompatibleInfoCollection * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDocumentCompatibleInfo **compatibleInfo);
        
        END_INTERFACE
    } IHTMLDocumentCompatibleInfoCollectionVtbl;

    interface IHTMLDocumentCompatibleInfoCollection
    {
        CONST_VTBL struct IHTMLDocumentCompatibleInfoCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLDocumentCompatibleInfoCollection_get_length(This,p)	\
    ( (This)->lpVtbl -> get_length(This,p) ) 

#define IHTMLDocumentCompatibleInfoCollection_item(This,index,compatibleInfo)	\
    ( (This)->lpVtbl -> item(This,index,compatibleInfo) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDocumentCompatibleInfoCollection_INTERFACE_DEFINED__ */


#ifndef __DispHTMLDocumentCompatibleInfo_DISPINTERFACE_DEFINED__
#define __DispHTMLDocumentCompatibleInfo_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLDocumentCompatibleInfo */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLDocumentCompatibleInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f53e-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLDocumentCompatibleInfo : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLDocumentCompatibleInfoVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLDocumentCompatibleInfo * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLDocumentCompatibleInfo * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLDocumentCompatibleInfo * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLDocumentCompatibleInfo * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLDocumentCompatibleInfo * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLDocumentCompatibleInfo * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLDocumentCompatibleInfo * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLDocumentCompatibleInfoVtbl;

    interface DispHTMLDocumentCompatibleInfo
    {
        CONST_VTBL struct DispHTMLDocumentCompatibleInfoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLDocumentCompatibleInfo_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLDocumentCompatibleInfo_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLDocumentCompatibleInfo_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLDocumentCompatibleInfo_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLDocumentCompatibleInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLDocumentCompatibleInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLDocumentCompatibleInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLDocumentCompatibleInfo_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLDocumentCompatibleInfo;

#ifdef __cplusplus

class DECLSPEC_UUID("3051041b-98b5-11cf-bb82-00aa00bdce0b")
HTMLDocumentCompatibleInfo;
#endif

#ifndef __DispHTMLDocumentCompatibleInfoCollection_DISPINTERFACE_DEFINED__
#define __DispHTMLDocumentCompatibleInfoCollection_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLDocumentCompatibleInfoCollection */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLDocumentCompatibleInfoCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f53f-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLDocumentCompatibleInfoCollection : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLDocumentCompatibleInfoCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLDocumentCompatibleInfoCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLDocumentCompatibleInfoCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLDocumentCompatibleInfoCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLDocumentCompatibleInfoCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLDocumentCompatibleInfoCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLDocumentCompatibleInfoCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLDocumentCompatibleInfoCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLDocumentCompatibleInfoCollectionVtbl;

    interface DispHTMLDocumentCompatibleInfoCollection
    {
        CONST_VTBL struct DispHTMLDocumentCompatibleInfoCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLDocumentCompatibleInfoCollection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLDocumentCompatibleInfoCollection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLDocumentCompatibleInfoCollection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLDocumentCompatibleInfoCollection_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLDocumentCompatibleInfoCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLDocumentCompatibleInfoCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLDocumentCompatibleInfoCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLDocumentCompatibleInfoCollection_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLDocumentCompatibleInfoCollection;

#ifdef __cplusplus

class DECLSPEC_UUID("30510419-98b5-11cf-bb82-00aa00bdce0b")
HTMLDocumentCompatibleInfoCollection;
#endif

#ifndef __HTMLDocumentEvents4_DISPINTERFACE_DEFINED__
#define __HTMLDocumentEvents4_DISPINTERFACE_DEFINED__

/* dispinterface HTMLDocumentEvents4 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLDocumentEvents4;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30510737-98b5-11cf-bb82-00aa00bdce0b")
    HTMLDocumentEvents4 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLDocumentEvents4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLDocumentEvents4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLDocumentEvents4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLDocumentEvents4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLDocumentEvents4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLDocumentEvents4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLDocumentEvents4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLDocumentEvents4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLDocumentEvents4Vtbl;

    interface HTMLDocumentEvents4
    {
        CONST_VTBL struct HTMLDocumentEvents4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLDocumentEvents4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLDocumentEvents4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLDocumentEvents4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLDocumentEvents4_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLDocumentEvents4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLDocumentEvents4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLDocumentEvents4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLDocumentEvents4_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLDocumentEvents3_DISPINTERFACE_DEFINED__
#define __HTMLDocumentEvents3_DISPINTERFACE_DEFINED__

/* dispinterface HTMLDocumentEvents3 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLDocumentEvents3;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f5a0-98b5-11cf-bb82-00aa00bdce0b")
    HTMLDocumentEvents3 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLDocumentEvents3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLDocumentEvents3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLDocumentEvents3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLDocumentEvents3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLDocumentEvents3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLDocumentEvents3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLDocumentEvents3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLDocumentEvents3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLDocumentEvents3Vtbl;

    interface HTMLDocumentEvents3
    {
        CONST_VTBL struct HTMLDocumentEvents3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLDocumentEvents3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLDocumentEvents3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLDocumentEvents3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLDocumentEvents3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLDocumentEvents3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLDocumentEvents3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLDocumentEvents3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLDocumentEvents3_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLDocumentEvents2_DISPINTERFACE_DEFINED__
#define __HTMLDocumentEvents2_DISPINTERFACE_DEFINED__

/* dispinterface HTMLDocumentEvents2 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLDocumentEvents2;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f613-98b5-11cf-bb82-00aa00bdce0b")
    HTMLDocumentEvents2 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLDocumentEvents2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLDocumentEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLDocumentEvents2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLDocumentEvents2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLDocumentEvents2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLDocumentEvents2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLDocumentEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLDocumentEvents2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLDocumentEvents2Vtbl;

    interface HTMLDocumentEvents2
    {
        CONST_VTBL struct HTMLDocumentEvents2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLDocumentEvents2_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLDocumentEvents_DISPINTERFACE_DEFINED__
#define __HTMLDocumentEvents_DISPINTERFACE_DEFINED__

/* dispinterface HTMLDocumentEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLDocumentEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f260-98b5-11cf-bb82-00aa00bdce0b")
    HTMLDocumentEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLDocumentEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLDocumentEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLDocumentEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLDocumentEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLDocumentEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLDocumentEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLDocumentEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLDocumentEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLDocumentEventsVtbl;

    interface HTMLDocumentEvents
    {
        CONST_VTBL struct HTMLDocumentEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLDocumentEvents_DISPINTERFACE_DEFINED__ */


#ifndef __ISVGSVGElement_INTERFACE_DEFINED__
#define __ISVGSVGElement_INTERFACE_DEFINED__

/* interface ISVGSVGElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGSVGElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104e7-98b5-11cf-bb82-00aa00bdce0b")
    ISVGSVGElement : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_x( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_y( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_width( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_height( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_contentScriptType( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_contentScriptType( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_contentStyleType( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_contentStyleType( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_viewport( 
            /* [in] */ __RPC__in_opt ISVGRect *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_viewport( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGRect **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_pixelUnitToMillimeterX( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_pixelUnitToMillimeterX( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_pixelUnitToMillimeterY( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_pixelUnitToMillimeterY( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_screenPixelToMillimeterX( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_screenPixelToMillimeterX( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_screenPixelToMillimeterY( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_screenPixelToMillimeterY( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_useCurrentView( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_useCurrentView( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_currentView( 
            /* [in] */ __RPC__in_opt ISVGViewSpec *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_currentView( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGViewSpec **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_currentScale( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_currentScale( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_currentTranslate( 
            /* [in] */ __RPC__in_opt ISVGPoint *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_currentTranslate( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE suspendRedraw( 
            /* [in] */ ULONG maxWaitMilliseconds,
            /* [out][retval] */ __RPC__out ULONG *pResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE unsuspendRedraw( 
            /* [in] */ ULONG suspendHandeID) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE unsuspendRedrawAll( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE forceRedraw( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE pauseAnimations( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE unpauseAnimations( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE animationsPaused( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getCurrentTime( 
            /* [out][retval] */ __RPC__out float *pResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setCurrentTime( 
            /* [in] */ float seconds) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getIntersectionList( 
            /* [in] */ __RPC__in_opt ISVGRect *rect,
            /* [in] */ __RPC__in_opt ISVGElement *referenceElement,
            /* [out][retval] */ __RPC__out VARIANT *pResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getEnclosureList( 
            /* [in] */ __RPC__in_opt ISVGRect *rect,
            /* [in] */ __RPC__in_opt ISVGElement *referenceElement,
            /* [out][retval] */ __RPC__out VARIANT *pResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE checkIntersection( 
            /* [in] */ __RPC__in_opt ISVGElement *element,
            /* [in] */ __RPC__in_opt ISVGRect *rect,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE checkEnclosure( 
            /* [in] */ __RPC__in_opt ISVGElement *element,
            /* [in] */ __RPC__in_opt ISVGRect *rect,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE deselectAll( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGNumber( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGNumber **pResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGLength( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGLength **pResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGAngle( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAngle **pResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGPoint( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **pResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGMatrix( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **pResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGRect( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGRect **pResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGTransform( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGTransform **pResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGTransformFromMatrix( 
            /* [in] */ __RPC__in_opt ISVGMatrix *matrix,
            /* [out][retval] */ __RPC__deref_out_opt ISVGTransform **pResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getElementById( 
            /* [in] */ __RPC__in BSTR elementId,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **pResult) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGSVGElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGSVGElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGSVGElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGSVGElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGSVGElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_x )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in ISVGSVGElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_y )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in ISVGSVGElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_width )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in ISVGSVGElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_height )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in ISVGSVGElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_contentScriptType )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_contentScriptType )( 
            __RPC__in ISVGSVGElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_contentStyleType )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_contentStyleType )( 
            __RPC__in ISVGSVGElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_viewport )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ __RPC__in_opt ISVGRect *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_viewport )( 
            __RPC__in ISVGSVGElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGRect **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pixelUnitToMillimeterX )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pixelUnitToMillimeterX )( 
            __RPC__in ISVGSVGElement * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pixelUnitToMillimeterY )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pixelUnitToMillimeterY )( 
            __RPC__in ISVGSVGElement * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_screenPixelToMillimeterX )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_screenPixelToMillimeterX )( 
            __RPC__in ISVGSVGElement * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_screenPixelToMillimeterY )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_screenPixelToMillimeterY )( 
            __RPC__in ISVGSVGElement * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_useCurrentView )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_useCurrentView )( 
            __RPC__in ISVGSVGElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_currentView )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ __RPC__in_opt ISVGViewSpec *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentView )( 
            __RPC__in ISVGSVGElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGViewSpec **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_currentScale )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentScale )( 
            __RPC__in ISVGSVGElement * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_currentTranslate )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ __RPC__in_opt ISVGPoint *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentTranslate )( 
            __RPC__in ISVGSVGElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *suspendRedraw )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ ULONG maxWaitMilliseconds,
            /* [out][retval] */ __RPC__out ULONG *pResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *unsuspendRedraw )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ ULONG suspendHandeID);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *unsuspendRedrawAll )( 
            __RPC__in ISVGSVGElement * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *forceRedraw )( 
            __RPC__in ISVGSVGElement * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *pauseAnimations )( 
            __RPC__in ISVGSVGElement * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *unpauseAnimations )( 
            __RPC__in ISVGSVGElement * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *animationsPaused )( 
            __RPC__in ISVGSVGElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getCurrentTime )( 
            __RPC__in ISVGSVGElement * This,
            /* [out][retval] */ __RPC__out float *pResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setCurrentTime )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ float seconds);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getIntersectionList )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ __RPC__in_opt ISVGRect *rect,
            /* [in] */ __RPC__in_opt ISVGElement *referenceElement,
            /* [out][retval] */ __RPC__out VARIANT *pResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getEnclosureList )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ __RPC__in_opt ISVGRect *rect,
            /* [in] */ __RPC__in_opt ISVGElement *referenceElement,
            /* [out][retval] */ __RPC__out VARIANT *pResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *checkIntersection )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ __RPC__in_opt ISVGElement *element,
            /* [in] */ __RPC__in_opt ISVGRect *rect,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *checkEnclosure )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ __RPC__in_opt ISVGElement *element,
            /* [in] */ __RPC__in_opt ISVGRect *rect,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *deselectAll )( 
            __RPC__in ISVGSVGElement * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGNumber )( 
            __RPC__in ISVGSVGElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGNumber **pResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGLength )( 
            __RPC__in ISVGSVGElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGLength **pResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGAngle )( 
            __RPC__in ISVGSVGElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAngle **pResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGPoint )( 
            __RPC__in ISVGSVGElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **pResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGMatrix )( 
            __RPC__in ISVGSVGElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **pResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGRect )( 
            __RPC__in ISVGSVGElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGRect **pResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGTransform )( 
            __RPC__in ISVGSVGElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGTransform **pResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGTransformFromMatrix )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ __RPC__in_opt ISVGMatrix *matrix,
            /* [out][retval] */ __RPC__deref_out_opt ISVGTransform **pResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getElementById )( 
            __RPC__in ISVGSVGElement * This,
            /* [in] */ __RPC__in BSTR elementId,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **pResult);
        
        END_INTERFACE
    } ISVGSVGElementVtbl;

    interface ISVGSVGElement
    {
        CONST_VTBL struct ISVGSVGElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGSVGElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGSVGElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGSVGElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGSVGElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGSVGElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGSVGElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGSVGElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGSVGElement_putref_x(This,v)	\
    ( (This)->lpVtbl -> putref_x(This,v) ) 

#define ISVGSVGElement_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#define ISVGSVGElement_putref_y(This,v)	\
    ( (This)->lpVtbl -> putref_y(This,v) ) 

#define ISVGSVGElement_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#define ISVGSVGElement_putref_width(This,v)	\
    ( (This)->lpVtbl -> putref_width(This,v) ) 

#define ISVGSVGElement_get_width(This,p)	\
    ( (This)->lpVtbl -> get_width(This,p) ) 

#define ISVGSVGElement_putref_height(This,v)	\
    ( (This)->lpVtbl -> putref_height(This,v) ) 

#define ISVGSVGElement_get_height(This,p)	\
    ( (This)->lpVtbl -> get_height(This,p) ) 

#define ISVGSVGElement_put_contentScriptType(This,v)	\
    ( (This)->lpVtbl -> put_contentScriptType(This,v) ) 

#define ISVGSVGElement_get_contentScriptType(This,p)	\
    ( (This)->lpVtbl -> get_contentScriptType(This,p) ) 

#define ISVGSVGElement_put_contentStyleType(This,v)	\
    ( (This)->lpVtbl -> put_contentStyleType(This,v) ) 

#define ISVGSVGElement_get_contentStyleType(This,p)	\
    ( (This)->lpVtbl -> get_contentStyleType(This,p) ) 

#define ISVGSVGElement_putref_viewport(This,v)	\
    ( (This)->lpVtbl -> putref_viewport(This,v) ) 

#define ISVGSVGElement_get_viewport(This,p)	\
    ( (This)->lpVtbl -> get_viewport(This,p) ) 

#define ISVGSVGElement_put_pixelUnitToMillimeterX(This,v)	\
    ( (This)->lpVtbl -> put_pixelUnitToMillimeterX(This,v) ) 

#define ISVGSVGElement_get_pixelUnitToMillimeterX(This,p)	\
    ( (This)->lpVtbl -> get_pixelUnitToMillimeterX(This,p) ) 

#define ISVGSVGElement_put_pixelUnitToMillimeterY(This,v)	\
    ( (This)->lpVtbl -> put_pixelUnitToMillimeterY(This,v) ) 

#define ISVGSVGElement_get_pixelUnitToMillimeterY(This,p)	\
    ( (This)->lpVtbl -> get_pixelUnitToMillimeterY(This,p) ) 

#define ISVGSVGElement_put_screenPixelToMillimeterX(This,v)	\
    ( (This)->lpVtbl -> put_screenPixelToMillimeterX(This,v) ) 

#define ISVGSVGElement_get_screenPixelToMillimeterX(This,p)	\
    ( (This)->lpVtbl -> get_screenPixelToMillimeterX(This,p) ) 

#define ISVGSVGElement_put_screenPixelToMillimeterY(This,v)	\
    ( (This)->lpVtbl -> put_screenPixelToMillimeterY(This,v) ) 

#define ISVGSVGElement_get_screenPixelToMillimeterY(This,p)	\
    ( (This)->lpVtbl -> get_screenPixelToMillimeterY(This,p) ) 

#define ISVGSVGElement_put_useCurrentView(This,v)	\
    ( (This)->lpVtbl -> put_useCurrentView(This,v) ) 

#define ISVGSVGElement_get_useCurrentView(This,p)	\
    ( (This)->lpVtbl -> get_useCurrentView(This,p) ) 

#define ISVGSVGElement_putref_currentView(This,v)	\
    ( (This)->lpVtbl -> putref_currentView(This,v) ) 

#define ISVGSVGElement_get_currentView(This,p)	\
    ( (This)->lpVtbl -> get_currentView(This,p) ) 

#define ISVGSVGElement_put_currentScale(This,v)	\
    ( (This)->lpVtbl -> put_currentScale(This,v) ) 

#define ISVGSVGElement_get_currentScale(This,p)	\
    ( (This)->lpVtbl -> get_currentScale(This,p) ) 

#define ISVGSVGElement_putref_currentTranslate(This,v)	\
    ( (This)->lpVtbl -> putref_currentTranslate(This,v) ) 

#define ISVGSVGElement_get_currentTranslate(This,p)	\
    ( (This)->lpVtbl -> get_currentTranslate(This,p) ) 

#define ISVGSVGElement_suspendRedraw(This,maxWaitMilliseconds,pResult)	\
    ( (This)->lpVtbl -> suspendRedraw(This,maxWaitMilliseconds,pResult) ) 

#define ISVGSVGElement_unsuspendRedraw(This,suspendHandeID)	\
    ( (This)->lpVtbl -> unsuspendRedraw(This,suspendHandeID) ) 

#define ISVGSVGElement_unsuspendRedrawAll(This)	\
    ( (This)->lpVtbl -> unsuspendRedrawAll(This) ) 

#define ISVGSVGElement_forceRedraw(This)	\
    ( (This)->lpVtbl -> forceRedraw(This) ) 

#define ISVGSVGElement_pauseAnimations(This)	\
    ( (This)->lpVtbl -> pauseAnimations(This) ) 

#define ISVGSVGElement_unpauseAnimations(This)	\
    ( (This)->lpVtbl -> unpauseAnimations(This) ) 

#define ISVGSVGElement_animationsPaused(This,pResult)	\
    ( (This)->lpVtbl -> animationsPaused(This,pResult) ) 

#define ISVGSVGElement_getCurrentTime(This,pResult)	\
    ( (This)->lpVtbl -> getCurrentTime(This,pResult) ) 

#define ISVGSVGElement_setCurrentTime(This,seconds)	\
    ( (This)->lpVtbl -> setCurrentTime(This,seconds) ) 

#define ISVGSVGElement_getIntersectionList(This,rect,referenceElement,pResult)	\
    ( (This)->lpVtbl -> getIntersectionList(This,rect,referenceElement,pResult) ) 

#define ISVGSVGElement_getEnclosureList(This,rect,referenceElement,pResult)	\
    ( (This)->lpVtbl -> getEnclosureList(This,rect,referenceElement,pResult) ) 

#define ISVGSVGElement_checkIntersection(This,element,rect,pResult)	\
    ( (This)->lpVtbl -> checkIntersection(This,element,rect,pResult) ) 

#define ISVGSVGElement_checkEnclosure(This,element,rect,pResult)	\
    ( (This)->lpVtbl -> checkEnclosure(This,element,rect,pResult) ) 

#define ISVGSVGElement_deselectAll(This)	\
    ( (This)->lpVtbl -> deselectAll(This) ) 

#define ISVGSVGElement_createSVGNumber(This,pResult)	\
    ( (This)->lpVtbl -> createSVGNumber(This,pResult) ) 

#define ISVGSVGElement_createSVGLength(This,pResult)	\
    ( (This)->lpVtbl -> createSVGLength(This,pResult) ) 

#define ISVGSVGElement_createSVGAngle(This,pResult)	\
    ( (This)->lpVtbl -> createSVGAngle(This,pResult) ) 

#define ISVGSVGElement_createSVGPoint(This,pResult)	\
    ( (This)->lpVtbl -> createSVGPoint(This,pResult) ) 

#define ISVGSVGElement_createSVGMatrix(This,pResult)	\
    ( (This)->lpVtbl -> createSVGMatrix(This,pResult) ) 

#define ISVGSVGElement_createSVGRect(This,pResult)	\
    ( (This)->lpVtbl -> createSVGRect(This,pResult) ) 

#define ISVGSVGElement_createSVGTransform(This,pResult)	\
    ( (This)->lpVtbl -> createSVGTransform(This,pResult) ) 

#define ISVGSVGElement_createSVGTransformFromMatrix(This,matrix,pResult)	\
    ( (This)->lpVtbl -> createSVGTransformFromMatrix(This,matrix,pResult) ) 

#define ISVGSVGElement_getElementById(This,elementId,pResult)	\
    ( (This)->lpVtbl -> getElementById(This,elementId,pResult) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGSVGElement_INTERFACE_DEFINED__ */


#ifndef __IDOMNodeIterator_INTERFACE_DEFINED__
#define __IDOMNodeIterator_INTERFACE_DEFINED__

/* interface IDOMNodeIterator */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMNodeIterator;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510746-98b5-11cf-bb82-00aa00bdce0b")
    IDOMNodeIterator : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_root( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_whatToShow( 
            /* [out][retval] */ __RPC__out ULONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_filter( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_expandEntityReferences( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE nextNode( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppRetNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE previousNode( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppRetNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE detach( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMNodeIteratorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMNodeIterator * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMNodeIterator * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMNodeIterator * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMNodeIterator * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMNodeIterator * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMNodeIterator * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMNodeIterator * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_root )( 
            __RPC__in IDOMNodeIterator * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_whatToShow )( 
            __RPC__in IDOMNodeIterator * This,
            /* [out][retval] */ __RPC__out ULONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_filter )( 
            __RPC__in IDOMNodeIterator * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_expandEntityReferences )( 
            __RPC__in IDOMNodeIterator * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *nextNode )( 
            __RPC__in IDOMNodeIterator * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppRetNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *previousNode )( 
            __RPC__in IDOMNodeIterator * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppRetNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *detach )( 
            __RPC__in IDOMNodeIterator * This);
        
        END_INTERFACE
    } IDOMNodeIteratorVtbl;

    interface IDOMNodeIterator
    {
        CONST_VTBL struct IDOMNodeIteratorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMNodeIterator_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMNodeIterator_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMNodeIterator_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMNodeIterator_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMNodeIterator_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMNodeIterator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMNodeIterator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMNodeIterator_get_root(This,p)	\
    ( (This)->lpVtbl -> get_root(This,p) ) 

#define IDOMNodeIterator_get_whatToShow(This,p)	\
    ( (This)->lpVtbl -> get_whatToShow(This,p) ) 

#define IDOMNodeIterator_get_filter(This,p)	\
    ( (This)->lpVtbl -> get_filter(This,p) ) 

#define IDOMNodeIterator_get_expandEntityReferences(This,p)	\
    ( (This)->lpVtbl -> get_expandEntityReferences(This,p) ) 

#define IDOMNodeIterator_nextNode(This,ppRetNode)	\
    ( (This)->lpVtbl -> nextNode(This,ppRetNode) ) 

#define IDOMNodeIterator_previousNode(This,ppRetNode)	\
    ( (This)->lpVtbl -> previousNode(This,ppRetNode) ) 

#define IDOMNodeIterator_detach(This)	\
    ( (This)->lpVtbl -> detach(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMNodeIterator_INTERFACE_DEFINED__ */


#ifndef __IDOMTreeWalker_INTERFACE_DEFINED__
#define __IDOMTreeWalker_INTERFACE_DEFINED__

/* interface IDOMTreeWalker */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMTreeWalker;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510748-98b5-11cf-bb82-00aa00bdce0b")
    IDOMTreeWalker : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_root( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_whatToShow( 
            /* [out][retval] */ __RPC__out ULONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_filter( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_expandEntityReferences( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_currentNode( 
            /* [in] */ __RPC__in_opt IDispatch *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_currentNode( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE parentNode( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppRetNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE firstChild( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppRetNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE lastChild( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppRetNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE previousSibling( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppRetNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE nextSibling( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppRetNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE previousNode( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppRetNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE nextNode( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppRetNode) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMTreeWalkerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMTreeWalker * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMTreeWalker * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMTreeWalker * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMTreeWalker * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMTreeWalker * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMTreeWalker * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMTreeWalker * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_root )( 
            __RPC__in IDOMTreeWalker * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_whatToShow )( 
            __RPC__in IDOMTreeWalker * This,
            /* [out][retval] */ __RPC__out ULONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_filter )( 
            __RPC__in IDOMTreeWalker * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_expandEntityReferences )( 
            __RPC__in IDOMTreeWalker * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_currentNode )( 
            __RPC__in IDOMTreeWalker * This,
            /* [in] */ __RPC__in_opt IDispatch *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentNode )( 
            __RPC__in IDOMTreeWalker * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *parentNode )( 
            __RPC__in IDOMTreeWalker * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppRetNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *firstChild )( 
            __RPC__in IDOMTreeWalker * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppRetNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *lastChild )( 
            __RPC__in IDOMTreeWalker * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppRetNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *previousSibling )( 
            __RPC__in IDOMTreeWalker * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppRetNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *nextSibling )( 
            __RPC__in IDOMTreeWalker * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppRetNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *previousNode )( 
            __RPC__in IDOMTreeWalker * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppRetNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *nextNode )( 
            __RPC__in IDOMTreeWalker * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppRetNode);
        
        END_INTERFACE
    } IDOMTreeWalkerVtbl;

    interface IDOMTreeWalker
    {
        CONST_VTBL struct IDOMTreeWalkerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMTreeWalker_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMTreeWalker_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMTreeWalker_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMTreeWalker_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMTreeWalker_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMTreeWalker_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMTreeWalker_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMTreeWalker_get_root(This,p)	\
    ( (This)->lpVtbl -> get_root(This,p) ) 

#define IDOMTreeWalker_get_whatToShow(This,p)	\
    ( (This)->lpVtbl -> get_whatToShow(This,p) ) 

#define IDOMTreeWalker_get_filter(This,p)	\
    ( (This)->lpVtbl -> get_filter(This,p) ) 

#define IDOMTreeWalker_get_expandEntityReferences(This,p)	\
    ( (This)->lpVtbl -> get_expandEntityReferences(This,p) ) 

#define IDOMTreeWalker_putref_currentNode(This,v)	\
    ( (This)->lpVtbl -> putref_currentNode(This,v) ) 

#define IDOMTreeWalker_get_currentNode(This,p)	\
    ( (This)->lpVtbl -> get_currentNode(This,p) ) 

#define IDOMTreeWalker_parentNode(This,ppRetNode)	\
    ( (This)->lpVtbl -> parentNode(This,ppRetNode) ) 

#define IDOMTreeWalker_firstChild(This,ppRetNode)	\
    ( (This)->lpVtbl -> firstChild(This,ppRetNode) ) 

#define IDOMTreeWalker_lastChild(This,ppRetNode)	\
    ( (This)->lpVtbl -> lastChild(This,ppRetNode) ) 

#define IDOMTreeWalker_previousSibling(This,ppRetNode)	\
    ( (This)->lpVtbl -> previousSibling(This,ppRetNode) ) 

#define IDOMTreeWalker_nextSibling(This,ppRetNode)	\
    ( (This)->lpVtbl -> nextSibling(This,ppRetNode) ) 

#define IDOMTreeWalker_previousNode(This,ppRetNode)	\
    ( (This)->lpVtbl -> previousNode(This,ppRetNode) ) 

#define IDOMTreeWalker_nextNode(This,ppRetNode)	\
    ( (This)->lpVtbl -> nextNode(This,ppRetNode) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMTreeWalker_INTERFACE_DEFINED__ */


#ifndef __IDOMProcessingInstruction_INTERFACE_DEFINED__
#define __IDOMProcessingInstruction_INTERFACE_DEFINED__

/* interface IDOMProcessingInstruction */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMProcessingInstruction;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510742-98b5-11cf-bb82-00aa00bdce0b")
    IDOMProcessingInstruction : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_target( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_data( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_data( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMProcessingInstructionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMProcessingInstruction * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMProcessingInstruction * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMProcessingInstruction * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMProcessingInstruction * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMProcessingInstruction * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMProcessingInstruction * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMProcessingInstruction * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_target )( 
            __RPC__in IDOMProcessingInstruction * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_data )( 
            __RPC__in IDOMProcessingInstruction * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_data )( 
            __RPC__in IDOMProcessingInstruction * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IDOMProcessingInstructionVtbl;

    interface IDOMProcessingInstruction
    {
        CONST_VTBL struct IDOMProcessingInstructionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMProcessingInstruction_INTERFACE_DEFINED__ */


#ifndef __IHTMLDocument3_INTERFACE_DEFINED__
#define __IHTMLDocument3_INTERFACE_DEFINED__

/* interface IHTMLDocument3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDocument3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f485-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDocument3 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE releaseCapture( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE recalc( 
            /* [in][defaultvalue] */ VARIANT_BOOL fForce = 0) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createTextNode( 
            /* [in] */ __RPC__in BSTR text,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **newTextNode) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_documentElement( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p) = 0;
        
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_uniqueID( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE attachEvent( 
            /* [in] */ __RPC__in BSTR event,
            /* [in] */ __RPC__in_opt IDispatch *pDisp,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE detachEvent( 
            /* [in] */ __RPC__in BSTR event,
            /* [in] */ __RPC__in_opt IDispatch *pDisp) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onrowsdelete( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onrowsdelete( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onrowsinserted( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onrowsinserted( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_oncellchange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_oncellchange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondatasetchanged( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondatasetchanged( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondataavailable( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondataavailable( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondatasetcomplete( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondatasetcomplete( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onpropertychange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onpropertychange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_dir( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_dir( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_oncontextmenu( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_oncontextmenu( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onstop( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onstop( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createDocumentFragment( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDocument2 **pNewDoc) = 0;
        
        virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_parentDocument( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDocument2 **p) = 0;
        
        virtual /* [restricted][hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_enableDownload( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_enableDownload( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [restricted][hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_baseUrl( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_baseUrl( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_childNodes( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [restricted][hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_inheritStyleSheets( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_inheritStyleSheets( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onbeforeeditfocus( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onbeforeeditfocus( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getElementsByName( 
            /* [in] */ __RPC__in BSTR v,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **pelColl) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getElementById( 
            /* [in] */ __RPC__in BSTR v,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **pel) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getElementsByTagName( 
            /* [in] */ __RPC__in BSTR v,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **pelColl) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDocument3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDocument3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDocument3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDocument3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDocument3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDocument3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDocument3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDocument3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *releaseCapture )( 
            __RPC__in IHTMLDocument3 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *recalc )( 
            __RPC__in IHTMLDocument3 * This,
            /* [in][defaultvalue] */ VARIANT_BOOL fForce);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createTextNode )( 
            __RPC__in IHTMLDocument3 * This,
            /* [in] */ __RPC__in BSTR text,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **newTextNode);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_documentElement )( 
            __RPC__in IHTMLDocument3 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_uniqueID )( 
            __RPC__in IHTMLDocument3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *attachEvent )( 
            __RPC__in IHTMLDocument3 * This,
            /* [in] */ __RPC__in BSTR event,
            /* [in] */ __RPC__in_opt IDispatch *pDisp,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *detachEvent )( 
            __RPC__in IHTMLDocument3 * This,
            /* [in] */ __RPC__in BSTR event,
            /* [in] */ __RPC__in_opt IDispatch *pDisp);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onrowsdelete )( 
            __RPC__in IHTMLDocument3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onrowsdelete )( 
            __RPC__in IHTMLDocument3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onrowsinserted )( 
            __RPC__in IHTMLDocument3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onrowsinserted )( 
            __RPC__in IHTMLDocument3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_oncellchange )( 
            __RPC__in IHTMLDocument3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oncellchange )( 
            __RPC__in IHTMLDocument3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondatasetchanged )( 
            __RPC__in IHTMLDocument3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondatasetchanged )( 
            __RPC__in IHTMLDocument3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondataavailable )( 
            __RPC__in IHTMLDocument3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondataavailable )( 
            __RPC__in IHTMLDocument3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondatasetcomplete )( 
            __RPC__in IHTMLDocument3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondatasetcomplete )( 
            __RPC__in IHTMLDocument3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onpropertychange )( 
            __RPC__in IHTMLDocument3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onpropertychange )( 
            __RPC__in IHTMLDocument3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_dir )( 
            __RPC__in IHTMLDocument3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dir )( 
            __RPC__in IHTMLDocument3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_oncontextmenu )( 
            __RPC__in IHTMLDocument3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oncontextmenu )( 
            __RPC__in IHTMLDocument3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onstop )( 
            __RPC__in IHTMLDocument3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onstop )( 
            __RPC__in IHTMLDocument3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createDocumentFragment )( 
            __RPC__in IHTMLDocument3 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDocument2 **pNewDoc);
        
        /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_parentDocument )( 
            __RPC__in IHTMLDocument3 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDocument2 **p);
        
        /* [restricted][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_enableDownload )( 
            __RPC__in IHTMLDocument3 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_enableDownload )( 
            __RPC__in IHTMLDocument3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [restricted][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_baseUrl )( 
            __RPC__in IHTMLDocument3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseUrl )( 
            __RPC__in IHTMLDocument3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_childNodes )( 
            __RPC__in IHTMLDocument3 * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [restricted][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_inheritStyleSheets )( 
            __RPC__in IHTMLDocument3 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_inheritStyleSheets )( 
            __RPC__in IHTMLDocument3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onbeforeeditfocus )( 
            __RPC__in IHTMLDocument3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onbeforeeditfocus )( 
            __RPC__in IHTMLDocument3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getElementsByName )( 
            __RPC__in IHTMLDocument3 * This,
            /* [in] */ __RPC__in BSTR v,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **pelColl);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getElementById )( 
            __RPC__in IHTMLDocument3 * This,
            /* [in] */ __RPC__in BSTR v,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **pel);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getElementsByTagName )( 
            __RPC__in IHTMLDocument3 * This,
            /* [in] */ __RPC__in BSTR v,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **pelColl);
        
        END_INTERFACE
    } IHTMLDocument3Vtbl;

    interface IHTMLDocument3
    {
        CONST_VTBL struct IHTMLDocument3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDocument3_INTERFACE_DEFINED__ */


#ifndef __IHTMLDocument4_INTERFACE_DEFINED__
#define __IHTMLDocument4_INTERFACE_DEFINED__

/* interface IHTMLDocument4 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDocument4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f69a-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDocument4 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE focus( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE hasFocus( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfFocus) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onselectionchange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onselectionchange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_namespaces( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createDocumentFromUrl( 
            /* [in] */ __RPC__in BSTR bstrUrl,
            /* [in] */ __RPC__in BSTR bstrOptions,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDocument2 **newDoc) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_media( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_media( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createEventObject( 
            /* [in][optional] */ __RPC__in VARIANT *pvarEventObject,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLEventObj **ppEventObj) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE fireEvent( 
            /* [in] */ __RPC__in BSTR bstrEventName,
            /* [in][optional] */ __RPC__in VARIANT *pvarEventObject,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfCancelled) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createRenderStyle( 
            /* [in] */ __RPC__in BSTR v,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLRenderStyle **ppIHTMLRenderStyle) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_oncontrolselect( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_oncontrolselect( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_URLUnencoded( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDocument4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDocument4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDocument4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDocument4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDocument4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDocument4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDocument4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDocument4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *focus )( 
            __RPC__in IHTMLDocument4 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *hasFocus )( 
            __RPC__in IHTMLDocument4 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfFocus);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onselectionchange )( 
            __RPC__in IHTMLDocument4 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onselectionchange )( 
            __RPC__in IHTMLDocument4 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_namespaces )( 
            __RPC__in IHTMLDocument4 * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createDocumentFromUrl )( 
            __RPC__in IHTMLDocument4 * This,
            /* [in] */ __RPC__in BSTR bstrUrl,
            /* [in] */ __RPC__in BSTR bstrOptions,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDocument2 **newDoc);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_media )( 
            __RPC__in IHTMLDocument4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_media )( 
            __RPC__in IHTMLDocument4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createEventObject )( 
            __RPC__in IHTMLDocument4 * This,
            /* [in][optional] */ __RPC__in VARIANT *pvarEventObject,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLEventObj **ppEventObj);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *fireEvent )( 
            __RPC__in IHTMLDocument4 * This,
            /* [in] */ __RPC__in BSTR bstrEventName,
            /* [in][optional] */ __RPC__in VARIANT *pvarEventObject,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfCancelled);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createRenderStyle )( 
            __RPC__in IHTMLDocument4 * This,
            /* [in] */ __RPC__in BSTR v,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLRenderStyle **ppIHTMLRenderStyle);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_oncontrolselect )( 
            __RPC__in IHTMLDocument4 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oncontrolselect )( 
            __RPC__in IHTMLDocument4 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_URLUnencoded )( 
            __RPC__in IHTMLDocument4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLDocument4Vtbl;

    interface IHTMLDocument4
    {
        CONST_VTBL struct IHTMLDocument4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDocument4_INTERFACE_DEFINED__ */


#ifndef __IHTMLDocument5_INTERFACE_DEFINED__
#define __IHTMLDocument5_INTERFACE_DEFINED__

/* interface IHTMLDocument5 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDocument5;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f80c-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDocument5 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmousewheel( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmousewheel( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_doctype( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_implementation( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMImplementation **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createAttribute( 
            /* [in] */ __RPC__in BSTR bstrattrName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **ppattribute) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createComment( 
            /* [in] */ __RPC__in BSTR bstrdata,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **ppRetNode) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onfocusin( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onfocusin( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onfocusout( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onfocusout( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onactivate( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onactivate( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ondeactivate( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ondeactivate( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onbeforeactivate( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onbeforeactivate( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onbeforedeactivate( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onbeforedeactivate( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_compatMode( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDocument5Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDocument5 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDocument5 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDocument5 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDocument5 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDocument5 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDocument5 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDocument5 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmousewheel )( 
            __RPC__in IHTMLDocument5 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmousewheel )( 
            __RPC__in IHTMLDocument5 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_doctype )( 
            __RPC__in IHTMLDocument5 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_implementation )( 
            __RPC__in IHTMLDocument5 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMImplementation **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createAttribute )( 
            __RPC__in IHTMLDocument5 * This,
            /* [in] */ __RPC__in BSTR bstrattrName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMAttribute **ppattribute);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createComment )( 
            __RPC__in IHTMLDocument5 * This,
            /* [in] */ __RPC__in BSTR bstrdata,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMNode **ppRetNode);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onfocusin )( 
            __RPC__in IHTMLDocument5 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onfocusin )( 
            __RPC__in IHTMLDocument5 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onfocusout )( 
            __RPC__in IHTMLDocument5 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onfocusout )( 
            __RPC__in IHTMLDocument5 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onactivate )( 
            __RPC__in IHTMLDocument5 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onactivate )( 
            __RPC__in IHTMLDocument5 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ondeactivate )( 
            __RPC__in IHTMLDocument5 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ondeactivate )( 
            __RPC__in IHTMLDocument5 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onbeforeactivate )( 
            __RPC__in IHTMLDocument5 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onbeforeactivate )( 
            __RPC__in IHTMLDocument5 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onbeforedeactivate )( 
            __RPC__in IHTMLDocument5 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onbeforedeactivate )( 
            __RPC__in IHTMLDocument5 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compatMode )( 
            __RPC__in IHTMLDocument5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLDocument5Vtbl;

    interface IHTMLDocument5
    {
        CONST_VTBL struct IHTMLDocument5Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDocument5_INTERFACE_DEFINED__ */


#ifndef __IHTMLDocument6_INTERFACE_DEFINED__
#define __IHTMLDocument6_INTERFACE_DEFINED__

/* interface IHTMLDocument6 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDocument6;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510417-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDocument6 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_compatible( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDocumentCompatibleInfoCollection **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_documentMode( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onstorage( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onstorage( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onstoragecommit( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onstoragecommit( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getElementById( 
            /* [in] */ __RPC__in BSTR bstrId,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement2 **ppRetElement) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE updateSettings( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDocument6Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDocument6 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDocument6 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDocument6 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDocument6 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDocument6 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDocument6 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDocument6 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compatible )( 
            __RPC__in IHTMLDocument6 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDocumentCompatibleInfoCollection **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_documentMode )( 
            __RPC__in IHTMLDocument6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onstorage )( 
            __RPC__in IHTMLDocument6 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onstorage )( 
            __RPC__in IHTMLDocument6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onstoragecommit )( 
            __RPC__in IHTMLDocument6 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onstoragecommit )( 
            __RPC__in IHTMLDocument6 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getElementById )( 
            __RPC__in IHTMLDocument6 * This,
            /* [in] */ __RPC__in BSTR bstrId,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement2 **ppRetElement);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *updateSettings )( 
            __RPC__in IHTMLDocument6 * This);
        
        END_INTERFACE
    } IHTMLDocument6Vtbl;

    interface IHTMLDocument6
    {
        CONST_VTBL struct IHTMLDocument6Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLDocument6_get_compatible(This,p)	\
    ( (This)->lpVtbl -> get_compatible(This,p) ) 

#define IHTMLDocument6_get_documentMode(This,p)	\
    ( (This)->lpVtbl -> get_documentMode(This,p) ) 

#define IHTMLDocument6_put_onstorage(This,v)	\
    ( (This)->lpVtbl -> put_onstorage(This,v) ) 

#define IHTMLDocument6_get_onstorage(This,p)	\
    ( (This)->lpVtbl -> get_onstorage(This,p) ) 

#define IHTMLDocument6_put_onstoragecommit(This,v)	\
    ( (This)->lpVtbl -> put_onstoragecommit(This,v) ) 

#define IHTMLDocument6_get_onstoragecommit(This,p)	\
    ( (This)->lpVtbl -> get_onstoragecommit(This,p) ) 

#define IHTMLDocument6_getElementById(This,bstrId,ppRetElement)	\
    ( (This)->lpVtbl -> getElementById(This,bstrId,ppRetElement) ) 

#define IHTMLDocument6_updateSettings(This)	\
    ( (This)->lpVtbl -> updateSettings(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDocument6_INTERFACE_DEFINED__ */


#ifndef __IHTMLDocument8_INTERFACE_DEFINED__
#define __IHTMLDocument8_INTERFACE_DEFINED__

/* interface IHTMLDocument8 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDocument8;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305107d0-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDocument8 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmscontentzoom( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmscontentzoom( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmspointerdown( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmspointerdown( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmspointermove( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmspointermove( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmspointerup( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmspointerup( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmspointerover( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmspointerover( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmspointerout( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmspointerout( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmspointercancel( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmspointercancel( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmspointerhover( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmspointerhover( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsgesturestart( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsgesturestart( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsgesturechange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsgesturechange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsgestureend( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsgestureend( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsgesturehold( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsgesturehold( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsgesturetap( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsgesturetap( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsgesturedoubletap( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsgesturedoubletap( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsinertiastart( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsinertiastart( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE elementsFromPoint( 
            /* [in] */ float x,
            /* [in] */ float y,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMChildrenCollection **elementsHit) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE elementsFromRect( 
            /* [in] */ float left,
            /* [in] */ float top,
            /* [in] */ float width,
            /* [in] */ float height,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMChildrenCollection **elementsHit) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmsmanipulationstatechanged( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmsmanipulationstatechanged( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_msCapsLockWarningOff( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_msCapsLockWarningOff( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDocument8Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDocument8 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDocument8 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDocument8 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDocument8 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDocument8 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDocument8 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDocument8 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmscontentzoom )( 
            __RPC__in IHTMLDocument8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmscontentzoom )( 
            __RPC__in IHTMLDocument8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmspointerdown )( 
            __RPC__in IHTMLDocument8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmspointerdown )( 
            __RPC__in IHTMLDocument8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmspointermove )( 
            __RPC__in IHTMLDocument8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmspointermove )( 
            __RPC__in IHTMLDocument8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmspointerup )( 
            __RPC__in IHTMLDocument8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmspointerup )( 
            __RPC__in IHTMLDocument8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmspointerover )( 
            __RPC__in IHTMLDocument8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmspointerover )( 
            __RPC__in IHTMLDocument8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmspointerout )( 
            __RPC__in IHTMLDocument8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmspointerout )( 
            __RPC__in IHTMLDocument8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmspointercancel )( 
            __RPC__in IHTMLDocument8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmspointercancel )( 
            __RPC__in IHTMLDocument8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmspointerhover )( 
            __RPC__in IHTMLDocument8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmspointerhover )( 
            __RPC__in IHTMLDocument8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsgesturestart )( 
            __RPC__in IHTMLDocument8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsgesturestart )( 
            __RPC__in IHTMLDocument8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsgesturechange )( 
            __RPC__in IHTMLDocument8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsgesturechange )( 
            __RPC__in IHTMLDocument8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsgestureend )( 
            __RPC__in IHTMLDocument8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsgestureend )( 
            __RPC__in IHTMLDocument8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsgesturehold )( 
            __RPC__in IHTMLDocument8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsgesturehold )( 
            __RPC__in IHTMLDocument8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsgesturetap )( 
            __RPC__in IHTMLDocument8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsgesturetap )( 
            __RPC__in IHTMLDocument8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsgesturedoubletap )( 
            __RPC__in IHTMLDocument8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsgesturedoubletap )( 
            __RPC__in IHTMLDocument8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsinertiastart )( 
            __RPC__in IHTMLDocument8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsinertiastart )( 
            __RPC__in IHTMLDocument8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *elementsFromPoint )( 
            __RPC__in IHTMLDocument8 * This,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMChildrenCollection **elementsHit);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *elementsFromRect )( 
            __RPC__in IHTMLDocument8 * This,
            /* [in] */ float left,
            /* [in] */ float top,
            /* [in] */ float width,
            /* [in] */ float height,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMChildrenCollection **elementsHit);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmsmanipulationstatechanged )( 
            __RPC__in IHTMLDocument8 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmsmanipulationstatechanged )( 
            __RPC__in IHTMLDocument8 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msCapsLockWarningOff )( 
            __RPC__in IHTMLDocument8 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msCapsLockWarningOff )( 
            __RPC__in IHTMLDocument8 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        END_INTERFACE
    } IHTMLDocument8Vtbl;

    interface IHTMLDocument8
    {
        CONST_VTBL struct IHTMLDocument8Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDocument8_INTERFACE_DEFINED__ */


#ifndef __IDocumentEvent_INTERFACE_DEFINED__
#define __IDocumentEvent_INTERFACE_DEFINED__

/* interface IDocumentEvent */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDocumentEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104bc-98b5-11cf-bb82-00aa00bdce0b")
    IDocumentEvent : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createEvent( 
            /* [in] */ __RPC__in BSTR eventType,
            /* [out][retval] */ __RPC__deref_out_opt IDOMEvent **ppEvent) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDocumentEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDocumentEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDocumentEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDocumentEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDocumentEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDocumentEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDocumentEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDocumentEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createEvent )( 
            __RPC__in IDocumentEvent * This,
            /* [in] */ __RPC__in BSTR eventType,
            /* [out][retval] */ __RPC__deref_out_opt IDOMEvent **ppEvent);
        
        END_INTERFACE
    } IDocumentEventVtbl;

    interface IDocumentEvent
    {
        CONST_VTBL struct IDocumentEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IDocumentEvent_createEvent(This,eventType,ppEvent)	\
    ( (This)->lpVtbl -> createEvent(This,eventType,ppEvent) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDocumentEvent_INTERFACE_DEFINED__ */


#ifndef __IDocumentRange_INTERFACE_DEFINED__
#define __IDocumentRange_INTERFACE_DEFINED__

/* interface IDocumentRange */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDocumentRange;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104af-98b5-11cf-bb82-00aa00bdce0b")
    IDocumentRange : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createRange( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMRange **ppIHTMLDOMRange) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDocumentRangeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDocumentRange * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDocumentRange * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDocumentRange * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDocumentRange * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDocumentRange * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDocumentRange * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDocumentRange * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createRange )( 
            __RPC__in IDocumentRange * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMRange **ppIHTMLDOMRange);
        
        END_INTERFACE
    } IDocumentRangeVtbl;

    interface IDocumentRange
    {
        CONST_VTBL struct IDocumentRangeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDocumentRange_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDocumentRange_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDocumentRange_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDocumentRange_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDocumentRange_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDocumentRange_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDocumentRange_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDocumentRange_createRange(This,ppIHTMLDOMRange)	\
    ( (This)->lpVtbl -> createRange(This,ppIHTMLDOMRange) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDocumentRange_INTERFACE_DEFINED__ */


#ifndef __IDocumentSelector_INTERFACE_DEFINED__
#define __IDocumentSelector_INTERFACE_DEFINED__

/* interface IDocumentSelector */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDocumentSelector;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510462-98b5-11cf-bb82-00aa00bdce0b")
    IDocumentSelector : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE querySelector( 
            /* [in] */ __RPC__in BSTR v,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **pel) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE querySelectorAll( 
            /* [in] */ __RPC__in BSTR v,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMChildrenCollection **pel) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDocumentSelectorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDocumentSelector * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDocumentSelector * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDocumentSelector * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDocumentSelector * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDocumentSelector * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDocumentSelector * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDocumentSelector * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *querySelector )( 
            __RPC__in IDocumentSelector * This,
            /* [in] */ __RPC__in BSTR v,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **pel);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *querySelectorAll )( 
            __RPC__in IDocumentSelector * This,
            /* [in] */ __RPC__in BSTR v,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDOMChildrenCollection **pel);
        
        END_INTERFACE
    } IDocumentSelectorVtbl;

    interface IDocumentSelector
    {
        CONST_VTBL struct IDocumentSelectorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IDocumentSelector_querySelector(This,v,pel)	\
    ( (This)->lpVtbl -> querySelector(This,v,pel) ) 

#define IDocumentSelector_querySelectorAll(This,v,pel)	\
    ( (This)->lpVtbl -> querySelectorAll(This,v,pel) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDocumentSelector_INTERFACE_DEFINED__ */


#ifndef __IDocumentTraversal_INTERFACE_DEFINED__
#define __IDocumentTraversal_INTERFACE_DEFINED__

/* interface IDocumentTraversal */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDocumentTraversal;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510744-98b5-11cf-bb82-00aa00bdce0b")
    IDocumentTraversal : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createNodeIterator( 
            /* [in] */ __RPC__in_opt IDispatch *pRootNode,
            /* [in] */ long ulWhatToShow,
            /* [in] */ __RPC__in VARIANT *pFilter,
            /* [in] */ VARIANT_BOOL fEntityReferenceExpansion,
            /* [out][retval] */ __RPC__deref_out_opt IDOMNodeIterator **ppNodeIterator) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createTreeWalker( 
            /* [in] */ __RPC__in_opt IDispatch *pRootNode,
            /* [in] */ long ulWhatToShow,
            /* [in] */ __RPC__in VARIANT *pFilter,
            /* [in] */ VARIANT_BOOL fEntityReferenceExpansion,
            /* [out][retval] */ __RPC__deref_out_opt IDOMTreeWalker **ppTreeWalker) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDocumentTraversalVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDocumentTraversal * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDocumentTraversal * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDocumentTraversal * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDocumentTraversal * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDocumentTraversal * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDocumentTraversal * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDocumentTraversal * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createNodeIterator )( 
            __RPC__in IDocumentTraversal * This,
            /* [in] */ __RPC__in_opt IDispatch *pRootNode,
            /* [in] */ long ulWhatToShow,
            /* [in] */ __RPC__in VARIANT *pFilter,
            /* [in] */ VARIANT_BOOL fEntityReferenceExpansion,
            /* [out][retval] */ __RPC__deref_out_opt IDOMNodeIterator **ppNodeIterator);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createTreeWalker )( 
            __RPC__in IDocumentTraversal * This,
            /* [in] */ __RPC__in_opt IDispatch *pRootNode,
            /* [in] */ long ulWhatToShow,
            /* [in] */ __RPC__in VARIANT *pFilter,
            /* [in] */ VARIANT_BOOL fEntityReferenceExpansion,
            /* [out][retval] */ __RPC__deref_out_opt IDOMTreeWalker **ppTreeWalker);
        
        END_INTERFACE
    } IDocumentTraversalVtbl;

    interface IDocumentTraversal
    {
        CONST_VTBL struct IDocumentTraversalVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDocumentTraversal_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDocumentTraversal_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDocumentTraversal_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDocumentTraversal_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDocumentTraversal_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDocumentTraversal_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDocumentTraversal_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDocumentTraversal_createNodeIterator(This,pRootNode,ulWhatToShow,pFilter,fEntityReferenceExpansion,ppNodeIterator)	\
    ( (This)->lpVtbl -> createNodeIterator(This,pRootNode,ulWhatToShow,pFilter,fEntityReferenceExpansion,ppNodeIterator) ) 

#define IDocumentTraversal_createTreeWalker(This,pRootNode,ulWhatToShow,pFilter,fEntityReferenceExpansion,ppTreeWalker)	\
    ( (This)->lpVtbl -> createTreeWalker(This,pRootNode,ulWhatToShow,pFilter,fEntityReferenceExpansion,ppTreeWalker) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDocumentTraversal_INTERFACE_DEFINED__ */


#ifndef __DispHTMLDocument_DISPINTERFACE_DEFINED__
#define __DispHTMLDocument_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLDocument */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLDocument;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f55f-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLDocument : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLDocumentVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLDocument * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLDocument * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLDocument * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLDocument * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLDocument * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLDocument * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLDocument * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLDocumentVtbl;

    interface DispHTMLDocument
    {
        CONST_VTBL struct DispHTMLDocumentVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLDocument_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLDocument;

#ifdef __cplusplus

class DECLSPEC_UUID("25336920-03F9-11cf-8FD0-00AA00686F13")
HTMLDocument;
#endif

#ifndef __DWebBridgeEvents_DISPINTERFACE_DEFINED__
#define __DWebBridgeEvents_DISPINTERFACE_DEFINED__

/* dispinterface DWebBridgeEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DWebBridgeEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("A6D897FF-0A95-11d1-B0BA-006008166E11")
    DWebBridgeEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DWebBridgeEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DWebBridgeEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DWebBridgeEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DWebBridgeEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DWebBridgeEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DWebBridgeEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DWebBridgeEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DWebBridgeEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DWebBridgeEventsVtbl;

    interface DWebBridgeEvents
    {
        CONST_VTBL struct DWebBridgeEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DWebBridgeEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IWebBridge_INTERFACE_DEFINED__
#define __IWebBridge_INTERFACE_DEFINED__

/* interface IWebBridge */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IWebBridge;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AE24FDAD-03C6-11D1-8B76-0080C744F389")
    IWebBridge : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_URL( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_URL( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Scrollbar( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Scrollbar( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_embed( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_embed( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_event( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_readyState( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AboutBox( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IWebBridgeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IWebBridge * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IWebBridge * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IWebBridge * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IWebBridge * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IWebBridge * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IWebBridge * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWebBridge * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_URL )( 
            __RPC__in IWebBridge * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_URL )( 
            __RPC__in IWebBridge * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Scrollbar )( 
            __RPC__in IWebBridge * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Scrollbar )( 
            __RPC__in IWebBridge * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_embed )( 
            __RPC__in IWebBridge * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_embed )( 
            __RPC__in IWebBridge * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_event )( 
            __RPC__in IWebBridge * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_readyState )( 
            __RPC__in IWebBridge * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AboutBox )( 
            __RPC__in IWebBridge * This);
        
        END_INTERFACE
    } IWebBridgeVtbl;

    interface IWebBridge
    {
        CONST_VTBL struct IWebBridgeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IWebBridge_INTERFACE_DEFINED__ */


#ifndef __IWBScriptControl_INTERFACE_DEFINED__
#define __IWBScriptControl_INTERFACE_DEFINED__

/* interface IWBScriptControl */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IWBScriptControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A5170870-0CF8-11D1-8B91-0080C744F389")
    IWBScriptControl : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE raiseEvent( 
            /* [in] */ __RPC__in BSTR name,
            /* [in] */ VARIANT eventData) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE bubbleEvent( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setContextMenu( 
            /* [in] */ VARIANT menuItemPairs) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_selectableContent( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_selectableContent( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_frozen( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollbar( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollbar( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_version( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_visibility( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onvisibilitychange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_onvisibilitychange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IWBScriptControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IWBScriptControl * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IWBScriptControl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IWBScriptControl * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IWBScriptControl * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IWBScriptControl * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IWBScriptControl * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWBScriptControl * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *raiseEvent )( 
            __RPC__in IWBScriptControl * This,
            /* [in] */ __RPC__in BSTR name,
            /* [in] */ VARIANT eventData);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *bubbleEvent )( 
            __RPC__in IWBScriptControl * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setContextMenu )( 
            __RPC__in IWBScriptControl * This,
            /* [in] */ VARIANT menuItemPairs);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_selectableContent )( 
            __RPC__in IWBScriptControl * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectableContent )( 
            __RPC__in IWBScriptControl * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frozen )( 
            __RPC__in IWBScriptControl * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollbar )( 
            __RPC__in IWBScriptControl * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollbar )( 
            __RPC__in IWBScriptControl * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 
            __RPC__in IWBScriptControl * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_visibility )( 
            __RPC__in IWBScriptControl * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onvisibilitychange )( 
            __RPC__in IWBScriptControl * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onvisibilitychange )( 
            __RPC__in IWBScriptControl * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IWBScriptControlVtbl;

    interface IWBScriptControl
    {
        CONST_VTBL struct IWBScriptControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWBScriptControl_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IWBScriptControl_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IWBScriptControl_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IWBScriptControl_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IWBScriptControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IWBScriptControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IWBScriptControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IWBScriptControl_raiseEvent(This,name,eventData)	\
    ( (This)->lpVtbl -> raiseEvent(This,name,eventData) ) 

#define IWBScriptControl_bubbleEvent(This)	\
    ( (This)->lpVtbl -> bubbleEvent(This) ) 

#define IWBScriptControl_setContextMenu(This,menuItemPairs)	\
    ( (This)->lpVtbl -> setContextMenu(This,menuItemPairs) ) 

#define IWBScriptControl_put_selectableContent(This,v)	\
    ( (This)->lpVtbl -> put_selectableContent(This,v) ) 

#define IWBScriptControl_get_selectableContent(This,p)	\
    ( (This)->lpVtbl -> get_selectableContent(This,p) ) 

#define IWBScriptControl_get_frozen(This,p)	\
    ( (This)->lpVtbl -> get_frozen(This,p) ) 

#define IWBScriptControl_put_scrollbar(This,v)	\
    ( (This)->lpVtbl -> put_scrollbar(This,v) ) 

#define IWBScriptControl_get_scrollbar(This,p)	\
    ( (This)->lpVtbl -> get_scrollbar(This,p) ) 

#define IWBScriptControl_get_version(This,p)	\
    ( (This)->lpVtbl -> get_version(This,p) ) 

#define IWBScriptControl_get_visibility(This,p)	\
    ( (This)->lpVtbl -> get_visibility(This,p) ) 

#define IWBScriptControl_put_onvisibilitychange(This,v)	\
    ( (This)->lpVtbl -> put_onvisibilitychange(This,v) ) 

#define IWBScriptControl_get_onvisibilitychange(This,p)	\
    ( (This)->lpVtbl -> get_onvisibilitychange(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IWBScriptControl_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_Scriptlet;

#ifdef __cplusplus

class DECLSPEC_UUID("AE24FDAE-03C6-11D1-8B76-0080C744F389")
Scriptlet;
#endif

#ifndef __IHTMLEmbedElement_INTERFACE_DEFINED__
#define __IHTMLEmbedElement_INTERFACE_DEFINED__

/* interface IHTMLEmbedElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLEmbedElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f25f-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLEmbedElement : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_hidden( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_hidden( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_palette( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_pluginspage( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_src( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_src( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_units( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_units( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_name( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_width( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_height( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLEmbedElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLEmbedElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLEmbedElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLEmbedElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLEmbedElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLEmbedElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLEmbedElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLEmbedElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_hidden )( 
            __RPC__in IHTMLEmbedElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hidden )( 
            __RPC__in IHTMLEmbedElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_palette )( 
            __RPC__in IHTMLEmbedElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pluginspage )( 
            __RPC__in IHTMLEmbedElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_src )( 
            __RPC__in IHTMLEmbedElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_src )( 
            __RPC__in IHTMLEmbedElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_units )( 
            __RPC__in IHTMLEmbedElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_units )( 
            __RPC__in IHTMLEmbedElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            __RPC__in IHTMLEmbedElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLEmbedElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_width )( 
            __RPC__in IHTMLEmbedElement * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in IHTMLEmbedElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_height )( 
            __RPC__in IHTMLEmbedElement * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in IHTMLEmbedElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLEmbedElementVtbl;

    interface IHTMLEmbedElement
    {
        CONST_VTBL struct IHTMLEmbedElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLEmbedElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLEmbedElement2_INTERFACE_DEFINED__
#define __IHTMLEmbedElement2_INTERFACE_DEFINED__

/* interface IHTMLEmbedElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLEmbedElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510493-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLEmbedElement2 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_src( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_src( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_pluginspage( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLEmbedElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLEmbedElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLEmbedElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLEmbedElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLEmbedElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLEmbedElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLEmbedElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLEmbedElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_src )( 
            __RPC__in IHTMLEmbedElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_src )( 
            __RPC__in IHTMLEmbedElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pluginspage )( 
            __RPC__in IHTMLEmbedElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLEmbedElement2Vtbl;

    interface IHTMLEmbedElement2
    {
        CONST_VTBL struct IHTMLEmbedElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLEmbedElement2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLEmbedElement2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLEmbedElement2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLEmbedElement2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLEmbedElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLEmbedElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLEmbedElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLEmbedElement2_put_src(This,v)	\
    ( (This)->lpVtbl -> put_src(This,v) ) 

#define IHTMLEmbedElement2_get_src(This,p)	\
    ( (This)->lpVtbl -> get_src(This,p) ) 

#define IHTMLEmbedElement2_get_pluginspage(This,p)	\
    ( (This)->lpVtbl -> get_pluginspage(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLEmbedElement2_INTERFACE_DEFINED__ */


#ifndef __DispHTMLEmbed_DISPINTERFACE_DEFINED__
#define __DispHTMLEmbed_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLEmbed */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLEmbed;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f52e-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLEmbed : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLEmbedVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLEmbed * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLEmbed * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLEmbed * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLEmbed * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLEmbed * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLEmbed * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLEmbed * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLEmbedVtbl;

    interface DispHTMLEmbed
    {
        CONST_VTBL struct DispHTMLEmbedVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLEmbed_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLEmbed;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f25d-98b5-11cf-bb82-00aa00bdce0b")
HTMLEmbed;
#endif

#ifndef __HTMLMapEvents2_DISPINTERFACE_DEFINED__
#define __HTMLMapEvents2_DISPINTERFACE_DEFINED__

/* dispinterface HTMLMapEvents2 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLMapEvents2;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f61e-98b5-11cf-bb82-00aa00bdce0b")
    HTMLMapEvents2 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLMapEvents2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLMapEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLMapEvents2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLMapEvents2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLMapEvents2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLMapEvents2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLMapEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLMapEvents2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLMapEvents2Vtbl;

    interface HTMLMapEvents2
    {
        CONST_VTBL struct HTMLMapEvents2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLMapEvents2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLMapEvents2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLMapEvents2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLMapEvents2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLMapEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLMapEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLMapEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLMapEvents2_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLMapEvents_DISPINTERFACE_DEFINED__
#define __HTMLMapEvents_DISPINTERFACE_DEFINED__

/* dispinterface HTMLMapEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLMapEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f3ba-98b5-11cf-bb82-00aa00bdce0b")
    HTMLMapEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLMapEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLMapEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLMapEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLMapEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLMapEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLMapEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLMapEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLMapEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLMapEventsVtbl;

    interface HTMLMapEvents
    {
        CONST_VTBL struct HTMLMapEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLMapEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLMapEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLMapEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLMapEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLMapEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLMapEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLMapEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLMapEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IHTMLAreasCollection_INTERFACE_DEFINED__
#define __IHTMLAreasCollection_INTERFACE_DEFINED__

/* interface IHTMLAreasCollection */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLAreasCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f383-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLAreasCollection : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_length( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__newEnum( 
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in][optional] */ VARIANT name,
            /* [in][optional] */ VARIANT index,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE tags( 
            /* [in] */ VARIANT tagName,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE add( 
            /* [in] */ __RPC__in_opt IHTMLElement *element,
            /* [in][optional] */ VARIANT before) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE remove( 
            /* [in][defaultvalue] */ long index = -1) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLAreasCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLAreasCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLAreasCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLAreasCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLAreasCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLAreasCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLAreasCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLAreasCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_length )( 
            __RPC__in IHTMLAreasCollection * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLAreasCollection * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__newEnum )( 
            __RPC__in IHTMLAreasCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLAreasCollection * This,
            /* [in][optional] */ VARIANT name,
            /* [in][optional] */ VARIANT index,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *tags )( 
            __RPC__in IHTMLAreasCollection * This,
            /* [in] */ VARIANT tagName,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *add )( 
            __RPC__in IHTMLAreasCollection * This,
            /* [in] */ __RPC__in_opt IHTMLElement *element,
            /* [in][optional] */ VARIANT before);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *remove )( 
            __RPC__in IHTMLAreasCollection * This,
            /* [in][defaultvalue] */ long index);
        
        END_INTERFACE
    } IHTMLAreasCollectionVtbl;

    interface IHTMLAreasCollection
    {
        CONST_VTBL struct IHTMLAreasCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLAreasCollection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLAreasCollection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLAreasCollection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLAreasCollection_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLAreasCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLAreasCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLAreasCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLAreasCollection_put_length(This,v)	\
    ( (This)->lpVtbl -> put_length(This,v) ) 

#define IHTMLAreasCollection_get_length(This,p)	\
    ( (This)->lpVtbl -> get_length(This,p) ) 

#define IHTMLAreasCollection_get__newEnum(This,p)	\
    ( (This)->lpVtbl -> get__newEnum(This,p) ) 

#define IHTMLAreasCollection_item(This,name,index,pdisp)	\
    ( (This)->lpVtbl -> item(This,name,index,pdisp) ) 

#define IHTMLAreasCollection_tags(This,tagName,pdisp)	\
    ( (This)->lpVtbl -> tags(This,tagName,pdisp) ) 

#define IHTMLAreasCollection_add(This,element,before)	\
    ( (This)->lpVtbl -> add(This,element,before) ) 

#define IHTMLAreasCollection_remove(This,index)	\
    ( (This)->lpVtbl -> remove(This,index) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLAreasCollection_INTERFACE_DEFINED__ */


#ifndef __IHTMLAreasCollection2_INTERFACE_DEFINED__
#define __IHTMLAreasCollection2_INTERFACE_DEFINED__

/* interface IHTMLAreasCollection2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLAreasCollection2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f5ec-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLAreasCollection2 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE urns( 
            /* [in] */ VARIANT urn,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLAreasCollection2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLAreasCollection2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLAreasCollection2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLAreasCollection2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLAreasCollection2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLAreasCollection2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLAreasCollection2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLAreasCollection2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *urns )( 
            __RPC__in IHTMLAreasCollection2 * This,
            /* [in] */ VARIANT urn,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp);
        
        END_INTERFACE
    } IHTMLAreasCollection2Vtbl;

    interface IHTMLAreasCollection2
    {
        CONST_VTBL struct IHTMLAreasCollection2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLAreasCollection2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLAreasCollection2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLAreasCollection2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLAreasCollection2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLAreasCollection2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLAreasCollection2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLAreasCollection2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLAreasCollection2_urns(This,urn,pdisp)	\
    ( (This)->lpVtbl -> urns(This,urn,pdisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLAreasCollection2_INTERFACE_DEFINED__ */


#ifndef __IHTMLAreasCollection3_INTERFACE_DEFINED__
#define __IHTMLAreasCollection3_INTERFACE_DEFINED__

/* interface IHTMLAreasCollection3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLAreasCollection3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f837-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLAreasCollection3 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE namedItem( 
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLAreasCollection3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLAreasCollection3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLAreasCollection3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLAreasCollection3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLAreasCollection3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLAreasCollection3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLAreasCollection3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLAreasCollection3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *namedItem )( 
            __RPC__in IHTMLAreasCollection3 * This,
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **pdisp);
        
        END_INTERFACE
    } IHTMLAreasCollection3Vtbl;

    interface IHTMLAreasCollection3
    {
        CONST_VTBL struct IHTMLAreasCollection3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLAreasCollection3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLAreasCollection3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLAreasCollection3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLAreasCollection3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLAreasCollection3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLAreasCollection3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLAreasCollection3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLAreasCollection3_namedItem(This,name,pdisp)	\
    ( (This)->lpVtbl -> namedItem(This,name,pdisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLAreasCollection3_INTERFACE_DEFINED__ */


#ifndef __IHTMLAreasCollection4_INTERFACE_DEFINED__
#define __IHTMLAreasCollection4_INTERFACE_DEFINED__

/* interface IHTMLAreasCollection4 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLAreasCollection4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510492-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLAreasCollection4 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement2 **pNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE namedItem( 
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement2 **pNode) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLAreasCollection4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLAreasCollection4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLAreasCollection4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLAreasCollection4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLAreasCollection4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLAreasCollection4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLAreasCollection4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLAreasCollection4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLAreasCollection4 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLAreasCollection4 * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement2 **pNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *namedItem )( 
            __RPC__in IHTMLAreasCollection4 * This,
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement2 **pNode);
        
        END_INTERFACE
    } IHTMLAreasCollection4Vtbl;

    interface IHTMLAreasCollection4
    {
        CONST_VTBL struct IHTMLAreasCollection4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLAreasCollection4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLAreasCollection4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLAreasCollection4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLAreasCollection4_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLAreasCollection4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLAreasCollection4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLAreasCollection4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLAreasCollection4_get_length(This,p)	\
    ( (This)->lpVtbl -> get_length(This,p) ) 

#define IHTMLAreasCollection4_item(This,index,pNode)	\
    ( (This)->lpVtbl -> item(This,index,pNode) ) 

#define IHTMLAreasCollection4_namedItem(This,name,pNode)	\
    ( (This)->lpVtbl -> namedItem(This,name,pNode) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLAreasCollection4_INTERFACE_DEFINED__ */


#ifndef __IHTMLMapElement_INTERFACE_DEFINED__
#define __IHTMLMapElement_INTERFACE_DEFINED__

/* interface IHTMLMapElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLMapElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f266-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLMapElement : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_areas( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLAreasCollection **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_name( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLMapElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLMapElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLMapElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLMapElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLMapElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLMapElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLMapElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLMapElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_areas )( 
            __RPC__in IHTMLMapElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLAreasCollection **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            __RPC__in IHTMLMapElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLMapElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLMapElementVtbl;

    interface IHTMLMapElement
    {
        CONST_VTBL struct IHTMLMapElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLMapElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLMapElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLMapElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLMapElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLMapElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLMapElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLMapElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLMapElement_get_areas(This,p)	\
    ( (This)->lpVtbl -> get_areas(This,p) ) 

#define IHTMLMapElement_put_name(This,v)	\
    ( (This)->lpVtbl -> put_name(This,v) ) 

#define IHTMLMapElement_get_name(This,p)	\
    ( (This)->lpVtbl -> get_name(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLMapElement_INTERFACE_DEFINED__ */


#ifndef __DispHTMLAreasCollection_DISPINTERFACE_DEFINED__
#define __DispHTMLAreasCollection_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLAreasCollection */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLAreasCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f56a-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLAreasCollection : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLAreasCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLAreasCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLAreasCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLAreasCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLAreasCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLAreasCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLAreasCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLAreasCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLAreasCollectionVtbl;

    interface DispHTMLAreasCollection
    {
        CONST_VTBL struct DispHTMLAreasCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLAreasCollection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLAreasCollection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLAreasCollection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLAreasCollection_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLAreasCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLAreasCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLAreasCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLAreasCollection_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLAreasCollection;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f4ca-98b5-11cf-bb82-00aa00bdce0b")
HTMLAreasCollection;
#endif

#ifndef __DispHTMLMapElement_DISPINTERFACE_DEFINED__
#define __DispHTMLMapElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLMapElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLMapElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f526-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLMapElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLMapElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLMapElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLMapElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLMapElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLMapElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLMapElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLMapElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLMapElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLMapElementVtbl;

    interface DispHTMLMapElement
    {
        CONST_VTBL struct DispHTMLMapElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLMapElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLMapElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLMapElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLMapElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLMapElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLMapElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLMapElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLMapElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLMapElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f271-98b5-11cf-bb82-00aa00bdce0b")
HTMLMapElement;
#endif

#ifndef __HTMLAreaEvents2_DISPINTERFACE_DEFINED__
#define __HTMLAreaEvents2_DISPINTERFACE_DEFINED__

/* dispinterface HTMLAreaEvents2 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLAreaEvents2;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f611-98b5-11cf-bb82-00aa00bdce0b")
    HTMLAreaEvents2 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLAreaEvents2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLAreaEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLAreaEvents2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLAreaEvents2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLAreaEvents2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLAreaEvents2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLAreaEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLAreaEvents2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLAreaEvents2Vtbl;

    interface HTMLAreaEvents2
    {
        CONST_VTBL struct HTMLAreaEvents2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLAreaEvents2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLAreaEvents2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLAreaEvents2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLAreaEvents2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLAreaEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLAreaEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLAreaEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLAreaEvents2_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLAreaEvents_DISPINTERFACE_DEFINED__
#define __HTMLAreaEvents_DISPINTERFACE_DEFINED__

/* dispinterface HTMLAreaEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLAreaEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f366-98b5-11cf-bb82-00aa00bdce0b")
    HTMLAreaEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLAreaEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLAreaEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLAreaEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLAreaEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLAreaEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLAreaEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLAreaEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLAreaEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLAreaEventsVtbl;

    interface HTMLAreaEvents
    {
        CONST_VTBL struct HTMLAreaEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLAreaEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLAreaEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLAreaEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLAreaEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLAreaEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLAreaEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLAreaEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLAreaEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IHTMLAreaElement_INTERFACE_DEFINED__
#define __IHTMLAreaElement_INTERFACE_DEFINED__

/* interface IHTMLAreaElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLAreaElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f265-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLAreaElement : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_shape( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_shape( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_coords( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_coords( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_href( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_href( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_target( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_target( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_alt( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_alt( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_noHref( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_noHref( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_host( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_host( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_hostname( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_hostname( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_pathname( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_pathname( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_port( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_port( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_protocol( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_protocol( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_search( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_search( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_hash( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_hash( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onblur( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onblur( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onfocus( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onfocus( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_tabIndex( 
            /* [in] */ short v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_tabIndex( 
            /* [out][retval] */ __RPC__out short *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE focus( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE blur( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLAreaElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLAreaElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLAreaElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLAreaElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLAreaElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLAreaElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLAreaElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLAreaElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_shape )( 
            __RPC__in IHTMLAreaElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_shape )( 
            __RPC__in IHTMLAreaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_coords )( 
            __RPC__in IHTMLAreaElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_coords )( 
            __RPC__in IHTMLAreaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_href )( 
            __RPC__in IHTMLAreaElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_href )( 
            __RPC__in IHTMLAreaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_target )( 
            __RPC__in IHTMLAreaElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_target )( 
            __RPC__in IHTMLAreaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_alt )( 
            __RPC__in IHTMLAreaElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_alt )( 
            __RPC__in IHTMLAreaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_noHref )( 
            __RPC__in IHTMLAreaElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noHref )( 
            __RPC__in IHTMLAreaElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_host )( 
            __RPC__in IHTMLAreaElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_host )( 
            __RPC__in IHTMLAreaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_hostname )( 
            __RPC__in IHTMLAreaElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hostname )( 
            __RPC__in IHTMLAreaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pathname )( 
            __RPC__in IHTMLAreaElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pathname )( 
            __RPC__in IHTMLAreaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_port )( 
            __RPC__in IHTMLAreaElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_port )( 
            __RPC__in IHTMLAreaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_protocol )( 
            __RPC__in IHTMLAreaElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_protocol )( 
            __RPC__in IHTMLAreaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_search )( 
            __RPC__in IHTMLAreaElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_search )( 
            __RPC__in IHTMLAreaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_hash )( 
            __RPC__in IHTMLAreaElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hash )( 
            __RPC__in IHTMLAreaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onblur )( 
            __RPC__in IHTMLAreaElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onblur )( 
            __RPC__in IHTMLAreaElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onfocus )( 
            __RPC__in IHTMLAreaElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onfocus )( 
            __RPC__in IHTMLAreaElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_tabIndex )( 
            __RPC__in IHTMLAreaElement * This,
            /* [in] */ short v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_tabIndex )( 
            __RPC__in IHTMLAreaElement * This,
            /* [out][retval] */ __RPC__out short *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *focus )( 
            __RPC__in IHTMLAreaElement * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *blur )( 
            __RPC__in IHTMLAreaElement * This);
        
        END_INTERFACE
    } IHTMLAreaElementVtbl;

    interface IHTMLAreaElement
    {
        CONST_VTBL struct IHTMLAreaElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLAreaElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLAreaElement2_INTERFACE_DEFINED__
#define __IHTMLAreaElement2_INTERFACE_DEFINED__

/* interface IHTMLAreaElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLAreaElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051041f-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLAreaElement2 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_shape( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_shape( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_coords( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_coords( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_href( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_href( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLAreaElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLAreaElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLAreaElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLAreaElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLAreaElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLAreaElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLAreaElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLAreaElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_shape )( 
            __RPC__in IHTMLAreaElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_shape )( 
            __RPC__in IHTMLAreaElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_coords )( 
            __RPC__in IHTMLAreaElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_coords )( 
            __RPC__in IHTMLAreaElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_href )( 
            __RPC__in IHTMLAreaElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_href )( 
            __RPC__in IHTMLAreaElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLAreaElement2Vtbl;

    interface IHTMLAreaElement2
    {
        CONST_VTBL struct IHTMLAreaElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLAreaElement2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLAreaElement2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLAreaElement2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLAreaElement2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLAreaElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLAreaElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLAreaElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLAreaElement2_put_shape(This,v)	\
    ( (This)->lpVtbl -> put_shape(This,v) ) 

#define IHTMLAreaElement2_get_shape(This,p)	\
    ( (This)->lpVtbl -> get_shape(This,p) ) 

#define IHTMLAreaElement2_put_coords(This,v)	\
    ( (This)->lpVtbl -> put_coords(This,v) ) 

#define IHTMLAreaElement2_get_coords(This,p)	\
    ( (This)->lpVtbl -> get_coords(This,p) ) 

#define IHTMLAreaElement2_put_href(This,v)	\
    ( (This)->lpVtbl -> put_href(This,v) ) 

#define IHTMLAreaElement2_get_href(This,p)	\
    ( (This)->lpVtbl -> get_href(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLAreaElement2_INTERFACE_DEFINED__ */


#ifndef __DispHTMLAreaElement_DISPINTERFACE_DEFINED__
#define __DispHTMLAreaElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLAreaElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLAreaElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f503-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLAreaElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLAreaElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLAreaElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLAreaElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLAreaElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLAreaElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLAreaElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLAreaElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLAreaElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLAreaElementVtbl;

    interface DispHTMLAreaElement
    {
        CONST_VTBL struct DispHTMLAreaElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLAreaElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLAreaElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f283-98b5-11cf-bb82-00aa00bdce0b")
HTMLAreaElement;
#endif

#ifndef __IHTMLTableCaption_INTERFACE_DEFINED__
#define __IHTMLTableCaption_INTERFACE_DEFINED__

/* interface IHTMLTableCaption */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTableCaption;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f2eb-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTableCaption : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_align( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_align( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_vAlign( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_vAlign( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTableCaptionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTableCaption * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTableCaption * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTableCaption * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTableCaption * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTableCaption * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTableCaption * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTableCaption * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_align )( 
            __RPC__in IHTMLTableCaption * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_align )( 
            __RPC__in IHTMLTableCaption * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_vAlign )( 
            __RPC__in IHTMLTableCaption * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_vAlign )( 
            __RPC__in IHTMLTableCaption * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLTableCaptionVtbl;

    interface IHTMLTableCaption
    {
        CONST_VTBL struct IHTMLTableCaptionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTableCaption_INTERFACE_DEFINED__ */


#ifndef __DispHTMLTableCaption_DISPINTERFACE_DEFINED__
#define __DispHTMLTableCaption_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLTableCaption */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLTableCaption;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f508-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLTableCaption : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLTableCaptionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLTableCaption * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLTableCaption * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLTableCaption * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLTableCaption * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLTableCaption * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLTableCaption * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLTableCaption * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLTableCaptionVtbl;

    interface DispHTMLTableCaption
    {
        CONST_VTBL struct DispHTMLTableCaptionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLTableCaption_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLTableCaption_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLTableCaption_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLTableCaption_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLTableCaption_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLTableCaption_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLTableCaption_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLTableCaption_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLTableCaption;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f2ec-98b5-11cf-bb82-00aa00bdce0b")
HTMLTableCaption;
#endif

#ifndef __IHTMLCommentElement_INTERFACE_DEFINED__
#define __IHTMLCommentElement_INTERFACE_DEFINED__

/* interface IHTMLCommentElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLCommentElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f20c-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLCommentElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_text( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_text( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_atomic( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_atomic( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLCommentElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLCommentElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLCommentElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLCommentElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLCommentElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLCommentElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLCommentElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLCommentElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_text )( 
            __RPC__in IHTMLCommentElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )( 
            __RPC__in IHTMLCommentElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_atomic )( 
            __RPC__in IHTMLCommentElement * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_atomic )( 
            __RPC__in IHTMLCommentElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        END_INTERFACE
    } IHTMLCommentElementVtbl;

    interface IHTMLCommentElement
    {
        CONST_VTBL struct IHTMLCommentElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLCommentElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLCommentElement2_INTERFACE_DEFINED__
#define __IHTMLCommentElement2_INTERFACE_DEFINED__

/* interface IHTMLCommentElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLCommentElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f813-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLCommentElement2 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_data( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_data( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE substringData( 
            /* [in] */ long offset,
            /* [in] */ long Count,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrsubString) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE appendData( 
            /* [in] */ __RPC__in BSTR bstrstring) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE insertData( 
            /* [in] */ long offset,
            /* [in] */ __RPC__in BSTR bstrstring) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE deleteData( 
            /* [in] */ long offset,
            /* [in] */ long Count) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE replaceData( 
            /* [in] */ long offset,
            /* [in] */ long Count,
            /* [in] */ __RPC__in BSTR bstrstring) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLCommentElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLCommentElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLCommentElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLCommentElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLCommentElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLCommentElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLCommentElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLCommentElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_data )( 
            __RPC__in IHTMLCommentElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_data )( 
            __RPC__in IHTMLCommentElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLCommentElement2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *substringData )( 
            __RPC__in IHTMLCommentElement2 * This,
            /* [in] */ long offset,
            /* [in] */ long Count,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrsubString);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *appendData )( 
            __RPC__in IHTMLCommentElement2 * This,
            /* [in] */ __RPC__in BSTR bstrstring);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *insertData )( 
            __RPC__in IHTMLCommentElement2 * This,
            /* [in] */ long offset,
            /* [in] */ __RPC__in BSTR bstrstring);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *deleteData )( 
            __RPC__in IHTMLCommentElement2 * This,
            /* [in] */ long offset,
            /* [in] */ long Count);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *replaceData )( 
            __RPC__in IHTMLCommentElement2 * This,
            /* [in] */ long offset,
            /* [in] */ long Count,
            /* [in] */ __RPC__in BSTR bstrstring);
        
        END_INTERFACE
    } IHTMLCommentElement2Vtbl;

    interface IHTMLCommentElement2
    {
        CONST_VTBL struct IHTMLCommentElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLCommentElement2_INTERFACE_DEFINED__ */


#ifndef __IHTMLCommentElement3_INTERFACE_DEFINED__
#define __IHTMLCommentElement3_INTERFACE_DEFINED__

/* interface IHTMLCommentElement3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLCommentElement3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051073f-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLCommentElement3 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE substringData( 
            /* [in] */ long offset,
            /* [in] */ long Count,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrsubString) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE insertData( 
            /* [in] */ long offset,
            /* [in] */ __RPC__in BSTR bstrstring) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE deleteData( 
            /* [in] */ long offset,
            /* [in] */ long Count) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE replaceData( 
            /* [in] */ long offset,
            /* [in] */ long Count,
            /* [in] */ __RPC__in BSTR bstrstring) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLCommentElement3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLCommentElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLCommentElement3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLCommentElement3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLCommentElement3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLCommentElement3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLCommentElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLCommentElement3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *substringData )( 
            __RPC__in IHTMLCommentElement3 * This,
            /* [in] */ long offset,
            /* [in] */ long Count,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrsubString);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *insertData )( 
            __RPC__in IHTMLCommentElement3 * This,
            /* [in] */ long offset,
            /* [in] */ __RPC__in BSTR bstrstring);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *deleteData )( 
            __RPC__in IHTMLCommentElement3 * This,
            /* [in] */ long offset,
            /* [in] */ long Count);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *replaceData )( 
            __RPC__in IHTMLCommentElement3 * This,
            /* [in] */ long offset,
            /* [in] */ long Count,
            /* [in] */ __RPC__in BSTR bstrstring);
        
        END_INTERFACE
    } IHTMLCommentElement3Vtbl;

    interface IHTMLCommentElement3
    {
        CONST_VTBL struct IHTMLCommentElement3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLCommentElement3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLCommentElement3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLCommentElement3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLCommentElement3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLCommentElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLCommentElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLCommentElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLCommentElement3_substringData(This,offset,Count,pbstrsubString)	\
    ( (This)->lpVtbl -> substringData(This,offset,Count,pbstrsubString) ) 

#define IHTMLCommentElement3_insertData(This,offset,bstrstring)	\
    ( (This)->lpVtbl -> insertData(This,offset,bstrstring) ) 

#define IHTMLCommentElement3_deleteData(This,offset,Count)	\
    ( (This)->lpVtbl -> deleteData(This,offset,Count) ) 

#define IHTMLCommentElement3_replaceData(This,offset,Count,bstrstring)	\
    ( (This)->lpVtbl -> replaceData(This,offset,Count,bstrstring) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLCommentElement3_INTERFACE_DEFINED__ */


#ifndef __DispHTMLCommentElement_DISPINTERFACE_DEFINED__
#define __DispHTMLCommentElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLCommentElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLCommentElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f50a-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLCommentElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLCommentElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLCommentElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLCommentElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLCommentElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLCommentElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLCommentElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLCommentElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLCommentElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLCommentElementVtbl;

    interface DispHTMLCommentElement
    {
        CONST_VTBL struct DispHTMLCommentElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLCommentElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLCommentElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f317-98b5-11cf-bb82-00aa00bdce0b")
HTMLCommentElement;
#endif

#ifndef __IHTMLPhraseElement_INTERFACE_DEFINED__
#define __IHTMLPhraseElement_INTERFACE_DEFINED__

/* interface IHTMLPhraseElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLPhraseElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f20a-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLPhraseElement : public IDispatch
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLPhraseElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLPhraseElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLPhraseElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLPhraseElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLPhraseElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLPhraseElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLPhraseElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLPhraseElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } IHTMLPhraseElementVtbl;

    interface IHTMLPhraseElement
    {
        CONST_VTBL struct IHTMLPhraseElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLPhraseElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLPhraseElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLPhraseElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLPhraseElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLPhraseElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLPhraseElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLPhraseElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLPhraseElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLPhraseElement2_INTERFACE_DEFINED__
#define __IHTMLPhraseElement2_INTERFACE_DEFINED__

/* interface IHTMLPhraseElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLPhraseElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f824-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLPhraseElement2 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_cite( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_cite( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_dateTime( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_dateTime( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLPhraseElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLPhraseElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLPhraseElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLPhraseElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLPhraseElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLPhraseElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLPhraseElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLPhraseElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_cite )( 
            __RPC__in IHTMLPhraseElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cite )( 
            __RPC__in IHTMLPhraseElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_dateTime )( 
            __RPC__in IHTMLPhraseElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dateTime )( 
            __RPC__in IHTMLPhraseElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLPhraseElement2Vtbl;

    interface IHTMLPhraseElement2
    {
        CONST_VTBL struct IHTMLPhraseElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLPhraseElement2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLPhraseElement2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLPhraseElement2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLPhraseElement2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLPhraseElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLPhraseElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLPhraseElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLPhraseElement2_put_cite(This,v)	\
    ( (This)->lpVtbl -> put_cite(This,v) ) 

#define IHTMLPhraseElement2_get_cite(This,p)	\
    ( (This)->lpVtbl -> get_cite(This,p) ) 

#define IHTMLPhraseElement2_put_dateTime(This,v)	\
    ( (This)->lpVtbl -> put_dateTime(This,v) ) 

#define IHTMLPhraseElement2_get_dateTime(This,p)	\
    ( (This)->lpVtbl -> get_dateTime(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLPhraseElement2_INTERFACE_DEFINED__ */


#ifndef __IHTMLPhraseElement3_INTERFACE_DEFINED__
#define __IHTMLPhraseElement3_INTERFACE_DEFINED__

/* interface IHTMLPhraseElement3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLPhraseElement3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051043d-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLPhraseElement3 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_cite( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cite( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLPhraseElement3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLPhraseElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLPhraseElement3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLPhraseElement3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLPhraseElement3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLPhraseElement3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLPhraseElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLPhraseElement3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_cite )( 
            __RPC__in IHTMLPhraseElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cite )( 
            __RPC__in IHTMLPhraseElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLPhraseElement3Vtbl;

    interface IHTMLPhraseElement3
    {
        CONST_VTBL struct IHTMLPhraseElement3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLPhraseElement3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLPhraseElement3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLPhraseElement3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLPhraseElement3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLPhraseElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLPhraseElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLPhraseElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLPhraseElement3_put_cite(This,v)	\
    ( (This)->lpVtbl -> put_cite(This,v) ) 

#define IHTMLPhraseElement3_get_cite(This,p)	\
    ( (This)->lpVtbl -> get_cite(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLPhraseElement3_INTERFACE_DEFINED__ */


#ifndef __IHTMLSpanElement_INTERFACE_DEFINED__
#define __IHTMLSpanElement_INTERFACE_DEFINED__

/* interface IHTMLSpanElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLSpanElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f3f3-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLSpanElement : public IDispatch
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLSpanElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLSpanElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLSpanElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLSpanElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLSpanElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLSpanElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLSpanElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLSpanElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } IHTMLSpanElementVtbl;

    interface IHTMLSpanElement
    {
        CONST_VTBL struct IHTMLSpanElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLSpanElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLSpanElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLSpanElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLSpanElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLSpanElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLSpanElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLSpanElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLSpanElement_INTERFACE_DEFINED__ */


#ifndef __DispHTMLPhraseElement_DISPINTERFACE_DEFINED__
#define __DispHTMLPhraseElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLPhraseElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLPhraseElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f52d-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLPhraseElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLPhraseElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLPhraseElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLPhraseElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLPhraseElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLPhraseElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLPhraseElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLPhraseElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLPhraseElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLPhraseElementVtbl;

    interface DispHTMLPhraseElement
    {
        CONST_VTBL struct DispHTMLPhraseElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLPhraseElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLPhraseElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLPhraseElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLPhraseElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLPhraseElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLPhraseElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLPhraseElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLPhraseElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLPhraseElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f26e-98b5-11cf-bb82-00aa00bdce0b")
HTMLPhraseElement;
#endif

#ifndef __DispHTMLSpanElement_DISPINTERFACE_DEFINED__
#define __DispHTMLSpanElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLSpanElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLSpanElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f548-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLSpanElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLSpanElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLSpanElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLSpanElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLSpanElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLSpanElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLSpanElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLSpanElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLSpanElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLSpanElementVtbl;

    interface DispHTMLSpanElement
    {
        CONST_VTBL struct DispHTMLSpanElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLSpanElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLSpanElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLSpanElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLSpanElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLSpanElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLSpanElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLSpanElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLSpanElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLSpanElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f3f5-98b4-11cf-bb82-00aa00bdce0b")
HTMLSpanElement;
#endif

#ifndef __HTMLTableEvents2_DISPINTERFACE_DEFINED__
#define __HTMLTableEvents2_DISPINTERFACE_DEFINED__

/* dispinterface HTMLTableEvents2 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLTableEvents2;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f623-98b5-11cf-bb82-00aa00bdce0b")
    HTMLTableEvents2 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLTableEvents2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLTableEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLTableEvents2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLTableEvents2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLTableEvents2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLTableEvents2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLTableEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLTableEvents2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLTableEvents2Vtbl;

    interface HTMLTableEvents2
    {
        CONST_VTBL struct HTMLTableEvents2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLTableEvents2_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLTableEvents_DISPINTERFACE_DEFINED__
#define __HTMLTableEvents_DISPINTERFACE_DEFINED__

/* dispinterface HTMLTableEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLTableEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f407-98b5-11cf-bb82-00aa00bdce0b")
    HTMLTableEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLTableEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLTableEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLTableEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLTableEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLTableEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLTableEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLTableEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLTableEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLTableEventsVtbl;

    interface HTMLTableEvents
    {
        CONST_VTBL struct HTMLTableEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLTableEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IHTMLTableSection_INTERFACE_DEFINED__
#define __IHTMLTableSection_INTERFACE_DEFINED__

/* interface IHTMLTableSection */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTableSection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f23b-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTableSection : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_align( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_align( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_vAlign( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_vAlign( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_bgColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_bgColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_rows( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE insertRow( 
            /* [in][defaultvalue] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **row) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE deleteRow( 
            /* [in][defaultvalue] */ long index = -1) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTableSectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTableSection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTableSection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTableSection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTableSection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTableSection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTableSection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTableSection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_align )( 
            __RPC__in IHTMLTableSection * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_align )( 
            __RPC__in IHTMLTableSection * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_vAlign )( 
            __RPC__in IHTMLTableSection * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_vAlign )( 
            __RPC__in IHTMLTableSection * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_bgColor )( 
            __RPC__in IHTMLTableSection * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bgColor )( 
            __RPC__in IHTMLTableSection * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rows )( 
            __RPC__in IHTMLTableSection * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *insertRow )( 
            __RPC__in IHTMLTableSection * This,
            /* [in][defaultvalue] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **row);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *deleteRow )( 
            __RPC__in IHTMLTableSection * This,
            /* [in][defaultvalue] */ long index);
        
        END_INTERFACE
    } IHTMLTableSectionVtbl;

    interface IHTMLTableSection
    {
        CONST_VTBL struct IHTMLTableSectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTableSection_INTERFACE_DEFINED__ */


#ifndef __IHTMLTable_INTERFACE_DEFINED__
#define __IHTMLTable_INTERFACE_DEFINED__

/* interface IHTMLTable */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTable;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f21e-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTable : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_cols( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cols( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_border( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_border( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_frame( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_frame( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_rules( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_rules( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_cellSpacing( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cellSpacing( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_cellPadding( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cellPadding( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_background( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_background( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_bgColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_bgColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_borderColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_borderColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_borderColorLight( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_borderColorLight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_borderColorDark( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_borderColorDark( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_align( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_align( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE refresh( void) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_rows( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_width( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_height( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_dataPageSize( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_dataPageSize( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE nextPage( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE previousPage( void) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_tHead( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTableSection **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_tFoot( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTableSection **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_tBodies( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_caption( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTableCaption **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createTHead( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **head) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE deleteTHead( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createTFoot( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **foot) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE deleteTFoot( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createCaption( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTableCaption **caption) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE deleteCaption( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE insertRow( 
            /* [in][defaultvalue] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **row) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE deleteRow( 
            /* [in][defaultvalue] */ long index = -1) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_readyState( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onreadystatechange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onreadystatechange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTableVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTable * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTable * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTable * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTable * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTable * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTable * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTable * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_cols )( 
            __RPC__in IHTMLTable * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cols )( 
            __RPC__in IHTMLTable * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_border )( 
            __RPC__in IHTMLTable * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_border )( 
            __RPC__in IHTMLTable * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_frame )( 
            __RPC__in IHTMLTable * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frame )( 
            __RPC__in IHTMLTable * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_rules )( 
            __RPC__in IHTMLTable * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rules )( 
            __RPC__in IHTMLTable * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_cellSpacing )( 
            __RPC__in IHTMLTable * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cellSpacing )( 
            __RPC__in IHTMLTable * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_cellPadding )( 
            __RPC__in IHTMLTable * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cellPadding )( 
            __RPC__in IHTMLTable * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_background )( 
            __RPC__in IHTMLTable * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_background )( 
            __RPC__in IHTMLTable * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_bgColor )( 
            __RPC__in IHTMLTable * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bgColor )( 
            __RPC__in IHTMLTable * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderColor )( 
            __RPC__in IHTMLTable * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderColor )( 
            __RPC__in IHTMLTable * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderColorLight )( 
            __RPC__in IHTMLTable * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderColorLight )( 
            __RPC__in IHTMLTable * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderColorDark )( 
            __RPC__in IHTMLTable * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderColorDark )( 
            __RPC__in IHTMLTable * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_align )( 
            __RPC__in IHTMLTable * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_align )( 
            __RPC__in IHTMLTable * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *refresh )( 
            __RPC__in IHTMLTable * This);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rows )( 
            __RPC__in IHTMLTable * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_width )( 
            __RPC__in IHTMLTable * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in IHTMLTable * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_height )( 
            __RPC__in IHTMLTable * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in IHTMLTable * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_dataPageSize )( 
            __RPC__in IHTMLTable * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataPageSize )( 
            __RPC__in IHTMLTable * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *nextPage )( 
            __RPC__in IHTMLTable * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *previousPage )( 
            __RPC__in IHTMLTable * This);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_tHead )( 
            __RPC__in IHTMLTable * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTableSection **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_tFoot )( 
            __RPC__in IHTMLTable * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTableSection **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_tBodies )( 
            __RPC__in IHTMLTable * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_caption )( 
            __RPC__in IHTMLTable * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTableCaption **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createTHead )( 
            __RPC__in IHTMLTable * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **head);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *deleteTHead )( 
            __RPC__in IHTMLTable * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createTFoot )( 
            __RPC__in IHTMLTable * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **foot);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *deleteTFoot )( 
            __RPC__in IHTMLTable * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createCaption )( 
            __RPC__in IHTMLTable * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTableCaption **caption);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *deleteCaption )( 
            __RPC__in IHTMLTable * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *insertRow )( 
            __RPC__in IHTMLTable * This,
            /* [in][defaultvalue] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **row);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *deleteRow )( 
            __RPC__in IHTMLTable * This,
            /* [in][defaultvalue] */ long index);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_readyState )( 
            __RPC__in IHTMLTable * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onreadystatechange )( 
            __RPC__in IHTMLTable * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onreadystatechange )( 
            __RPC__in IHTMLTable * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLTableVtbl;

    interface IHTMLTable
    {
        CONST_VTBL struct IHTMLTableVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTable_INTERFACE_DEFINED__ */


#ifndef __IHTMLTable2_INTERFACE_DEFINED__
#define __IHTMLTable2_INTERFACE_DEFINED__

/* interface IHTMLTable2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTable2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4ad-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTable2 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE firstPage( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE lastPage( void) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cells( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE moveRow( 
            /* [in][defaultvalue] */ long indexFrom,
            /* [in][defaultvalue] */ long indexTo,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **row) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTable2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTable2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTable2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTable2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTable2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTable2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTable2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTable2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *firstPage )( 
            __RPC__in IHTMLTable2 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *lastPage )( 
            __RPC__in IHTMLTable2 * This);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cells )( 
            __RPC__in IHTMLTable2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *moveRow )( 
            __RPC__in IHTMLTable2 * This,
            /* [in][defaultvalue] */ long indexFrom,
            /* [in][defaultvalue] */ long indexTo,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **row);
        
        END_INTERFACE
    } IHTMLTable2Vtbl;

    interface IHTMLTable2
    {
        CONST_VTBL struct IHTMLTable2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTable2_INTERFACE_DEFINED__ */


#ifndef __IHTMLTable3_INTERFACE_DEFINED__
#define __IHTMLTable3_INTERFACE_DEFINED__

/* interface IHTMLTable3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTable3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f829-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTable3 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_summary( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_summary( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTable3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTable3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTable3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTable3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTable3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTable3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTable3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTable3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_summary )( 
            __RPC__in IHTMLTable3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_summary )( 
            __RPC__in IHTMLTable3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLTable3Vtbl;

    interface IHTMLTable3
    {
        CONST_VTBL struct IHTMLTable3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLTable3_put_summary(This,v)	\
    ( (This)->lpVtbl -> put_summary(This,v) ) 

#define IHTMLTable3_get_summary(This,p)	\
    ( (This)->lpVtbl -> get_summary(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTable3_INTERFACE_DEFINED__ */


#ifndef __IHTMLTable4_INTERFACE_DEFINED__
#define __IHTMLTable4_INTERFACE_DEFINED__

/* interface IHTMLTable4 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTable4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106C2-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTable4 : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_tHead( 
            /* [in] */ __RPC__in_opt IHTMLTableSection *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_tHead( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTableSection **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_tFoot( 
            /* [in] */ __RPC__in_opt IHTMLTableSection *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_tFoot( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTableSection **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_caption( 
            /* [in] */ __RPC__in_opt IHTMLTableCaption *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_caption( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTableCaption **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE insertRow( 
            /* [in][defaultvalue] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **row) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE deleteRow( 
            /* [in][defaultvalue] */ long index = -1) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createTBody( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTableSection **tbody) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTable4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTable4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTable4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTable4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTable4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTable4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTable4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTable4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_tHead )( 
            __RPC__in IHTMLTable4 * This,
            /* [in] */ __RPC__in_opt IHTMLTableSection *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_tHead )( 
            __RPC__in IHTMLTable4 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTableSection **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_tFoot )( 
            __RPC__in IHTMLTable4 * This,
            /* [in] */ __RPC__in_opt IHTMLTableSection *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_tFoot )( 
            __RPC__in IHTMLTable4 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTableSection **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_caption )( 
            __RPC__in IHTMLTable4 * This,
            /* [in] */ __RPC__in_opt IHTMLTableCaption *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_caption )( 
            __RPC__in IHTMLTable4 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTableCaption **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *insertRow )( 
            __RPC__in IHTMLTable4 * This,
            /* [in][defaultvalue] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **row);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *deleteRow )( 
            __RPC__in IHTMLTable4 * This,
            /* [in][defaultvalue] */ long index);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createTBody )( 
            __RPC__in IHTMLTable4 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTableSection **tbody);
        
        END_INTERFACE
    } IHTMLTable4Vtbl;

    interface IHTMLTable4
    {
        CONST_VTBL struct IHTMLTable4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLTable4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLTable4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLTable4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLTable4_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLTable4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLTable4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLTable4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLTable4_putref_tHead(This,v)	\
    ( (This)->lpVtbl -> putref_tHead(This,v) ) 

#define IHTMLTable4_get_tHead(This,p)	\
    ( (This)->lpVtbl -> get_tHead(This,p) ) 

#define IHTMLTable4_putref_tFoot(This,v)	\
    ( (This)->lpVtbl -> putref_tFoot(This,v) ) 

#define IHTMLTable4_get_tFoot(This,p)	\
    ( (This)->lpVtbl -> get_tFoot(This,p) ) 

#define IHTMLTable4_putref_caption(This,v)	\
    ( (This)->lpVtbl -> putref_caption(This,v) ) 

#define IHTMLTable4_get_caption(This,p)	\
    ( (This)->lpVtbl -> get_caption(This,p) ) 

#define IHTMLTable4_insertRow(This,index,row)	\
    ( (This)->lpVtbl -> insertRow(This,index,row) ) 

#define IHTMLTable4_deleteRow(This,index)	\
    ( (This)->lpVtbl -> deleteRow(This,index) ) 

#define IHTMLTable4_createTBody(This,tbody)	\
    ( (This)->lpVtbl -> createTBody(This,tbody) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTable4_INTERFACE_DEFINED__ */


#ifndef __IHTMLTableCol_INTERFACE_DEFINED__
#define __IHTMLTableCol_INTERFACE_DEFINED__

/* interface IHTMLTableCol */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTableCol;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f23a-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTableCol : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_span( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_span( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_width( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_align( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_align( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_vAlign( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_vAlign( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTableColVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTableCol * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTableCol * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTableCol * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTableCol * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTableCol * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTableCol * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTableCol * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_span )( 
            __RPC__in IHTMLTableCol * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_span )( 
            __RPC__in IHTMLTableCol * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_width )( 
            __RPC__in IHTMLTableCol * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in IHTMLTableCol * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_align )( 
            __RPC__in IHTMLTableCol * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_align )( 
            __RPC__in IHTMLTableCol * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_vAlign )( 
            __RPC__in IHTMLTableCol * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_vAlign )( 
            __RPC__in IHTMLTableCol * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLTableColVtbl;

    interface IHTMLTableCol
    {
        CONST_VTBL struct IHTMLTableColVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLTableCol_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLTableCol_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLTableCol_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLTableCol_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLTableCol_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLTableCol_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLTableCol_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLTableCol_put_span(This,v)	\
    ( (This)->lpVtbl -> put_span(This,v) ) 

#define IHTMLTableCol_get_span(This,p)	\
    ( (This)->lpVtbl -> get_span(This,p) ) 

#define IHTMLTableCol_put_width(This,v)	\
    ( (This)->lpVtbl -> put_width(This,v) ) 

#define IHTMLTableCol_get_width(This,p)	\
    ( (This)->lpVtbl -> get_width(This,p) ) 

#define IHTMLTableCol_put_align(This,v)	\
    ( (This)->lpVtbl -> put_align(This,v) ) 

#define IHTMLTableCol_get_align(This,p)	\
    ( (This)->lpVtbl -> get_align(This,p) ) 

#define IHTMLTableCol_put_vAlign(This,v)	\
    ( (This)->lpVtbl -> put_vAlign(This,v) ) 

#define IHTMLTableCol_get_vAlign(This,p)	\
    ( (This)->lpVtbl -> get_vAlign(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTableCol_INTERFACE_DEFINED__ */


#ifndef __IHTMLTableCol2_INTERFACE_DEFINED__
#define __IHTMLTableCol2_INTERFACE_DEFINED__

/* interface IHTMLTableCol2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTableCol2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f82a-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTableCol2 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ch( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ch( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_chOff( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_chOff( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTableCol2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTableCol2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTableCol2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTableCol2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTableCol2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTableCol2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTableCol2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTableCol2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ch )( 
            __RPC__in IHTMLTableCol2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ch )( 
            __RPC__in IHTMLTableCol2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_chOff )( 
            __RPC__in IHTMLTableCol2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_chOff )( 
            __RPC__in IHTMLTableCol2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLTableCol2Vtbl;

    interface IHTMLTableCol2
    {
        CONST_VTBL struct IHTMLTableCol2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLTableCol2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLTableCol2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLTableCol2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLTableCol2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLTableCol2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLTableCol2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLTableCol2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLTableCol2_put_ch(This,v)	\
    ( (This)->lpVtbl -> put_ch(This,v) ) 

#define IHTMLTableCol2_get_ch(This,p)	\
    ( (This)->lpVtbl -> get_ch(This,p) ) 

#define IHTMLTableCol2_put_chOff(This,v)	\
    ( (This)->lpVtbl -> put_chOff(This,v) ) 

#define IHTMLTableCol2_get_chOff(This,p)	\
    ( (This)->lpVtbl -> get_chOff(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTableCol2_INTERFACE_DEFINED__ */


#ifndef __IHTMLTableCol3_INTERFACE_DEFINED__
#define __IHTMLTableCol3_INTERFACE_DEFINED__

/* interface IHTMLTableCol3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTableCol3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106c4-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTableCol3 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ch( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ch( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_chOff( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_chOff( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTableCol3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTableCol3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTableCol3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTableCol3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTableCol3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTableCol3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTableCol3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTableCol3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ch )( 
            __RPC__in IHTMLTableCol3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ch )( 
            __RPC__in IHTMLTableCol3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_chOff )( 
            __RPC__in IHTMLTableCol3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_chOff )( 
            __RPC__in IHTMLTableCol3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLTableCol3Vtbl;

    interface IHTMLTableCol3
    {
        CONST_VTBL struct IHTMLTableCol3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLTableCol3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLTableCol3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLTableCol3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLTableCol3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLTableCol3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLTableCol3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLTableCol3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLTableCol3_put_ch(This,v)	\
    ( (This)->lpVtbl -> put_ch(This,v) ) 

#define IHTMLTableCol3_get_ch(This,p)	\
    ( (This)->lpVtbl -> get_ch(This,p) ) 

#define IHTMLTableCol3_put_chOff(This,v)	\
    ( (This)->lpVtbl -> put_chOff(This,v) ) 

#define IHTMLTableCol3_get_chOff(This,p)	\
    ( (This)->lpVtbl -> get_chOff(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTableCol3_INTERFACE_DEFINED__ */


#ifndef __IHTMLTableSection2_INTERFACE_DEFINED__
#define __IHTMLTableSection2_INTERFACE_DEFINED__

/* interface IHTMLTableSection2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTableSection2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f5c7-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTableSection2 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE moveRow( 
            /* [in][defaultvalue] */ long indexFrom,
            /* [in][defaultvalue] */ long indexTo,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **row) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTableSection2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTableSection2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTableSection2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTableSection2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTableSection2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTableSection2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTableSection2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTableSection2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *moveRow )( 
            __RPC__in IHTMLTableSection2 * This,
            /* [in][defaultvalue] */ long indexFrom,
            /* [in][defaultvalue] */ long indexTo,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **row);
        
        END_INTERFACE
    } IHTMLTableSection2Vtbl;

    interface IHTMLTableSection2
    {
        CONST_VTBL struct IHTMLTableSection2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLTableSection2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLTableSection2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLTableSection2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLTableSection2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLTableSection2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLTableSection2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLTableSection2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLTableSection2_moveRow(This,indexFrom,indexTo,row)	\
    ( (This)->lpVtbl -> moveRow(This,indexFrom,indexTo,row) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTableSection2_INTERFACE_DEFINED__ */


#ifndef __IHTMLTableSection3_INTERFACE_DEFINED__
#define __IHTMLTableSection3_INTERFACE_DEFINED__

/* interface IHTMLTableSection3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTableSection3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f82b-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTableSection3 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ch( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ch( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_chOff( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_chOff( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTableSection3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTableSection3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTableSection3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTableSection3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTableSection3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTableSection3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTableSection3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTableSection3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ch )( 
            __RPC__in IHTMLTableSection3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ch )( 
            __RPC__in IHTMLTableSection3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_chOff )( 
            __RPC__in IHTMLTableSection3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_chOff )( 
            __RPC__in IHTMLTableSection3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLTableSection3Vtbl;

    interface IHTMLTableSection3
    {
        CONST_VTBL struct IHTMLTableSection3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLTableSection3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLTableSection3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLTableSection3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLTableSection3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLTableSection3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLTableSection3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLTableSection3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLTableSection3_put_ch(This,v)	\
    ( (This)->lpVtbl -> put_ch(This,v) ) 

#define IHTMLTableSection3_get_ch(This,p)	\
    ( (This)->lpVtbl -> get_ch(This,p) ) 

#define IHTMLTableSection3_put_chOff(This,v)	\
    ( (This)->lpVtbl -> put_chOff(This,v) ) 

#define IHTMLTableSection3_get_chOff(This,p)	\
    ( (This)->lpVtbl -> get_chOff(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTableSection3_INTERFACE_DEFINED__ */


#ifndef __IHTMLTableSection4_INTERFACE_DEFINED__
#define __IHTMLTableSection4_INTERFACE_DEFINED__

/* interface IHTMLTableSection4 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTableSection4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106c5-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTableSection4 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ch( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ch( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_chOff( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_chOff( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE insertRow( 
            /* [in][defaultvalue] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **row) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE deleteRow( 
            /* [in][defaultvalue] */ long index = -1) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTableSection4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTableSection4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTableSection4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTableSection4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTableSection4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTableSection4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTableSection4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTableSection4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ch )( 
            __RPC__in IHTMLTableSection4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ch )( 
            __RPC__in IHTMLTableSection4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_chOff )( 
            __RPC__in IHTMLTableSection4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_chOff )( 
            __RPC__in IHTMLTableSection4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *insertRow )( 
            __RPC__in IHTMLTableSection4 * This,
            /* [in][defaultvalue] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **row);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *deleteRow )( 
            __RPC__in IHTMLTableSection4 * This,
            /* [in][defaultvalue] */ long index);
        
        END_INTERFACE
    } IHTMLTableSection4Vtbl;

    interface IHTMLTableSection4
    {
        CONST_VTBL struct IHTMLTableSection4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLTableSection4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLTableSection4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLTableSection4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLTableSection4_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLTableSection4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLTableSection4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLTableSection4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLTableSection4_put_ch(This,v)	\
    ( (This)->lpVtbl -> put_ch(This,v) ) 

#define IHTMLTableSection4_get_ch(This,p)	\
    ( (This)->lpVtbl -> get_ch(This,p) ) 

#define IHTMLTableSection4_put_chOff(This,v)	\
    ( (This)->lpVtbl -> put_chOff(This,v) ) 

#define IHTMLTableSection4_get_chOff(This,p)	\
    ( (This)->lpVtbl -> get_chOff(This,p) ) 

#define IHTMLTableSection4_insertRow(This,index,row)	\
    ( (This)->lpVtbl -> insertRow(This,index,row) ) 

#define IHTMLTableSection4_deleteRow(This,index)	\
    ( (This)->lpVtbl -> deleteRow(This,index) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTableSection4_INTERFACE_DEFINED__ */


#ifndef __IHTMLTableRow_INTERFACE_DEFINED__
#define __IHTMLTableRow_INTERFACE_DEFINED__

/* interface IHTMLTableRow */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTableRow;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f23c-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTableRow : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_align( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_align( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_vAlign( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_vAlign( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_bgColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_bgColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_borderColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_borderColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_borderColorLight( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_borderColorLight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_borderColorDark( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_borderColorDark( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_rowIndex( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_sectionRowIndex( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cells( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE insertCell( 
            /* [in][defaultvalue] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **row) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE deleteCell( 
            /* [in][defaultvalue] */ long index = -1) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTableRowVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTableRow * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTableRow * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTableRow * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTableRow * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTableRow * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTableRow * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTableRow * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_align )( 
            __RPC__in IHTMLTableRow * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_align )( 
            __RPC__in IHTMLTableRow * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_vAlign )( 
            __RPC__in IHTMLTableRow * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_vAlign )( 
            __RPC__in IHTMLTableRow * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_bgColor )( 
            __RPC__in IHTMLTableRow * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bgColor )( 
            __RPC__in IHTMLTableRow * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderColor )( 
            __RPC__in IHTMLTableRow * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderColor )( 
            __RPC__in IHTMLTableRow * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderColorLight )( 
            __RPC__in IHTMLTableRow * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderColorLight )( 
            __RPC__in IHTMLTableRow * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderColorDark )( 
            __RPC__in IHTMLTableRow * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderColorDark )( 
            __RPC__in IHTMLTableRow * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowIndex )( 
            __RPC__in IHTMLTableRow * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sectionRowIndex )( 
            __RPC__in IHTMLTableRow * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cells )( 
            __RPC__in IHTMLTableRow * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementCollection **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *insertCell )( 
            __RPC__in IHTMLTableRow * This,
            /* [in][defaultvalue] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **row);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *deleteCell )( 
            __RPC__in IHTMLTableRow * This,
            /* [in][defaultvalue] */ long index);
        
        END_INTERFACE
    } IHTMLTableRowVtbl;

    interface IHTMLTableRow
    {
        CONST_VTBL struct IHTMLTableRowVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTableRow_INTERFACE_DEFINED__ */


#ifndef __IHTMLTableRow2_INTERFACE_DEFINED__
#define __IHTMLTableRow2_INTERFACE_DEFINED__

/* interface IHTMLTableRow2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTableRow2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4a1-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTableRow2 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_height( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTableRow2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTableRow2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTableRow2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTableRow2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTableRow2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTableRow2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTableRow2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTableRow2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_height )( 
            __RPC__in IHTMLTableRow2 * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in IHTMLTableRow2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLTableRow2Vtbl;

    interface IHTMLTableRow2
    {
        CONST_VTBL struct IHTMLTableRow2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLTableRow2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLTableRow2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLTableRow2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLTableRow2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLTableRow2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLTableRow2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLTableRow2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLTableRow2_put_height(This,v)	\
    ( (This)->lpVtbl -> put_height(This,v) ) 

#define IHTMLTableRow2_get_height(This,p)	\
    ( (This)->lpVtbl -> get_height(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTableRow2_INTERFACE_DEFINED__ */


#ifndef __IHTMLTableRow3_INTERFACE_DEFINED__
#define __IHTMLTableRow3_INTERFACE_DEFINED__

/* interface IHTMLTableRow3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTableRow3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f82c-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTableRow3 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ch( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ch( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_chOff( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_chOff( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTableRow3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTableRow3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTableRow3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTableRow3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTableRow3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTableRow3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTableRow3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTableRow3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ch )( 
            __RPC__in IHTMLTableRow3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ch )( 
            __RPC__in IHTMLTableRow3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_chOff )( 
            __RPC__in IHTMLTableRow3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_chOff )( 
            __RPC__in IHTMLTableRow3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLTableRow3Vtbl;

    interface IHTMLTableRow3
    {
        CONST_VTBL struct IHTMLTableRow3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLTableRow3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLTableRow3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLTableRow3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLTableRow3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLTableRow3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLTableRow3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLTableRow3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLTableRow3_put_ch(This,v)	\
    ( (This)->lpVtbl -> put_ch(This,v) ) 

#define IHTMLTableRow3_get_ch(This,p)	\
    ( (This)->lpVtbl -> get_ch(This,p) ) 

#define IHTMLTableRow3_put_chOff(This,v)	\
    ( (This)->lpVtbl -> put_chOff(This,v) ) 

#define IHTMLTableRow3_get_chOff(This,p)	\
    ( (This)->lpVtbl -> get_chOff(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTableRow3_INTERFACE_DEFINED__ */


#ifndef __IHTMLTableRow4_INTERFACE_DEFINED__
#define __IHTMLTableRow4_INTERFACE_DEFINED__

/* interface IHTMLTableRow4 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTableRow4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106c6-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTableRow4 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ch( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ch( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_chOff( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_chOff( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE insertCell( 
            /* [in][defaultvalue] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **row) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE deleteCell( 
            /* [in][defaultvalue] */ long index = -1) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTableRow4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTableRow4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTableRow4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTableRow4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTableRow4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTableRow4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTableRow4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTableRow4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ch )( 
            __RPC__in IHTMLTableRow4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ch )( 
            __RPC__in IHTMLTableRow4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_chOff )( 
            __RPC__in IHTMLTableRow4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_chOff )( 
            __RPC__in IHTMLTableRow4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *insertCell )( 
            __RPC__in IHTMLTableRow4 * This,
            /* [in][defaultvalue] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **row);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *deleteCell )( 
            __RPC__in IHTMLTableRow4 * This,
            /* [in][defaultvalue] */ long index);
        
        END_INTERFACE
    } IHTMLTableRow4Vtbl;

    interface IHTMLTableRow4
    {
        CONST_VTBL struct IHTMLTableRow4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLTableRow4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLTableRow4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLTableRow4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLTableRow4_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLTableRow4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLTableRow4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLTableRow4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLTableRow4_put_ch(This,v)	\
    ( (This)->lpVtbl -> put_ch(This,v) ) 

#define IHTMLTableRow4_get_ch(This,p)	\
    ( (This)->lpVtbl -> get_ch(This,p) ) 

#define IHTMLTableRow4_put_chOff(This,v)	\
    ( (This)->lpVtbl -> put_chOff(This,v) ) 

#define IHTMLTableRow4_get_chOff(This,p)	\
    ( (This)->lpVtbl -> get_chOff(This,p) ) 

#define IHTMLTableRow4_insertCell(This,index,row)	\
    ( (This)->lpVtbl -> insertCell(This,index,row) ) 

#define IHTMLTableRow4_deleteCell(This,index)	\
    ( (This)->lpVtbl -> deleteCell(This,index) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTableRow4_INTERFACE_DEFINED__ */


#ifndef __IHTMLTableRowMetrics_INTERFACE_DEFINED__
#define __IHTMLTableRowMetrics_INTERFACE_DEFINED__

/* interface IHTMLTableRowMetrics */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTableRowMetrics;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f413-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTableRowMetrics : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clientHeight( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clientWidth( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clientTop( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_clientLeft( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTableRowMetricsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTableRowMetrics * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTableRowMetrics * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTableRowMetrics * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTableRowMetrics * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTableRowMetrics * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTableRowMetrics * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTableRowMetrics * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clientHeight )( 
            __RPC__in IHTMLTableRowMetrics * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clientWidth )( 
            __RPC__in IHTMLTableRowMetrics * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clientTop )( 
            __RPC__in IHTMLTableRowMetrics * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clientLeft )( 
            __RPC__in IHTMLTableRowMetrics * This,
            /* [out][retval] */ __RPC__out long *p);
        
        END_INTERFACE
    } IHTMLTableRowMetricsVtbl;

    interface IHTMLTableRowMetrics
    {
        CONST_VTBL struct IHTMLTableRowMetricsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLTableRowMetrics_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLTableRowMetrics_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLTableRowMetrics_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLTableRowMetrics_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLTableRowMetrics_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLTableRowMetrics_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLTableRowMetrics_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLTableRowMetrics_get_clientHeight(This,p)	\
    ( (This)->lpVtbl -> get_clientHeight(This,p) ) 

#define IHTMLTableRowMetrics_get_clientWidth(This,p)	\
    ( (This)->lpVtbl -> get_clientWidth(This,p) ) 

#define IHTMLTableRowMetrics_get_clientTop(This,p)	\
    ( (This)->lpVtbl -> get_clientTop(This,p) ) 

#define IHTMLTableRowMetrics_get_clientLeft(This,p)	\
    ( (This)->lpVtbl -> get_clientLeft(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTableRowMetrics_INTERFACE_DEFINED__ */


#ifndef __IHTMLTableCell_INTERFACE_DEFINED__
#define __IHTMLTableCell_INTERFACE_DEFINED__

/* interface IHTMLTableCell */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTableCell;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f23d-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTableCell : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_rowSpan( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_rowSpan( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_colSpan( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_colSpan( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_align( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_align( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_vAlign( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_vAlign( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_bgColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_bgColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_noWrap( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_noWrap( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_background( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_background( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_borderColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_borderColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_borderColorLight( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_borderColorLight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_borderColorDark( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_borderColorDark( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_width( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_height( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cellIndex( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTableCellVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTableCell * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTableCell * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTableCell * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTableCell * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTableCell * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTableCell * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTableCell * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_rowSpan )( 
            __RPC__in IHTMLTableCell * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowSpan )( 
            __RPC__in IHTMLTableCell * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_colSpan )( 
            __RPC__in IHTMLTableCell * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_colSpan )( 
            __RPC__in IHTMLTableCell * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_align )( 
            __RPC__in IHTMLTableCell * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_align )( 
            __RPC__in IHTMLTableCell * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_vAlign )( 
            __RPC__in IHTMLTableCell * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_vAlign )( 
            __RPC__in IHTMLTableCell * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_bgColor )( 
            __RPC__in IHTMLTableCell * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bgColor )( 
            __RPC__in IHTMLTableCell * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_noWrap )( 
            __RPC__in IHTMLTableCell * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noWrap )( 
            __RPC__in IHTMLTableCell * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_background )( 
            __RPC__in IHTMLTableCell * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_background )( 
            __RPC__in IHTMLTableCell * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderColor )( 
            __RPC__in IHTMLTableCell * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderColor )( 
            __RPC__in IHTMLTableCell * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderColorLight )( 
            __RPC__in IHTMLTableCell * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderColorLight )( 
            __RPC__in IHTMLTableCell * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderColorDark )( 
            __RPC__in IHTMLTableCell * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderColorDark )( 
            __RPC__in IHTMLTableCell * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_width )( 
            __RPC__in IHTMLTableCell * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in IHTMLTableCell * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_height )( 
            __RPC__in IHTMLTableCell * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in IHTMLTableCell * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cellIndex )( 
            __RPC__in IHTMLTableCell * This,
            /* [out][retval] */ __RPC__out long *p);
        
        END_INTERFACE
    } IHTMLTableCellVtbl;

    interface IHTMLTableCell
    {
        CONST_VTBL struct IHTMLTableCellVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTableCell_INTERFACE_DEFINED__ */


#ifndef __IHTMLTableCell2_INTERFACE_DEFINED__
#define __IHTMLTableCell2_INTERFACE_DEFINED__

/* interface IHTMLTableCell2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTableCell2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f82d-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTableCell2 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_abbr( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_abbr( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_axis( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_axis( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ch( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ch( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_chOff( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_chOff( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_headers( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_headers( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_scope( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_scope( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTableCell2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTableCell2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTableCell2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTableCell2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTableCell2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTableCell2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTableCell2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTableCell2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_abbr )( 
            __RPC__in IHTMLTableCell2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_abbr )( 
            __RPC__in IHTMLTableCell2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_axis )( 
            __RPC__in IHTMLTableCell2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_axis )( 
            __RPC__in IHTMLTableCell2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ch )( 
            __RPC__in IHTMLTableCell2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ch )( 
            __RPC__in IHTMLTableCell2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_chOff )( 
            __RPC__in IHTMLTableCell2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_chOff )( 
            __RPC__in IHTMLTableCell2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_headers )( 
            __RPC__in IHTMLTableCell2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_headers )( 
            __RPC__in IHTMLTableCell2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scope )( 
            __RPC__in IHTMLTableCell2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scope )( 
            __RPC__in IHTMLTableCell2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLTableCell2Vtbl;

    interface IHTMLTableCell2
    {
        CONST_VTBL struct IHTMLTableCell2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLTableCell2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLTableCell2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLTableCell2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLTableCell2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLTableCell2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLTableCell2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLTableCell2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLTableCell2_put_abbr(This,v)	\
    ( (This)->lpVtbl -> put_abbr(This,v) ) 

#define IHTMLTableCell2_get_abbr(This,p)	\
    ( (This)->lpVtbl -> get_abbr(This,p) ) 

#define IHTMLTableCell2_put_axis(This,v)	\
    ( (This)->lpVtbl -> put_axis(This,v) ) 

#define IHTMLTableCell2_get_axis(This,p)	\
    ( (This)->lpVtbl -> get_axis(This,p) ) 

#define IHTMLTableCell2_put_ch(This,v)	\
    ( (This)->lpVtbl -> put_ch(This,v) ) 

#define IHTMLTableCell2_get_ch(This,p)	\
    ( (This)->lpVtbl -> get_ch(This,p) ) 

#define IHTMLTableCell2_put_chOff(This,v)	\
    ( (This)->lpVtbl -> put_chOff(This,v) ) 

#define IHTMLTableCell2_get_chOff(This,p)	\
    ( (This)->lpVtbl -> get_chOff(This,p) ) 

#define IHTMLTableCell2_put_headers(This,v)	\
    ( (This)->lpVtbl -> put_headers(This,v) ) 

#define IHTMLTableCell2_get_headers(This,p)	\
    ( (This)->lpVtbl -> get_headers(This,p) ) 

#define IHTMLTableCell2_put_scope(This,v)	\
    ( (This)->lpVtbl -> put_scope(This,v) ) 

#define IHTMLTableCell2_get_scope(This,p)	\
    ( (This)->lpVtbl -> get_scope(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTableCell2_INTERFACE_DEFINED__ */


#ifndef __IHTMLTableCell3_INTERFACE_DEFINED__
#define __IHTMLTableCell3_INTERFACE_DEFINED__

/* interface IHTMLTableCell3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTableCell3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106c7-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTableCell3 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ch( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ch( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_chOff( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_chOff( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTableCell3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTableCell3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTableCell3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTableCell3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTableCell3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTableCell3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTableCell3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTableCell3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ch )( 
            __RPC__in IHTMLTableCell3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ch )( 
            __RPC__in IHTMLTableCell3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_chOff )( 
            __RPC__in IHTMLTableCell3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_chOff )( 
            __RPC__in IHTMLTableCell3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLTableCell3Vtbl;

    interface IHTMLTableCell3
    {
        CONST_VTBL struct IHTMLTableCell3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLTableCell3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLTableCell3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLTableCell3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLTableCell3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLTableCell3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLTableCell3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLTableCell3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLTableCell3_put_ch(This,v)	\
    ( (This)->lpVtbl -> put_ch(This,v) ) 

#define IHTMLTableCell3_get_ch(This,p)	\
    ( (This)->lpVtbl -> get_ch(This,p) ) 

#define IHTMLTableCell3_put_chOff(This,v)	\
    ( (This)->lpVtbl -> put_chOff(This,v) ) 

#define IHTMLTableCell3_get_chOff(This,p)	\
    ( (This)->lpVtbl -> get_chOff(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTableCell3_INTERFACE_DEFINED__ */


#ifndef __DispHTMLTable_DISPINTERFACE_DEFINED__
#define __DispHTMLTable_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLTable */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLTable;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f532-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLTable : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLTableVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLTable * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLTable * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLTable * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLTable * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLTable * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLTable * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLTable * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLTableVtbl;

    interface DispHTMLTable
    {
        CONST_VTBL struct DispHTMLTableVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLTable_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLTable;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f26b-98b5-11cf-bb82-00aa00bdce0b")
HTMLTable;
#endif

#ifndef __DispHTMLTableCol_DISPINTERFACE_DEFINED__
#define __DispHTMLTableCol_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLTableCol */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLTableCol;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f533-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLTableCol : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLTableColVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLTableCol * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLTableCol * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLTableCol * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLTableCol * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLTableCol * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLTableCol * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLTableCol * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLTableColVtbl;

    interface DispHTMLTableCol
    {
        CONST_VTBL struct DispHTMLTableColVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLTableCol_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLTableCol_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLTableCol_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLTableCol_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLTableCol_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLTableCol_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLTableCol_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLTableCol_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLTableCol;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f26c-98b5-11cf-bb82-00aa00bdce0b")
HTMLTableCol;
#endif

#ifndef __DispHTMLTableSection_DISPINTERFACE_DEFINED__
#define __DispHTMLTableSection_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLTableSection */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLTableSection;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f534-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLTableSection : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLTableSectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLTableSection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLTableSection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLTableSection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLTableSection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLTableSection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLTableSection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLTableSection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLTableSectionVtbl;

    interface DispHTMLTableSection
    {
        CONST_VTBL struct DispHTMLTableSectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLTableSection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLTableSection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLTableSection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLTableSection_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLTableSection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLTableSection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLTableSection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLTableSection_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLTableSection;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f2e9-98b5-11cf-bb82-00aa00bdce0b")
HTMLTableSection;
#endif

#ifndef __DispHTMLTableRow_DISPINTERFACE_DEFINED__
#define __DispHTMLTableRow_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLTableRow */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLTableRow;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f535-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLTableRow : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLTableRowVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLTableRow * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLTableRow * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLTableRow * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLTableRow * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLTableRow * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLTableRow * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLTableRow * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLTableRowVtbl;

    interface DispHTMLTableRow
    {
        CONST_VTBL struct DispHTMLTableRowVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLTableRow_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLTableRow;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f26d-98b5-11cf-bb82-00aa00bdce0b")
HTMLTableRow;
#endif

#ifndef __DispHTMLTableCell_DISPINTERFACE_DEFINED__
#define __DispHTMLTableCell_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLTableCell */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLTableCell;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f536-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLTableCell : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLTableCellVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLTableCell * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLTableCell * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLTableCell * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLTableCell * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLTableCell * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLTableCell * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLTableCell * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLTableCellVtbl;

    interface DispHTMLTableCell
    {
        CONST_VTBL struct DispHTMLTableCellVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLTableCell_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLTableCell;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f246-98b5-11cf-bb82-00aa00bdce0b")
HTMLTableCell;
#endif

#ifndef __HTMLScriptEvents2_DISPINTERFACE_DEFINED__
#define __HTMLScriptEvents2_DISPINTERFACE_DEFINED__

/* dispinterface HTMLScriptEvents2 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLScriptEvents2;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f621-98b5-11cf-bb82-00aa00bdce0b")
    HTMLScriptEvents2 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLScriptEvents2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLScriptEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLScriptEvents2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLScriptEvents2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLScriptEvents2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLScriptEvents2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLScriptEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLScriptEvents2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLScriptEvents2Vtbl;

    interface HTMLScriptEvents2
    {
        CONST_VTBL struct HTMLScriptEvents2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLScriptEvents2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLScriptEvents2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLScriptEvents2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLScriptEvents2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLScriptEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLScriptEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLScriptEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLScriptEvents2_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLScriptEvents_DISPINTERFACE_DEFINED__
#define __HTMLScriptEvents_DISPINTERFACE_DEFINED__

/* dispinterface HTMLScriptEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLScriptEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f3e2-98b5-11cf-bb82-00aa00bdce0b")
    HTMLScriptEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLScriptEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLScriptEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLScriptEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLScriptEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLScriptEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLScriptEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLScriptEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLScriptEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLScriptEventsVtbl;

    interface HTMLScriptEvents
    {
        CONST_VTBL struct HTMLScriptEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLScriptEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLScriptEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLScriptEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLScriptEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLScriptEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLScriptEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLScriptEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLScriptEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IHTMLScriptElement_INTERFACE_DEFINED__
#define __IHTMLScriptElement_INTERFACE_DEFINED__

/* interface IHTMLScriptElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLScriptElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f28b-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLScriptElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_src( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_src( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_htmlFor( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_htmlFor( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_event( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_event( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_text( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_text( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_defer( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_defer( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_readyState( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onerror( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onerror( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_type( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLScriptElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLScriptElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLScriptElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLScriptElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLScriptElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLScriptElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLScriptElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLScriptElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_src )( 
            __RPC__in IHTMLScriptElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_src )( 
            __RPC__in IHTMLScriptElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_htmlFor )( 
            __RPC__in IHTMLScriptElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_htmlFor )( 
            __RPC__in IHTMLScriptElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_event )( 
            __RPC__in IHTMLScriptElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_event )( 
            __RPC__in IHTMLScriptElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_text )( 
            __RPC__in IHTMLScriptElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )( 
            __RPC__in IHTMLScriptElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_defer )( 
            __RPC__in IHTMLScriptElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_defer )( 
            __RPC__in IHTMLScriptElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_readyState )( 
            __RPC__in IHTMLScriptElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onerror )( 
            __RPC__in IHTMLScriptElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onerror )( 
            __RPC__in IHTMLScriptElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_type )( 
            __RPC__in IHTMLScriptElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLScriptElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLScriptElementVtbl;

    interface IHTMLScriptElement
    {
        CONST_VTBL struct IHTMLScriptElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLScriptElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLScriptElement2_INTERFACE_DEFINED__
#define __IHTMLScriptElement2_INTERFACE_DEFINED__

/* interface IHTMLScriptElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLScriptElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f828-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLScriptElement2 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_charset( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_charset( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLScriptElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLScriptElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLScriptElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLScriptElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLScriptElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLScriptElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLScriptElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLScriptElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_charset )( 
            __RPC__in IHTMLScriptElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_charset )( 
            __RPC__in IHTMLScriptElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLScriptElement2Vtbl;

    interface IHTMLScriptElement2
    {
        CONST_VTBL struct IHTMLScriptElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLScriptElement2_put_charset(This,v)	\
    ( (This)->lpVtbl -> put_charset(This,v) ) 

#define IHTMLScriptElement2_get_charset(This,p)	\
    ( (This)->lpVtbl -> get_charset(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLScriptElement2_INTERFACE_DEFINED__ */


#ifndef __IHTMLScriptElement3_INTERFACE_DEFINED__
#define __IHTMLScriptElement3_INTERFACE_DEFINED__

/* interface IHTMLScriptElement3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLScriptElement3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510447-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLScriptElement3 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_src( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_src( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLScriptElement3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLScriptElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLScriptElement3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLScriptElement3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLScriptElement3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLScriptElement3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLScriptElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLScriptElement3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_src )( 
            __RPC__in IHTMLScriptElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_src )( 
            __RPC__in IHTMLScriptElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLScriptElement3Vtbl;

    interface IHTMLScriptElement3
    {
        CONST_VTBL struct IHTMLScriptElement3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLScriptElement3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLScriptElement3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLScriptElement3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLScriptElement3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLScriptElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLScriptElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLScriptElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLScriptElement3_put_src(This,v)	\
    ( (This)->lpVtbl -> put_src(This,v) ) 

#define IHTMLScriptElement3_get_src(This,p)	\
    ( (This)->lpVtbl -> get_src(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLScriptElement3_INTERFACE_DEFINED__ */


#ifndef __IHTMLScriptElement4_INTERFACE_DEFINED__
#define __IHTMLScriptElement4_INTERFACE_DEFINED__

/* interface IHTMLScriptElement4 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLScriptElement4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510801-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLScriptElement4 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_usedCharset( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLScriptElement4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLScriptElement4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLScriptElement4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLScriptElement4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLScriptElement4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLScriptElement4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLScriptElement4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLScriptElement4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_usedCharset )( 
            __RPC__in IHTMLScriptElement4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLScriptElement4Vtbl;

    interface IHTMLScriptElement4
    {
        CONST_VTBL struct IHTMLScriptElement4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLScriptElement4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLScriptElement4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLScriptElement4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLScriptElement4_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLScriptElement4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLScriptElement4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLScriptElement4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLScriptElement4_get_usedCharset(This,p)	\
    ( (This)->lpVtbl -> get_usedCharset(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLScriptElement4_INTERFACE_DEFINED__ */


#ifndef __DispHTMLScriptElement_DISPINTERFACE_DEFINED__
#define __DispHTMLScriptElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLScriptElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLScriptElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f530-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLScriptElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLScriptElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLScriptElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLScriptElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLScriptElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLScriptElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLScriptElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLScriptElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLScriptElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLScriptElementVtbl;

    interface DispHTMLScriptElement
    {
        CONST_VTBL struct DispHTMLScriptElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLScriptElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLScriptElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f28c-98b5-11cf-bb82-00aa00bdce0b")
HTMLScriptElement;
#endif

#ifndef __IHTMLNoShowElement_INTERFACE_DEFINED__
#define __IHTMLNoShowElement_INTERFACE_DEFINED__

/* interface IHTMLNoShowElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLNoShowElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f38a-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLNoShowElement : public IDispatch
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLNoShowElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLNoShowElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLNoShowElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLNoShowElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLNoShowElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLNoShowElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLNoShowElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLNoShowElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } IHTMLNoShowElementVtbl;

    interface IHTMLNoShowElement
    {
        CONST_VTBL struct IHTMLNoShowElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLNoShowElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLNoShowElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLNoShowElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLNoShowElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLNoShowElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLNoShowElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLNoShowElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLNoShowElement_INTERFACE_DEFINED__ */


#ifndef __DispHTMLNoShowElement_DISPINTERFACE_DEFINED__
#define __DispHTMLNoShowElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLNoShowElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLNoShowElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f528-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLNoShowElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLNoShowElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLNoShowElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLNoShowElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLNoShowElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLNoShowElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLNoShowElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLNoShowElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLNoShowElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLNoShowElementVtbl;

    interface DispHTMLNoShowElement
    {
        CONST_VTBL struct DispHTMLNoShowElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLNoShowElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLNoShowElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLNoShowElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLNoShowElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLNoShowElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLNoShowElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLNoShowElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLNoShowElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLNoShowElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f38b-98b5-11cf-bb82-00aa00bdce0b")
HTMLNoShowElement;
#endif

#ifndef __HTMLObjectElementEvents2_DISPINTERFACE_DEFINED__
#define __HTMLObjectElementEvents2_DISPINTERFACE_DEFINED__

/* dispinterface HTMLObjectElementEvents2 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLObjectElementEvents2;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f620-98b5-11cf-bb82-00aa00bdce0b")
    HTMLObjectElementEvents2 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLObjectElementEvents2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLObjectElementEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLObjectElementEvents2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLObjectElementEvents2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLObjectElementEvents2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLObjectElementEvents2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLObjectElementEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLObjectElementEvents2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLObjectElementEvents2Vtbl;

    interface HTMLObjectElementEvents2
    {
        CONST_VTBL struct HTMLObjectElementEvents2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLObjectElementEvents2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLObjectElementEvents2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLObjectElementEvents2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLObjectElementEvents2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLObjectElementEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLObjectElementEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLObjectElementEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLObjectElementEvents2_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLObjectElementEvents_DISPINTERFACE_DEFINED__
#define __HTMLObjectElementEvents_DISPINTERFACE_DEFINED__

/* dispinterface HTMLObjectElementEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLObjectElementEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f3c4-98b5-11cf-bb82-00aa00bdce0b")
    HTMLObjectElementEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLObjectElementEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLObjectElementEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLObjectElementEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLObjectElementEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLObjectElementEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLObjectElementEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLObjectElementEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLObjectElementEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLObjectElementEventsVtbl;

    interface HTMLObjectElementEvents
    {
        CONST_VTBL struct HTMLObjectElementEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLObjectElementEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLObjectElementEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLObjectElementEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLObjectElementEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLObjectElementEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLObjectElementEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLObjectElementEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLObjectElementEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IHTMLObjectElement_INTERFACE_DEFINED__
#define __IHTMLObjectElement_INTERFACE_DEFINED__

/* interface IHTMLObjectElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLObjectElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f24f-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLObjectElement : public IDispatch
    {
    public:
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_object( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_classid( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_data( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [hidden][id][propputref] */ HRESULT STDMETHODCALLTYPE putref_recordset( 
            /* [in] */ __RPC__in_opt IDispatch *v) = 0;
        
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_recordset( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_align( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_align( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_name( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_codeBase( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_codeBase( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_codeType( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_codeType( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_code( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_code( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_BaseHref( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_type( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_form( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_width( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_height( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_readyState( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onreadystatechange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onreadystatechange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onerror( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onerror( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_altHtml( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_altHtml( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_vspace( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_vspace( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_hspace( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_hspace( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLObjectElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLObjectElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLObjectElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLObjectElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLObjectElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLObjectElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLObjectElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLObjectElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_object )( 
            __RPC__in IHTMLObjectElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_classid )( 
            __RPC__in IHTMLObjectElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_data )( 
            __RPC__in IHTMLObjectElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [hidden][id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_recordset )( 
            __RPC__in IHTMLObjectElement * This,
            /* [in] */ __RPC__in_opt IDispatch *v);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_recordset )( 
            __RPC__in IHTMLObjectElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_align )( 
            __RPC__in IHTMLObjectElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_align )( 
            __RPC__in IHTMLObjectElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            __RPC__in IHTMLObjectElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLObjectElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_codeBase )( 
            __RPC__in IHTMLObjectElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_codeBase )( 
            __RPC__in IHTMLObjectElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_codeType )( 
            __RPC__in IHTMLObjectElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_codeType )( 
            __RPC__in IHTMLObjectElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_code )( 
            __RPC__in IHTMLObjectElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_code )( 
            __RPC__in IHTMLObjectElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BaseHref )( 
            __RPC__in IHTMLObjectElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_type )( 
            __RPC__in IHTMLObjectElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLObjectElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_form )( 
            __RPC__in IHTMLObjectElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_width )( 
            __RPC__in IHTMLObjectElement * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in IHTMLObjectElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_height )( 
            __RPC__in IHTMLObjectElement * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in IHTMLObjectElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_readyState )( 
            __RPC__in IHTMLObjectElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onreadystatechange )( 
            __RPC__in IHTMLObjectElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onreadystatechange )( 
            __RPC__in IHTMLObjectElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onerror )( 
            __RPC__in IHTMLObjectElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onerror )( 
            __RPC__in IHTMLObjectElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_altHtml )( 
            __RPC__in IHTMLObjectElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_altHtml )( 
            __RPC__in IHTMLObjectElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_vspace )( 
            __RPC__in IHTMLObjectElement * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_vspace )( 
            __RPC__in IHTMLObjectElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_hspace )( 
            __RPC__in IHTMLObjectElement * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hspace )( 
            __RPC__in IHTMLObjectElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        END_INTERFACE
    } IHTMLObjectElementVtbl;

    interface IHTMLObjectElement
    {
        CONST_VTBL struct IHTMLObjectElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLObjectElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLObjectElement2_INTERFACE_DEFINED__
#define __IHTMLObjectElement2_INTERFACE_DEFINED__

/* interface IHTMLObjectElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLObjectElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4cd-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLObjectElement2 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE namedRecordset( 
            /* [in] */ __RPC__in BSTR dataMember,
            /* [in][optional] */ __RPC__in VARIANT *hierarchy,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppRecordset) = 0;
        
        virtual /* [hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_classid( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_classid( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_data( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_data( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLObjectElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLObjectElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLObjectElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLObjectElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLObjectElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLObjectElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLObjectElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLObjectElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *namedRecordset )( 
            __RPC__in IHTMLObjectElement2 * This,
            /* [in] */ __RPC__in BSTR dataMember,
            /* [in][optional] */ __RPC__in VARIANT *hierarchy,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppRecordset);
        
        /* [hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_classid )( 
            __RPC__in IHTMLObjectElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_classid )( 
            __RPC__in IHTMLObjectElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_data )( 
            __RPC__in IHTMLObjectElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_data )( 
            __RPC__in IHTMLObjectElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLObjectElement2Vtbl;

    interface IHTMLObjectElement2
    {
        CONST_VTBL struct IHTMLObjectElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLObjectElement2_INTERFACE_DEFINED__ */


#ifndef __IHTMLObjectElement3_INTERFACE_DEFINED__
#define __IHTMLObjectElement3_INTERFACE_DEFINED__

/* interface IHTMLObjectElement3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLObjectElement3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f827-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLObjectElement3 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_archive( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_archive( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_alt( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_alt( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_declare( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_declare( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_standby( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_standby( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_border( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_border( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_useMap( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_useMap( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLObjectElement3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLObjectElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLObjectElement3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLObjectElement3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLObjectElement3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLObjectElement3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLObjectElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLObjectElement3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_archive )( 
            __RPC__in IHTMLObjectElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_archive )( 
            __RPC__in IHTMLObjectElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_alt )( 
            __RPC__in IHTMLObjectElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_alt )( 
            __RPC__in IHTMLObjectElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_declare )( 
            __RPC__in IHTMLObjectElement3 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_declare )( 
            __RPC__in IHTMLObjectElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_standby )( 
            __RPC__in IHTMLObjectElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_standby )( 
            __RPC__in IHTMLObjectElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_border )( 
            __RPC__in IHTMLObjectElement3 * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_border )( 
            __RPC__in IHTMLObjectElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_useMap )( 
            __RPC__in IHTMLObjectElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_useMap )( 
            __RPC__in IHTMLObjectElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLObjectElement3Vtbl;

    interface IHTMLObjectElement3
    {
        CONST_VTBL struct IHTMLObjectElement3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLObjectElement3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLObjectElement3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLObjectElement3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLObjectElement3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLObjectElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLObjectElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLObjectElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLObjectElement3_put_archive(This,v)	\
    ( (This)->lpVtbl -> put_archive(This,v) ) 

#define IHTMLObjectElement3_get_archive(This,p)	\
    ( (This)->lpVtbl -> get_archive(This,p) ) 

#define IHTMLObjectElement3_put_alt(This,v)	\
    ( (This)->lpVtbl -> put_alt(This,v) ) 

#define IHTMLObjectElement3_get_alt(This,p)	\
    ( (This)->lpVtbl -> get_alt(This,p) ) 

#define IHTMLObjectElement3_put_declare(This,v)	\
    ( (This)->lpVtbl -> put_declare(This,v) ) 

#define IHTMLObjectElement3_get_declare(This,p)	\
    ( (This)->lpVtbl -> get_declare(This,p) ) 

#define IHTMLObjectElement3_put_standby(This,v)	\
    ( (This)->lpVtbl -> put_standby(This,v) ) 

#define IHTMLObjectElement3_get_standby(This,p)	\
    ( (This)->lpVtbl -> get_standby(This,p) ) 

#define IHTMLObjectElement3_put_border(This,v)	\
    ( (This)->lpVtbl -> put_border(This,v) ) 

#define IHTMLObjectElement3_get_border(This,p)	\
    ( (This)->lpVtbl -> get_border(This,p) ) 

#define IHTMLObjectElement3_put_useMap(This,v)	\
    ( (This)->lpVtbl -> put_useMap(This,v) ) 

#define IHTMLObjectElement3_get_useMap(This,p)	\
    ( (This)->lpVtbl -> get_useMap(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLObjectElement3_INTERFACE_DEFINED__ */


#ifndef __IHTMLObjectElement4_INTERFACE_DEFINED__
#define __IHTMLObjectElement4_INTERFACE_DEFINED__

/* interface IHTMLObjectElement4 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLObjectElement4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051043e-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLObjectElement4 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_contentDocument( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_codeBase( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_codeBase( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_data( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_data( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLObjectElement4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLObjectElement4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLObjectElement4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLObjectElement4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLObjectElement4 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLObjectElement4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLObjectElement4 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLObjectElement4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_contentDocument )( 
            __RPC__in IHTMLObjectElement4 * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_codeBase )( 
            __RPC__in IHTMLObjectElement4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_codeBase )( 
            __RPC__in IHTMLObjectElement4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_data )( 
            __RPC__in IHTMLObjectElement4 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_data )( 
            __RPC__in IHTMLObjectElement4 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLObjectElement4Vtbl;

    interface IHTMLObjectElement4
    {
        CONST_VTBL struct IHTMLObjectElement4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLObjectElement4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLObjectElement4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLObjectElement4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLObjectElement4_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLObjectElement4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLObjectElement4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLObjectElement4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLObjectElement4_get_contentDocument(This,p)	\
    ( (This)->lpVtbl -> get_contentDocument(This,p) ) 

#define IHTMLObjectElement4_put_codeBase(This,v)	\
    ( (This)->lpVtbl -> put_codeBase(This,v) ) 

#define IHTMLObjectElement4_get_codeBase(This,p)	\
    ( (This)->lpVtbl -> get_codeBase(This,p) ) 

#define IHTMLObjectElement4_put_data(This,v)	\
    ( (This)->lpVtbl -> put_data(This,v) ) 

#define IHTMLObjectElement4_get_data(This,p)	\
    ( (This)->lpVtbl -> get_data(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLObjectElement4_INTERFACE_DEFINED__ */


#ifndef __IHTMLObjectElement5_INTERFACE_DEFINED__
#define __IHTMLObjectElement5_INTERFACE_DEFINED__

/* interface IHTMLObjectElement5 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLObjectElement5;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104b5-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLObjectElement5 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_object( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_object( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLObjectElement5Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLObjectElement5 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLObjectElement5 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLObjectElement5 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLObjectElement5 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLObjectElement5 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLObjectElement5 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLObjectElement5 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_object )( 
            __RPC__in IHTMLObjectElement5 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_object )( 
            __RPC__in IHTMLObjectElement5 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLObjectElement5Vtbl;

    interface IHTMLObjectElement5
    {
        CONST_VTBL struct IHTMLObjectElement5Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLObjectElement5_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLObjectElement5_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLObjectElement5_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLObjectElement5_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLObjectElement5_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLObjectElement5_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLObjectElement5_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLObjectElement5_put_object(This,v)	\
    ( (This)->lpVtbl -> put_object(This,v) ) 

#define IHTMLObjectElement5_get_object(This,p)	\
    ( (This)->lpVtbl -> get_object(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLObjectElement5_INTERFACE_DEFINED__ */


#ifndef __IHTMLParamElement_INTERFACE_DEFINED__
#define __IHTMLParamElement_INTERFACE_DEFINED__

/* interface IHTMLParamElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLParamElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f83d-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLParamElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_name( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_value( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_value( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_type( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_valueType( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_valueType( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLParamElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLParamElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLParamElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLParamElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLParamElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLParamElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLParamElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLParamElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            __RPC__in IHTMLParamElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLParamElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_value )( 
            __RPC__in IHTMLParamElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 
            __RPC__in IHTMLParamElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_type )( 
            __RPC__in IHTMLParamElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLParamElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_valueType )( 
            __RPC__in IHTMLParamElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_valueType )( 
            __RPC__in IHTMLParamElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLParamElementVtbl;

    interface IHTMLParamElement
    {
        CONST_VTBL struct IHTMLParamElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLParamElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLParamElement2_INTERFACE_DEFINED__
#define __IHTMLParamElement2_INTERFACE_DEFINED__

/* interface IHTMLParamElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLParamElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510444-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLParamElement2 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_name( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_type( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_value( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_value( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_valueType( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_valueType( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLParamElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLParamElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLParamElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLParamElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLParamElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLParamElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLParamElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLParamElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            __RPC__in IHTMLParamElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLParamElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_type )( 
            __RPC__in IHTMLParamElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLParamElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_value )( 
            __RPC__in IHTMLParamElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 
            __RPC__in IHTMLParamElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_valueType )( 
            __RPC__in IHTMLParamElement2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_valueType )( 
            __RPC__in IHTMLParamElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLParamElement2Vtbl;

    interface IHTMLParamElement2
    {
        CONST_VTBL struct IHTMLParamElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLParamElement2_INTERFACE_DEFINED__ */


#ifndef __DispHTMLObjectElement_DISPINTERFACE_DEFINED__
#define __DispHTMLObjectElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLObjectElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLObjectElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f529-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLObjectElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLObjectElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLObjectElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLObjectElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLObjectElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLObjectElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLObjectElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLObjectElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLObjectElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLObjectElementVtbl;

    interface DispHTMLObjectElement
    {
        CONST_VTBL struct DispHTMLObjectElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLObjectElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLObjectElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f24e-98b5-11cf-bb82-00aa00bdce0b")
HTMLObjectElement;
#endif

#ifndef __DispHTMLParamElement_DISPINTERFACE_DEFINED__
#define __DispHTMLParamElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLParamElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLParamElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f590-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLParamElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLParamElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLParamElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLParamElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLParamElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLParamElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLParamElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLParamElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLParamElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLParamElementVtbl;

    interface DispHTMLParamElement
    {
        CONST_VTBL struct DispHTMLParamElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLParamElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLParamElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f83e-98b5-11cf-bb82-00aa00bdce0b")
HTMLParamElement;
#endif

#ifndef __HTMLFrameSiteEvents2_DISPINTERFACE_DEFINED__
#define __HTMLFrameSiteEvents2_DISPINTERFACE_DEFINED__

/* dispinterface HTMLFrameSiteEvents2 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLFrameSiteEvents2;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f7ff-98b5-11cf-bb82-00aa00bdce0b")
    HTMLFrameSiteEvents2 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLFrameSiteEvents2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLFrameSiteEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLFrameSiteEvents2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLFrameSiteEvents2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLFrameSiteEvents2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLFrameSiteEvents2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLFrameSiteEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLFrameSiteEvents2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLFrameSiteEvents2Vtbl;

    interface HTMLFrameSiteEvents2
    {
        CONST_VTBL struct HTMLFrameSiteEvents2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLFrameSiteEvents2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLFrameSiteEvents2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLFrameSiteEvents2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLFrameSiteEvents2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLFrameSiteEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLFrameSiteEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLFrameSiteEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLFrameSiteEvents2_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLFrameSiteEvents_DISPINTERFACE_DEFINED__
#define __HTMLFrameSiteEvents_DISPINTERFACE_DEFINED__

/* dispinterface HTMLFrameSiteEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLFrameSiteEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f800-98b5-11cf-bb82-00aa00bdce0b")
    HTMLFrameSiteEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLFrameSiteEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLFrameSiteEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLFrameSiteEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLFrameSiteEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLFrameSiteEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLFrameSiteEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLFrameSiteEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLFrameSiteEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLFrameSiteEventsVtbl;

    interface HTMLFrameSiteEvents
    {
        CONST_VTBL struct HTMLFrameSiteEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLFrameSiteEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLFrameSiteEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLFrameSiteEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLFrameSiteEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLFrameSiteEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLFrameSiteEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLFrameSiteEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLFrameSiteEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IHTMLFrameBase2_INTERFACE_DEFINED__
#define __IHTMLFrameBase2_INTERFACE_DEFINED__

/* interface IHTMLFrameBase2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLFrameBase2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f6db-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLFrameBase2 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_contentWindow( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLWindow2 **p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onload( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onload( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onreadystatechange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onreadystatechange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_readyState( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_allowTransparency( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_allowTransparency( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLFrameBase2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLFrameBase2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLFrameBase2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLFrameBase2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLFrameBase2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLFrameBase2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLFrameBase2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLFrameBase2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_contentWindow )( 
            __RPC__in IHTMLFrameBase2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLWindow2 **p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onload )( 
            __RPC__in IHTMLFrameBase2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onload )( 
            __RPC__in IHTMLFrameBase2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onreadystatechange )( 
            __RPC__in IHTMLFrameBase2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onreadystatechange )( 
            __RPC__in IHTMLFrameBase2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_readyState )( 
            __RPC__in IHTMLFrameBase2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_allowTransparency )( 
            __RPC__in IHTMLFrameBase2 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_allowTransparency )( 
            __RPC__in IHTMLFrameBase2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        END_INTERFACE
    } IHTMLFrameBase2Vtbl;

    interface IHTMLFrameBase2
    {
        CONST_VTBL struct IHTMLFrameBase2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLFrameBase2_INTERFACE_DEFINED__ */


#ifndef __IHTMLFrameBase3_INTERFACE_DEFINED__
#define __IHTMLFrameBase3_INTERFACE_DEFINED__

/* interface IHTMLFrameBase3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLFrameBase3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f82e-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLFrameBase3 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_longDesc( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_longDesc( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLFrameBase3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLFrameBase3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLFrameBase3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLFrameBase3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLFrameBase3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLFrameBase3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLFrameBase3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLFrameBase3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_longDesc )( 
            __RPC__in IHTMLFrameBase3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_longDesc )( 
            __RPC__in IHTMLFrameBase3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLFrameBase3Vtbl;

    interface IHTMLFrameBase3
    {
        CONST_VTBL struct IHTMLFrameBase3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLFrameBase3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLFrameBase3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLFrameBase3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLFrameBase3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLFrameBase3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLFrameBase3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLFrameBase3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLFrameBase3_put_longDesc(This,v)	\
    ( (This)->lpVtbl -> put_longDesc(This,v) ) 

#define IHTMLFrameBase3_get_longDesc(This,p)	\
    ( (This)->lpVtbl -> get_longDesc(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLFrameBase3_INTERFACE_DEFINED__ */


#ifndef __DispHTMLFrameBase_DISPINTERFACE_DEFINED__
#define __DispHTMLFrameBase_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLFrameBase */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLFrameBase;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f541-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLFrameBase : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLFrameBaseVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLFrameBase * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLFrameBase * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLFrameBase * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLFrameBase * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLFrameBase * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLFrameBase * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLFrameBase * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLFrameBaseVtbl;

    interface DispHTMLFrameBase
    {
        CONST_VTBL struct DispHTMLFrameBaseVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLFrameBase_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLFrameBase_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLFrameBase_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLFrameBase_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLFrameBase_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLFrameBase_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLFrameBase_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLFrameBase_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLFrameBase;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f312-98b5-11cf-bb82-00aa00bdce0b")
HTMLFrameBase;
#endif

#ifndef __IHTMLFrameElement_INTERFACE_DEFINED__
#define __IHTMLFrameElement_INTERFACE_DEFINED__

/* interface IHTMLFrameElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLFrameElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f313-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLFrameElement : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_borderColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_borderColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLFrameElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLFrameElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLFrameElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLFrameElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLFrameElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLFrameElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLFrameElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLFrameElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderColor )( 
            __RPC__in IHTMLFrameElement * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderColor )( 
            __RPC__in IHTMLFrameElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLFrameElementVtbl;

    interface IHTMLFrameElement
    {
        CONST_VTBL struct IHTMLFrameElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLFrameElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLFrameElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLFrameElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLFrameElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLFrameElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLFrameElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLFrameElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLFrameElement_put_borderColor(This,v)	\
    ( (This)->lpVtbl -> put_borderColor(This,v) ) 

#define IHTMLFrameElement_get_borderColor(This,p)	\
    ( (This)->lpVtbl -> get_borderColor(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLFrameElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLFrameElement2_INTERFACE_DEFINED__
#define __IHTMLFrameElement2_INTERFACE_DEFINED__

/* interface IHTMLFrameElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLFrameElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f7f5-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLFrameElement2 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_height( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_width( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLFrameElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLFrameElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLFrameElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLFrameElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLFrameElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLFrameElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLFrameElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLFrameElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_height )( 
            __RPC__in IHTMLFrameElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in IHTMLFrameElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_width )( 
            __RPC__in IHTMLFrameElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in IHTMLFrameElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLFrameElement2Vtbl;

    interface IHTMLFrameElement2
    {
        CONST_VTBL struct IHTMLFrameElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLFrameElement2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLFrameElement2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLFrameElement2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLFrameElement2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLFrameElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLFrameElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLFrameElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLFrameElement2_put_height(This,v)	\
    ( (This)->lpVtbl -> put_height(This,v) ) 

#define IHTMLFrameElement2_get_height(This,p)	\
    ( (This)->lpVtbl -> get_height(This,p) ) 

#define IHTMLFrameElement2_put_width(This,v)	\
    ( (This)->lpVtbl -> put_width(This,v) ) 

#define IHTMLFrameElement2_get_width(This,p)	\
    ( (This)->lpVtbl -> get_width(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLFrameElement2_INTERFACE_DEFINED__ */


#ifndef __IHTMLFrameElement3_INTERFACE_DEFINED__
#define __IHTMLFrameElement3_INTERFACE_DEFINED__

/* interface IHTMLFrameElement3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLFrameElement3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051042d-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLFrameElement3 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_contentDocument( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_src( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_src( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_longDesc( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_longDesc( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_frameBorder( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_frameBorder( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLFrameElement3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLFrameElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLFrameElement3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLFrameElement3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLFrameElement3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLFrameElement3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLFrameElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLFrameElement3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_contentDocument )( 
            __RPC__in IHTMLFrameElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_src )( 
            __RPC__in IHTMLFrameElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_src )( 
            __RPC__in IHTMLFrameElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_longDesc )( 
            __RPC__in IHTMLFrameElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_longDesc )( 
            __RPC__in IHTMLFrameElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_frameBorder )( 
            __RPC__in IHTMLFrameElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frameBorder )( 
            __RPC__in IHTMLFrameElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLFrameElement3Vtbl;

    interface IHTMLFrameElement3
    {
        CONST_VTBL struct IHTMLFrameElement3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLFrameElement3_INTERFACE_DEFINED__ */


#ifndef __DispHTMLFrameElement_DISPINTERFACE_DEFINED__
#define __DispHTMLFrameElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLFrameElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLFrameElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f513-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLFrameElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLFrameElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLFrameElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLFrameElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLFrameElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLFrameElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLFrameElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLFrameElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLFrameElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLFrameElementVtbl;

    interface DispHTMLFrameElement
    {
        CONST_VTBL struct DispHTMLFrameElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLFrameElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLFrameElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f314-98b5-11cf-bb82-00aa00bdce0b")
HTMLFrameElement;
#endif

#ifndef __IHTMLIFrameElement_INTERFACE_DEFINED__
#define __IHTMLIFrameElement_INTERFACE_DEFINED__

/* interface IHTMLIFrameElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLIFrameElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f315-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLIFrameElement : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_vspace( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_vspace( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_hspace( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_hspace( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_align( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_align( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLIFrameElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLIFrameElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLIFrameElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLIFrameElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLIFrameElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLIFrameElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLIFrameElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLIFrameElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_vspace )( 
            __RPC__in IHTMLIFrameElement * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_vspace )( 
            __RPC__in IHTMLIFrameElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_hspace )( 
            __RPC__in IHTMLIFrameElement * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hspace )( 
            __RPC__in IHTMLIFrameElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_align )( 
            __RPC__in IHTMLIFrameElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_align )( 
            __RPC__in IHTMLIFrameElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLIFrameElementVtbl;

    interface IHTMLIFrameElement
    {
        CONST_VTBL struct IHTMLIFrameElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLIFrameElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLIFrameElement2_INTERFACE_DEFINED__
#define __IHTMLIFrameElement2_INTERFACE_DEFINED__

/* interface IHTMLIFrameElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLIFrameElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4e6-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLIFrameElement2 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_height( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_width( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLIFrameElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLIFrameElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLIFrameElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLIFrameElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLIFrameElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLIFrameElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLIFrameElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLIFrameElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_height )( 
            __RPC__in IHTMLIFrameElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in IHTMLIFrameElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_width )( 
            __RPC__in IHTMLIFrameElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in IHTMLIFrameElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLIFrameElement2Vtbl;

    interface IHTMLIFrameElement2
    {
        CONST_VTBL struct IHTMLIFrameElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLIFrameElement2_INTERFACE_DEFINED__ */


#ifndef __IHTMLIFrameElement3_INTERFACE_DEFINED__
#define __IHTMLIFrameElement3_INTERFACE_DEFINED__

/* interface IHTMLIFrameElement3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLIFrameElement3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510433-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLIFrameElement3 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_contentDocument( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_src( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_src( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_longDesc( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_longDesc( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_frameBorder( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_frameBorder( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLIFrameElement3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLIFrameElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLIFrameElement3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLIFrameElement3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLIFrameElement3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLIFrameElement3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLIFrameElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLIFrameElement3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_contentDocument )( 
            __RPC__in IHTMLIFrameElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_src )( 
            __RPC__in IHTMLIFrameElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_src )( 
            __RPC__in IHTMLIFrameElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_longDesc )( 
            __RPC__in IHTMLIFrameElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_longDesc )( 
            __RPC__in IHTMLIFrameElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_frameBorder )( 
            __RPC__in IHTMLIFrameElement3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frameBorder )( 
            __RPC__in IHTMLIFrameElement3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLIFrameElement3Vtbl;

    interface IHTMLIFrameElement3
    {
        CONST_VTBL struct IHTMLIFrameElement3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLIFrameElement3_INTERFACE_DEFINED__ */


#ifndef __DispHTMLIFrame_DISPINTERFACE_DEFINED__
#define __DispHTMLIFrame_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLIFrame */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLIFrame;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f51b-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLIFrame : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLIFrameVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLIFrame * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLIFrame * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLIFrame * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLIFrame * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLIFrame * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLIFrame * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLIFrame * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLIFrameVtbl;

    interface DispHTMLIFrame
    {
        CONST_VTBL struct DispHTMLIFrameVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLIFrame_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLIFrame;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f316-98b5-11cf-bb82-00aa00bdce0b")
HTMLIFrame;
#endif

#ifndef __IHTMLDivPosition_INTERFACE_DEFINED__
#define __IHTMLDivPosition_INTERFACE_DEFINED__

/* interface IHTMLDivPosition */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDivPosition;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f212-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDivPosition : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_align( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_align( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDivPositionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDivPosition * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDivPosition * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDivPosition * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDivPosition * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDivPosition * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDivPosition * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDivPosition * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_align )( 
            __RPC__in IHTMLDivPosition * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_align )( 
            __RPC__in IHTMLDivPosition * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLDivPositionVtbl;

    interface IHTMLDivPosition
    {
        CONST_VTBL struct IHTMLDivPositionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLDivPosition_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLDivPosition_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLDivPosition_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLDivPosition_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLDivPosition_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLDivPosition_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLDivPosition_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLDivPosition_put_align(This,v)	\
    ( (This)->lpVtbl -> put_align(This,v) ) 

#define IHTMLDivPosition_get_align(This,p)	\
    ( (This)->lpVtbl -> get_align(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDivPosition_INTERFACE_DEFINED__ */


#ifndef __IHTMLFieldSetElement_INTERFACE_DEFINED__
#define __IHTMLFieldSetElement_INTERFACE_DEFINED__

/* interface IHTMLFieldSetElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLFieldSetElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f3e7-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLFieldSetElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_align( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_align( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLFieldSetElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLFieldSetElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLFieldSetElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLFieldSetElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLFieldSetElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLFieldSetElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLFieldSetElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLFieldSetElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_align )( 
            __RPC__in IHTMLFieldSetElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_align )( 
            __RPC__in IHTMLFieldSetElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLFieldSetElementVtbl;

    interface IHTMLFieldSetElement
    {
        CONST_VTBL struct IHTMLFieldSetElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLFieldSetElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLFieldSetElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLFieldSetElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLFieldSetElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLFieldSetElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLFieldSetElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLFieldSetElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLFieldSetElement_put_align(This,v)	\
    ( (This)->lpVtbl -> put_align(This,v) ) 

#define IHTMLFieldSetElement_get_align(This,p)	\
    ( (This)->lpVtbl -> get_align(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLFieldSetElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLFieldSetElement2_INTERFACE_DEFINED__
#define __IHTMLFieldSetElement2_INTERFACE_DEFINED__

/* interface IHTMLFieldSetElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLFieldSetElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f833-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLFieldSetElement2 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_form( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLFieldSetElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLFieldSetElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLFieldSetElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLFieldSetElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLFieldSetElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLFieldSetElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLFieldSetElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLFieldSetElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_form )( 
            __RPC__in IHTMLFieldSetElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p);
        
        END_INTERFACE
    } IHTMLFieldSetElement2Vtbl;

    interface IHTMLFieldSetElement2
    {
        CONST_VTBL struct IHTMLFieldSetElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLFieldSetElement2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLFieldSetElement2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLFieldSetElement2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLFieldSetElement2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLFieldSetElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLFieldSetElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLFieldSetElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLFieldSetElement2_get_form(This,p)	\
    ( (This)->lpVtbl -> get_form(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLFieldSetElement2_INTERFACE_DEFINED__ */


#ifndef __IHTMLLegendElement_INTERFACE_DEFINED__
#define __IHTMLLegendElement_INTERFACE_DEFINED__

/* interface IHTMLLegendElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLLegendElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f3ea-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLLegendElement : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_align( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_align( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLLegendElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLLegendElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLLegendElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLLegendElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLLegendElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLLegendElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLLegendElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLLegendElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_align )( 
            __RPC__in IHTMLLegendElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_align )( 
            __RPC__in IHTMLLegendElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLLegendElementVtbl;

    interface IHTMLLegendElement
    {
        CONST_VTBL struct IHTMLLegendElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLLegendElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLLegendElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLLegendElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLLegendElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLLegendElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLLegendElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLLegendElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLLegendElement_put_align(This,v)	\
    ( (This)->lpVtbl -> put_align(This,v) ) 

#define IHTMLLegendElement_get_align(This,p)	\
    ( (This)->lpVtbl -> get_align(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLLegendElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLLegendElement2_INTERFACE_DEFINED__
#define __IHTMLLegendElement2_INTERFACE_DEFINED__

/* interface IHTMLLegendElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLLegendElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f834-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLLegendElement2 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_form( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLLegendElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLLegendElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLLegendElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLLegendElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLLegendElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLLegendElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLLegendElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLLegendElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_form )( 
            __RPC__in IHTMLLegendElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p);
        
        END_INTERFACE
    } IHTMLLegendElement2Vtbl;

    interface IHTMLLegendElement2
    {
        CONST_VTBL struct IHTMLLegendElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLLegendElement2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLLegendElement2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLLegendElement2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLLegendElement2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLLegendElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLLegendElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLLegendElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLLegendElement2_get_form(This,p)	\
    ( (This)->lpVtbl -> get_form(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLLegendElement2_INTERFACE_DEFINED__ */


#ifndef __DispHTMLDivPosition_DISPINTERFACE_DEFINED__
#define __DispHTMLDivPosition_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLDivPosition */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLDivPosition;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f50f-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLDivPosition : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLDivPositionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLDivPosition * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLDivPosition * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLDivPosition * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLDivPosition * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLDivPosition * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLDivPosition * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLDivPosition * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLDivPositionVtbl;

    interface DispHTMLDivPosition
    {
        CONST_VTBL struct DispHTMLDivPositionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLDivPosition_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLDivPosition_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLDivPosition_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLDivPosition_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLDivPosition_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLDivPosition_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLDivPosition_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLDivPosition_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLDivPosition;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f249-98b5-11cf-bb82-00aa00bdce0b")
HTMLDivPosition;
#endif

#ifndef __DispHTMLFieldSetElement_DISPINTERFACE_DEFINED__
#define __DispHTMLFieldSetElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLFieldSetElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLFieldSetElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f545-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLFieldSetElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLFieldSetElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLFieldSetElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLFieldSetElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLFieldSetElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLFieldSetElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLFieldSetElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLFieldSetElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLFieldSetElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLFieldSetElementVtbl;

    interface DispHTMLFieldSetElement
    {
        CONST_VTBL struct DispHTMLFieldSetElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLFieldSetElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLFieldSetElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLFieldSetElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLFieldSetElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLFieldSetElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLFieldSetElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLFieldSetElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLFieldSetElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLFieldSetElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f3e8-98b5-11cf-bb82-00aa00bdce0b")
HTMLFieldSetElement;
#endif

#ifndef __DispHTMLLegendElement_DISPINTERFACE_DEFINED__
#define __DispHTMLLegendElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLLegendElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLLegendElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f546-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLLegendElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLLegendElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLLegendElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLLegendElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLLegendElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLLegendElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLLegendElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLLegendElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLLegendElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLLegendElementVtbl;

    interface DispHTMLLegendElement
    {
        CONST_VTBL struct DispHTMLLegendElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLLegendElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLLegendElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLLegendElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLLegendElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLLegendElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLLegendElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLLegendElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLLegendElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLLegendElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f3e9-98b5-11cf-bb82-00aa00bdce0b")
HTMLLegendElement;
#endif

#ifndef __IHTMLSpanFlow_INTERFACE_DEFINED__
#define __IHTMLSpanFlow_INTERFACE_DEFINED__

/* interface IHTMLSpanFlow */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLSpanFlow;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f3e5-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLSpanFlow : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_align( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_align( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLSpanFlowVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLSpanFlow * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLSpanFlow * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLSpanFlow * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLSpanFlow * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLSpanFlow * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLSpanFlow * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLSpanFlow * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_align )( 
            __RPC__in IHTMLSpanFlow * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_align )( 
            __RPC__in IHTMLSpanFlow * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLSpanFlowVtbl;

    interface IHTMLSpanFlow
    {
        CONST_VTBL struct IHTMLSpanFlowVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLSpanFlow_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLSpanFlow_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLSpanFlow_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLSpanFlow_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLSpanFlow_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLSpanFlow_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLSpanFlow_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLSpanFlow_put_align(This,v)	\
    ( (This)->lpVtbl -> put_align(This,v) ) 

#define IHTMLSpanFlow_get_align(This,p)	\
    ( (This)->lpVtbl -> get_align(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLSpanFlow_INTERFACE_DEFINED__ */


#ifndef __DispHTMLSpanFlow_DISPINTERFACE_DEFINED__
#define __DispHTMLSpanFlow_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLSpanFlow */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLSpanFlow;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f544-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLSpanFlow : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLSpanFlowVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLSpanFlow * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLSpanFlow * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLSpanFlow * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLSpanFlow * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLSpanFlow * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLSpanFlow * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLSpanFlow * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLSpanFlowVtbl;

    interface DispHTMLSpanFlow
    {
        CONST_VTBL struct DispHTMLSpanFlowVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLSpanFlow_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLSpanFlow_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLSpanFlow_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLSpanFlow_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLSpanFlow_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLSpanFlow_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLSpanFlow_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLSpanFlow_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLSpanFlow;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f3e6-98b5-11cf-bb82-00aa00bdce0b")
HTMLSpanFlow;
#endif

#ifndef __IHTMLFrameSetElement_INTERFACE_DEFINED__
#define __IHTMLFrameSetElement_INTERFACE_DEFINED__

/* interface IHTMLFrameSetElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLFrameSetElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f319-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLFrameSetElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_rows( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_rows( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_cols( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_cols( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_border( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_border( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_borderColor( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_borderColor( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_frameBorder( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_frameBorder( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_frameSpacing( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_frameSpacing( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_name( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onload( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onload( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onunload( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onunload( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onbeforeunload( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onbeforeunload( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLFrameSetElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLFrameSetElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLFrameSetElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLFrameSetElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLFrameSetElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLFrameSetElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLFrameSetElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLFrameSetElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_rows )( 
            __RPC__in IHTMLFrameSetElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rows )( 
            __RPC__in IHTMLFrameSetElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_cols )( 
            __RPC__in IHTMLFrameSetElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cols )( 
            __RPC__in IHTMLFrameSetElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_border )( 
            __RPC__in IHTMLFrameSetElement * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_border )( 
            __RPC__in IHTMLFrameSetElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderColor )( 
            __RPC__in IHTMLFrameSetElement * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderColor )( 
            __RPC__in IHTMLFrameSetElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_frameBorder )( 
            __RPC__in IHTMLFrameSetElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frameBorder )( 
            __RPC__in IHTMLFrameSetElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_frameSpacing )( 
            __RPC__in IHTMLFrameSetElement * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frameSpacing )( 
            __RPC__in IHTMLFrameSetElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_name )( 
            __RPC__in IHTMLFrameSetElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLFrameSetElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onload )( 
            __RPC__in IHTMLFrameSetElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onload )( 
            __RPC__in IHTMLFrameSetElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onunload )( 
            __RPC__in IHTMLFrameSetElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onunload )( 
            __RPC__in IHTMLFrameSetElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onbeforeunload )( 
            __RPC__in IHTMLFrameSetElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onbeforeunload )( 
            __RPC__in IHTMLFrameSetElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLFrameSetElementVtbl;

    interface IHTMLFrameSetElement
    {
        CONST_VTBL struct IHTMLFrameSetElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLFrameSetElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLFrameSetElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLFrameSetElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLFrameSetElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLFrameSetElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLFrameSetElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLFrameSetElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLFrameSetElement_put_rows(This,v)	\
    ( (This)->lpVtbl -> put_rows(This,v) ) 

#define IHTMLFrameSetElement_get_rows(This,p)	\
    ( (This)->lpVtbl -> get_rows(This,p) ) 

#define IHTMLFrameSetElement_put_cols(This,v)	\
    ( (This)->lpVtbl -> put_cols(This,v) ) 

#define IHTMLFrameSetElement_get_cols(This,p)	\
    ( (This)->lpVtbl -> get_cols(This,p) ) 

#define IHTMLFrameSetElement_put_border(This,v)	\
    ( (This)->lpVtbl -> put_border(This,v) ) 

#define IHTMLFrameSetElement_get_border(This,p)	\
    ( (This)->lpVtbl -> get_border(This,p) ) 

#define IHTMLFrameSetElement_put_borderColor(This,v)	\
    ( (This)->lpVtbl -> put_borderColor(This,v) ) 

#define IHTMLFrameSetElement_get_borderColor(This,p)	\
    ( (This)->lpVtbl -> get_borderColor(This,p) ) 

#define IHTMLFrameSetElement_put_frameBorder(This,v)	\
    ( (This)->lpVtbl -> put_frameBorder(This,v) ) 

#define IHTMLFrameSetElement_get_frameBorder(This,p)	\
    ( (This)->lpVtbl -> get_frameBorder(This,p) ) 

#define IHTMLFrameSetElement_put_frameSpacing(This,v)	\
    ( (This)->lpVtbl -> put_frameSpacing(This,v) ) 

#define IHTMLFrameSetElement_get_frameSpacing(This,p)	\
    ( (This)->lpVtbl -> get_frameSpacing(This,p) ) 

#define IHTMLFrameSetElement_put_name(This,v)	\
    ( (This)->lpVtbl -> put_name(This,v) ) 

#define IHTMLFrameSetElement_get_name(This,p)	\
    ( (This)->lpVtbl -> get_name(This,p) ) 

#define IHTMLFrameSetElement_put_onload(This,v)	\
    ( (This)->lpVtbl -> put_onload(This,v) ) 

#define IHTMLFrameSetElement_get_onload(This,p)	\
    ( (This)->lpVtbl -> get_onload(This,p) ) 

#define IHTMLFrameSetElement_put_onunload(This,v)	\
    ( (This)->lpVtbl -> put_onunload(This,v) ) 

#define IHTMLFrameSetElement_get_onunload(This,p)	\
    ( (This)->lpVtbl -> get_onunload(This,p) ) 

#define IHTMLFrameSetElement_put_onbeforeunload(This,v)	\
    ( (This)->lpVtbl -> put_onbeforeunload(This,v) ) 

#define IHTMLFrameSetElement_get_onbeforeunload(This,p)	\
    ( (This)->lpVtbl -> get_onbeforeunload(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLFrameSetElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLFrameSetElement2_INTERFACE_DEFINED__
#define __IHTMLFrameSetElement2_INTERFACE_DEFINED__

/* interface IHTMLFrameSetElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLFrameSetElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f5c6-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLFrameSetElement2 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onbeforeprint( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onbeforeprint( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onafterprint( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onafterprint( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLFrameSetElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLFrameSetElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLFrameSetElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLFrameSetElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLFrameSetElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLFrameSetElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLFrameSetElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLFrameSetElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onbeforeprint )( 
            __RPC__in IHTMLFrameSetElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onbeforeprint )( 
            __RPC__in IHTMLFrameSetElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onafterprint )( 
            __RPC__in IHTMLFrameSetElement2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onafterprint )( 
            __RPC__in IHTMLFrameSetElement2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLFrameSetElement2Vtbl;

    interface IHTMLFrameSetElement2
    {
        CONST_VTBL struct IHTMLFrameSetElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLFrameSetElement2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLFrameSetElement2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLFrameSetElement2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLFrameSetElement2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLFrameSetElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLFrameSetElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLFrameSetElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLFrameSetElement2_put_onbeforeprint(This,v)	\
    ( (This)->lpVtbl -> put_onbeforeprint(This,v) ) 

#define IHTMLFrameSetElement2_get_onbeforeprint(This,p)	\
    ( (This)->lpVtbl -> get_onbeforeprint(This,p) ) 

#define IHTMLFrameSetElement2_put_onafterprint(This,v)	\
    ( (This)->lpVtbl -> put_onafterprint(This,v) ) 

#define IHTMLFrameSetElement2_get_onafterprint(This,p)	\
    ( (This)->lpVtbl -> get_onafterprint(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLFrameSetElement2_INTERFACE_DEFINED__ */


#ifndef __IHTMLFrameSetElement3_INTERFACE_DEFINED__
#define __IHTMLFrameSetElement3_INTERFACE_DEFINED__

/* interface IHTMLFrameSetElement3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLFrameSetElement3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510796-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLFrameSetElement3 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onhashchange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onhashchange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onmessage( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onmessage( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onoffline( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onoffline( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ononline( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ononline( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onstorage( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onstorage( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLFrameSetElement3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLFrameSetElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLFrameSetElement3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLFrameSetElement3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLFrameSetElement3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLFrameSetElement3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLFrameSetElement3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLFrameSetElement3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onhashchange )( 
            __RPC__in IHTMLFrameSetElement3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onhashchange )( 
            __RPC__in IHTMLFrameSetElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onmessage )( 
            __RPC__in IHTMLFrameSetElement3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onmessage )( 
            __RPC__in IHTMLFrameSetElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onoffline )( 
            __RPC__in IHTMLFrameSetElement3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onoffline )( 
            __RPC__in IHTMLFrameSetElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ononline )( 
            __RPC__in IHTMLFrameSetElement3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ononline )( 
            __RPC__in IHTMLFrameSetElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onstorage )( 
            __RPC__in IHTMLFrameSetElement3 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onstorage )( 
            __RPC__in IHTMLFrameSetElement3 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLFrameSetElement3Vtbl;

    interface IHTMLFrameSetElement3
    {
        CONST_VTBL struct IHTMLFrameSetElement3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLFrameSetElement3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLFrameSetElement3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLFrameSetElement3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLFrameSetElement3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLFrameSetElement3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLFrameSetElement3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLFrameSetElement3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLFrameSetElement3_put_onhashchange(This,v)	\
    ( (This)->lpVtbl -> put_onhashchange(This,v) ) 

#define IHTMLFrameSetElement3_get_onhashchange(This,p)	\
    ( (This)->lpVtbl -> get_onhashchange(This,p) ) 

#define IHTMLFrameSetElement3_put_onmessage(This,v)	\
    ( (This)->lpVtbl -> put_onmessage(This,v) ) 

#define IHTMLFrameSetElement3_get_onmessage(This,p)	\
    ( (This)->lpVtbl -> get_onmessage(This,p) ) 

#define IHTMLFrameSetElement3_put_onoffline(This,v)	\
    ( (This)->lpVtbl -> put_onoffline(This,v) ) 

#define IHTMLFrameSetElement3_get_onoffline(This,p)	\
    ( (This)->lpVtbl -> get_onoffline(This,p) ) 

#define IHTMLFrameSetElement3_put_ononline(This,v)	\
    ( (This)->lpVtbl -> put_ononline(This,v) ) 

#define IHTMLFrameSetElement3_get_ononline(This,p)	\
    ( (This)->lpVtbl -> get_ononline(This,p) ) 

#define IHTMLFrameSetElement3_put_onstorage(This,v)	\
    ( (This)->lpVtbl -> put_onstorage(This,v) ) 

#define IHTMLFrameSetElement3_get_onstorage(This,p)	\
    ( (This)->lpVtbl -> get_onstorage(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLFrameSetElement3_INTERFACE_DEFINED__ */


#ifndef __DispHTMLFrameSetSite_DISPINTERFACE_DEFINED__
#define __DispHTMLFrameSetSite_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLFrameSetSite */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLFrameSetSite;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f514-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLFrameSetSite : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLFrameSetSiteVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLFrameSetSite * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLFrameSetSite * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLFrameSetSite * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLFrameSetSite * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLFrameSetSite * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLFrameSetSite * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLFrameSetSite * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLFrameSetSiteVtbl;

    interface DispHTMLFrameSetSite
    {
        CONST_VTBL struct DispHTMLFrameSetSiteVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLFrameSetSite_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLFrameSetSite_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLFrameSetSite_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLFrameSetSite_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLFrameSetSite_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLFrameSetSite_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLFrameSetSite_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLFrameSetSite_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLFrameSetSite;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f31A-98b5-11cf-bb82-00aa00bdce0b")
HTMLFrameSetSite;
#endif

#ifndef __IHTMLBGsound_INTERFACE_DEFINED__
#define __IHTMLBGsound_INTERFACE_DEFINED__

/* interface IHTMLBGsound */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLBGsound;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f369-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLBGsound : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_src( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_src( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_loop( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_loop( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_volume( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_volume( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_balance( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_balance( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLBGsoundVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLBGsound * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLBGsound * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLBGsound * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLBGsound * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLBGsound * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLBGsound * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLBGsound * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_src )( 
            __RPC__in IHTMLBGsound * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_src )( 
            __RPC__in IHTMLBGsound * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_loop )( 
            __RPC__in IHTMLBGsound * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_loop )( 
            __RPC__in IHTMLBGsound * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_volume )( 
            __RPC__in IHTMLBGsound * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_volume )( 
            __RPC__in IHTMLBGsound * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_balance )( 
            __RPC__in IHTMLBGsound * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_balance )( 
            __RPC__in IHTMLBGsound * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLBGsoundVtbl;

    interface IHTMLBGsound
    {
        CONST_VTBL struct IHTMLBGsoundVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLBGsound_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLBGsound_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLBGsound_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLBGsound_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLBGsound_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLBGsound_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLBGsound_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLBGsound_put_src(This,v)	\
    ( (This)->lpVtbl -> put_src(This,v) ) 

#define IHTMLBGsound_get_src(This,p)	\
    ( (This)->lpVtbl -> get_src(This,p) ) 

#define IHTMLBGsound_put_loop(This,v)	\
    ( (This)->lpVtbl -> put_loop(This,v) ) 

#define IHTMLBGsound_get_loop(This,p)	\
    ( (This)->lpVtbl -> get_loop(This,p) ) 

#define IHTMLBGsound_put_volume(This,v)	\
    ( (This)->lpVtbl -> put_volume(This,v) ) 

#define IHTMLBGsound_get_volume(This,p)	\
    ( (This)->lpVtbl -> get_volume(This,p) ) 

#define IHTMLBGsound_put_balance(This,v)	\
    ( (This)->lpVtbl -> put_balance(This,v) ) 

#define IHTMLBGsound_get_balance(This,p)	\
    ( (This)->lpVtbl -> get_balance(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLBGsound_INTERFACE_DEFINED__ */


#ifndef __DispHTMLBGsound_DISPINTERFACE_DEFINED__
#define __DispHTMLBGsound_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLBGsound */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLBGsound;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f53c-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLBGsound : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLBGsoundVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLBGsound * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLBGsound * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLBGsound * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLBGsound * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLBGsound * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLBGsound * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLBGsound * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLBGsoundVtbl;

    interface DispHTMLBGsound
    {
        CONST_VTBL struct DispHTMLBGsoundVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLBGsound_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLBGsound_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLBGsound_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLBGsound_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLBGsound_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLBGsound_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLBGsound_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLBGsound_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLBGsound;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f370-98b5-11cf-bb82-00aa00bdce0b")
HTMLBGsound;
#endif

#ifndef __IHTMLFontNamesCollection_INTERFACE_DEFINED__
#define __IHTMLFontNamesCollection_INTERFACE_DEFINED__

/* interface IHTMLFontNamesCollection */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLFontNamesCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f376-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLFontNamesCollection : public IDispatch
    {
    public:
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__newEnum( 
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pBstr) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLFontNamesCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLFontNamesCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLFontNamesCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLFontNamesCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLFontNamesCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLFontNamesCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLFontNamesCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLFontNamesCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLFontNamesCollection * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__newEnum )( 
            __RPC__in IHTMLFontNamesCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLFontNamesCollection * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pBstr);
        
        END_INTERFACE
    } IHTMLFontNamesCollectionVtbl;

    interface IHTMLFontNamesCollection
    {
        CONST_VTBL struct IHTMLFontNamesCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLFontNamesCollection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLFontNamesCollection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLFontNamesCollection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLFontNamesCollection_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLFontNamesCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLFontNamesCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLFontNamesCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLFontNamesCollection_get_length(This,p)	\
    ( (This)->lpVtbl -> get_length(This,p) ) 

#define IHTMLFontNamesCollection_get__newEnum(This,p)	\
    ( (This)->lpVtbl -> get__newEnum(This,p) ) 

#define IHTMLFontNamesCollection_item(This,index,pBstr)	\
    ( (This)->lpVtbl -> item(This,index,pBstr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLFontNamesCollection_INTERFACE_DEFINED__ */


#ifndef __IHTMLFontSizesCollection_INTERFACE_DEFINED__
#define __IHTMLFontSizesCollection_INTERFACE_DEFINED__

/* interface IHTMLFontSizesCollection */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLFontSizesCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f377-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLFontSizesCollection : public IDispatch
    {
    public:
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__newEnum( 
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_forFont( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__out long *plSize) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLFontSizesCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLFontSizesCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLFontSizesCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLFontSizesCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLFontSizesCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLFontSizesCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLFontSizesCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLFontSizesCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLFontSizesCollection * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__newEnum )( 
            __RPC__in IHTMLFontSizesCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_forFont )( 
            __RPC__in IHTMLFontSizesCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLFontSizesCollection * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__out long *plSize);
        
        END_INTERFACE
    } IHTMLFontSizesCollectionVtbl;

    interface IHTMLFontSizesCollection
    {
        CONST_VTBL struct IHTMLFontSizesCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLFontSizesCollection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLFontSizesCollection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLFontSizesCollection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLFontSizesCollection_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLFontSizesCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLFontSizesCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLFontSizesCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLFontSizesCollection_get_length(This,p)	\
    ( (This)->lpVtbl -> get_length(This,p) ) 

#define IHTMLFontSizesCollection_get__newEnum(This,p)	\
    ( (This)->lpVtbl -> get__newEnum(This,p) ) 

#define IHTMLFontSizesCollection_get_forFont(This,p)	\
    ( (This)->lpVtbl -> get_forFont(This,p) ) 

#define IHTMLFontSizesCollection_item(This,index,plSize)	\
    ( (This)->lpVtbl -> item(This,index,plSize) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLFontSizesCollection_INTERFACE_DEFINED__ */


#ifndef __IHTMLOptionsHolder_INTERFACE_DEFINED__
#define __IHTMLOptionsHolder_INTERFACE_DEFINED__

/* interface IHTMLOptionsHolder */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLOptionsHolder;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f378-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLOptionsHolder : public IDispatch
    {
    public:
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_document( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDocument2 **p) = 0;
        
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_fonts( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFontNamesCollection **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_execArg( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_execArg( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_errorLine( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_errorLine( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_errorCharacter( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_errorCharacter( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_errorCode( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_errorCode( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_errorMessage( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_errorMessage( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_errorDebug( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_errorDebug( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_unsecuredWindowOfDocument( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLWindow2 **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_findText( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_findText( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_anythingAfterFrameset( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_anythingAfterFrameset( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE sizes( 
            /* [in] */ __RPC__in BSTR fontName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFontSizesCollection **pSizesCollection) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE openfiledlg( 
            /* [in][optional] */ VARIANT initFile,
            /* [in][optional] */ VARIANT initDir,
            /* [in][optional] */ VARIANT filter,
            /* [in][optional] */ VARIANT title,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pathName) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE savefiledlg( 
            /* [in][optional] */ VARIANT initFile,
            /* [in][optional] */ VARIANT initDir,
            /* [in][optional] */ VARIANT filter,
            /* [in][optional] */ VARIANT title,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pathName) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE choosecolordlg( 
            /* [in][optional] */ VARIANT initColor,
            /* [out][retval] */ __RPC__out long *rgbColor) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE showSecurityInfo( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE isApartmentModel( 
            /* [in] */ __RPC__in_opt IHTMLObjectElement *object,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *fApartment) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getCharset( 
            /* [in] */ __RPC__in BSTR fontName,
            /* [out][retval] */ __RPC__out long *charset) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_secureConnectionInfo( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLOptionsHolderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLOptionsHolder * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLOptionsHolder * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLOptionsHolder * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_document )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDocument2 **p);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fonts )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFontNamesCollection **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_execArg )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_execArg )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_errorLine )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorLine )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_errorCharacter )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCharacter )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_errorCode )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_errorMessage )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorMessage )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_errorDebug )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorDebug )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unsecuredWindowOfDocument )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLWindow2 **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_findText )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_findText )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_anythingAfterFrameset )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_anythingAfterFrameset )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *sizes )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [in] */ __RPC__in BSTR fontName,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFontSizesCollection **pSizesCollection);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *openfiledlg )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [in][optional] */ VARIANT initFile,
            /* [in][optional] */ VARIANT initDir,
            /* [in][optional] */ VARIANT filter,
            /* [in][optional] */ VARIANT title,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pathName);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *savefiledlg )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [in][optional] */ VARIANT initFile,
            /* [in][optional] */ VARIANT initDir,
            /* [in][optional] */ VARIANT filter,
            /* [in][optional] */ VARIANT title,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pathName);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *choosecolordlg )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [in][optional] */ VARIANT initColor,
            /* [out][retval] */ __RPC__out long *rgbColor);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *showSecurityInfo )( 
            __RPC__in IHTMLOptionsHolder * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *isApartmentModel )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [in] */ __RPC__in_opt IHTMLObjectElement *object,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *fApartment);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getCharset )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [in] */ __RPC__in BSTR fontName,
            /* [out][retval] */ __RPC__out long *charset);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_secureConnectionInfo )( 
            __RPC__in IHTMLOptionsHolder * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLOptionsHolderVtbl;

    interface IHTMLOptionsHolder
    {
        CONST_VTBL struct IHTMLOptionsHolderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLOptionsHolder_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLOptionsHolder_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLOptionsHolder_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLOptionsHolder_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLOptionsHolder_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLOptionsHolder_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLOptionsHolder_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLOptionsHolder_get_document(This,p)	\
    ( (This)->lpVtbl -> get_document(This,p) ) 

#define IHTMLOptionsHolder_get_fonts(This,p)	\
    ( (This)->lpVtbl -> get_fonts(This,p) ) 

#define IHTMLOptionsHolder_put_execArg(This,v)	\
    ( (This)->lpVtbl -> put_execArg(This,v) ) 

#define IHTMLOptionsHolder_get_execArg(This,p)	\
    ( (This)->lpVtbl -> get_execArg(This,p) ) 

#define IHTMLOptionsHolder_put_errorLine(This,v)	\
    ( (This)->lpVtbl -> put_errorLine(This,v) ) 

#define IHTMLOptionsHolder_get_errorLine(This,p)	\
    ( (This)->lpVtbl -> get_errorLine(This,p) ) 

#define IHTMLOptionsHolder_put_errorCharacter(This,v)	\
    ( (This)->lpVtbl -> put_errorCharacter(This,v) ) 

#define IHTMLOptionsHolder_get_errorCharacter(This,p)	\
    ( (This)->lpVtbl -> get_errorCharacter(This,p) ) 

#define IHTMLOptionsHolder_put_errorCode(This,v)	\
    ( (This)->lpVtbl -> put_errorCode(This,v) ) 

#define IHTMLOptionsHolder_get_errorCode(This,p)	\
    ( (This)->lpVtbl -> get_errorCode(This,p) ) 

#define IHTMLOptionsHolder_put_errorMessage(This,v)	\
    ( (This)->lpVtbl -> put_errorMessage(This,v) ) 

#define IHTMLOptionsHolder_get_errorMessage(This,p)	\
    ( (This)->lpVtbl -> get_errorMessage(This,p) ) 

#define IHTMLOptionsHolder_put_errorDebug(This,v)	\
    ( (This)->lpVtbl -> put_errorDebug(This,v) ) 

#define IHTMLOptionsHolder_get_errorDebug(This,p)	\
    ( (This)->lpVtbl -> get_errorDebug(This,p) ) 

#define IHTMLOptionsHolder_get_unsecuredWindowOfDocument(This,p)	\
    ( (This)->lpVtbl -> get_unsecuredWindowOfDocument(This,p) ) 

#define IHTMLOptionsHolder_put_findText(This,v)	\
    ( (This)->lpVtbl -> put_findText(This,v) ) 

#define IHTMLOptionsHolder_get_findText(This,p)	\
    ( (This)->lpVtbl -> get_findText(This,p) ) 

#define IHTMLOptionsHolder_put_anythingAfterFrameset(This,v)	\
    ( (This)->lpVtbl -> put_anythingAfterFrameset(This,v) ) 

#define IHTMLOptionsHolder_get_anythingAfterFrameset(This,p)	\
    ( (This)->lpVtbl -> get_anythingAfterFrameset(This,p) ) 

#define IHTMLOptionsHolder_sizes(This,fontName,pSizesCollection)	\
    ( (This)->lpVtbl -> sizes(This,fontName,pSizesCollection) ) 

#define IHTMLOptionsHolder_openfiledlg(This,initFile,initDir,filter,title,pathName)	\
    ( (This)->lpVtbl -> openfiledlg(This,initFile,initDir,filter,title,pathName) ) 

#define IHTMLOptionsHolder_savefiledlg(This,initFile,initDir,filter,title,pathName)	\
    ( (This)->lpVtbl -> savefiledlg(This,initFile,initDir,filter,title,pathName) ) 

#define IHTMLOptionsHolder_choosecolordlg(This,initColor,rgbColor)	\
    ( (This)->lpVtbl -> choosecolordlg(This,initColor,rgbColor) ) 

#define IHTMLOptionsHolder_showSecurityInfo(This)	\
    ( (This)->lpVtbl -> showSecurityInfo(This) ) 

#define IHTMLOptionsHolder_isApartmentModel(This,object,fApartment)	\
    ( (This)->lpVtbl -> isApartmentModel(This,object,fApartment) ) 

#define IHTMLOptionsHolder_getCharset(This,fontName,charset)	\
    ( (This)->lpVtbl -> getCharset(This,fontName,charset) ) 

#define IHTMLOptionsHolder_get_secureConnectionInfo(This,p)	\
    ( (This)->lpVtbl -> get_secureConnectionInfo(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLOptionsHolder_INTERFACE_DEFINED__ */


#ifndef __HTMLStyleElementEvents2_DISPINTERFACE_DEFINED__
#define __HTMLStyleElementEvents2_DISPINTERFACE_DEFINED__

/* dispinterface HTMLStyleElementEvents2 */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLStyleElementEvents2;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f615-98b5-11cf-bb82-00aa00bdce0b")
    HTMLStyleElementEvents2 : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLStyleElementEvents2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLStyleElementEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLStyleElementEvents2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLStyleElementEvents2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLStyleElementEvents2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLStyleElementEvents2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLStyleElementEvents2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLStyleElementEvents2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLStyleElementEvents2Vtbl;

    interface HTMLStyleElementEvents2
    {
        CONST_VTBL struct HTMLStyleElementEvents2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLStyleElementEvents2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLStyleElementEvents2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLStyleElementEvents2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLStyleElementEvents2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLStyleElementEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLStyleElementEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLStyleElementEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLStyleElementEvents2_DISPINTERFACE_DEFINED__ */


#ifndef __HTMLStyleElementEvents_DISPINTERFACE_DEFINED__
#define __HTMLStyleElementEvents_DISPINTERFACE_DEFINED__

/* dispinterface HTMLStyleElementEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLStyleElementEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f3cb-98b5-11cf-bb82-00aa00bdce0b")
    HTMLStyleElementEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLStyleElementEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLStyleElementEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLStyleElementEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLStyleElementEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLStyleElementEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLStyleElementEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLStyleElementEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLStyleElementEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLStyleElementEventsVtbl;

    interface HTMLStyleElementEvents
    {
        CONST_VTBL struct HTMLStyleElementEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLStyleElementEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLStyleElementEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLStyleElementEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLStyleElementEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLStyleElementEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLStyleElementEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLStyleElementEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLStyleElementEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IHTMLStyleElement_INTERFACE_DEFINED__
#define __IHTMLStyleElement_INTERFACE_DEFINED__

/* interface IHTMLStyleElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyleElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f375-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyleElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_type( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_readyState( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onreadystatechange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onreadystatechange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onload( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onload( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onerror( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onerror( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_styleSheet( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheet **p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_disabled( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_disabled( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_media( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_media( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyleElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyleElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyleElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyleElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyleElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyleElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyleElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyleElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_type )( 
            __RPC__in IHTMLStyleElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLStyleElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_readyState )( 
            __RPC__in IHTMLStyleElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onreadystatechange )( 
            __RPC__in IHTMLStyleElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onreadystatechange )( 
            __RPC__in IHTMLStyleElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onload )( 
            __RPC__in IHTMLStyleElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onload )( 
            __RPC__in IHTMLStyleElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onerror )( 
            __RPC__in IHTMLStyleElement * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onerror )( 
            __RPC__in IHTMLStyleElement * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_styleSheet )( 
            __RPC__in IHTMLStyleElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheet **p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_disabled )( 
            __RPC__in IHTMLStyleElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_disabled )( 
            __RPC__in IHTMLStyleElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_media )( 
            __RPC__in IHTMLStyleElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_media )( 
            __RPC__in IHTMLStyleElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLStyleElementVtbl;

    interface IHTMLStyleElement
    {
        CONST_VTBL struct IHTMLStyleElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyleElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLStyleElement2_INTERFACE_DEFINED__
#define __IHTMLStyleElement2_INTERFACE_DEFINED__

/* interface IHTMLStyleElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyleElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051072a-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyleElement2 : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_sheet( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheet **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyleElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyleElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyleElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyleElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyleElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyleElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyleElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyleElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sheet )( 
            __RPC__in IHTMLStyleElement2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheet **p);
        
        END_INTERFACE
    } IHTMLStyleElement2Vtbl;

    interface IHTMLStyleElement2
    {
        CONST_VTBL struct IHTMLStyleElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLStyleElement2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLStyleElement2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLStyleElement2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLStyleElement2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLStyleElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLStyleElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLStyleElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLStyleElement2_get_sheet(This,p)	\
    ( (This)->lpVtbl -> get_sheet(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyleElement2_INTERFACE_DEFINED__ */


#ifndef __DispHTMLStyleElement_DISPINTERFACE_DEFINED__
#define __DispHTMLStyleElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLStyleElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLStyleElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f511-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLStyleElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLStyleElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLStyleElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLStyleElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLStyleElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLStyleElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLStyleElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLStyleElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLStyleElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLStyleElementVtbl;

    interface DispHTMLStyleElement
    {
        CONST_VTBL struct DispHTMLStyleElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLStyleElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLStyleElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f37d-98b5-11cf-bb82-00aa00bdce0b")
HTMLStyleElement;
#endif

#ifndef __IHTMLStyleFontFace_INTERFACE_DEFINED__
#define __IHTMLStyleFontFace_INTERFACE_DEFINED__

/* interface IHTMLStyleFontFace */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyleFontFace;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f3d5-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyleFontFace : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_fontsrc( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_fontsrc( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyleFontFaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyleFontFace * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyleFontFace * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyleFontFace * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyleFontFace * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyleFontFace * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyleFontFace * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyleFontFace * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_fontsrc )( 
            __RPC__in IHTMLStyleFontFace * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontsrc )( 
            __RPC__in IHTMLStyleFontFace * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLStyleFontFaceVtbl;

    interface IHTMLStyleFontFace
    {
        CONST_VTBL struct IHTMLStyleFontFaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLStyleFontFace_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLStyleFontFace_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLStyleFontFace_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLStyleFontFace_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLStyleFontFace_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLStyleFontFace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLStyleFontFace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLStyleFontFace_put_fontsrc(This,v)	\
    ( (This)->lpVtbl -> put_fontsrc(This,v) ) 

#define IHTMLStyleFontFace_get_fontsrc(This,p)	\
    ( (This)->lpVtbl -> get_fontsrc(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyleFontFace_INTERFACE_DEFINED__ */


#ifndef __IHTMLStyleFontFace2_INTERFACE_DEFINED__
#define __IHTMLStyleFontFace2_INTERFACE_DEFINED__

/* interface IHTMLStyleFontFace2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyleFontFace2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106ec-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyleFontFace2 : public IDispatch
    {
    public:
        virtual /* [nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_style( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLRuleStyle **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyleFontFace2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyleFontFace2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyleFontFace2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyleFontFace2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyleFontFace2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyleFontFace2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyleFontFace2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyleFontFace2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_style )( 
            __RPC__in IHTMLStyleFontFace2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLRuleStyle **p);
        
        END_INTERFACE
    } IHTMLStyleFontFace2Vtbl;

    interface IHTMLStyleFontFace2
    {
        CONST_VTBL struct IHTMLStyleFontFace2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLStyleFontFace2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLStyleFontFace2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLStyleFontFace2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLStyleFontFace2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLStyleFontFace2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLStyleFontFace2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLStyleFontFace2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLStyleFontFace2_get_style(This,p)	\
    ( (This)->lpVtbl -> get_style(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyleFontFace2_INTERFACE_DEFINED__ */


#ifndef __DispHTMLStyleFontFace_DISPINTERFACE_DEFINED__
#define __DispHTMLStyleFontFace_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLStyleFontFace */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLStyleFontFace;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590081-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLStyleFontFace : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLStyleFontFaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLStyleFontFace * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLStyleFontFace * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLStyleFontFace * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLStyleFontFace * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLStyleFontFace * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLStyleFontFace * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLStyleFontFace * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLStyleFontFaceVtbl;

    interface DispHTMLStyleFontFace
    {
        CONST_VTBL struct DispHTMLStyleFontFaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLStyleFontFace_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLStyleFontFace_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLStyleFontFace_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLStyleFontFace_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLStyleFontFace_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLStyleFontFace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLStyleFontFace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLStyleFontFace_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLStyleFontFace;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f3d4-98b5-11cf-bb82-00aa00bdce0b")
HTMLStyleFontFace;
#endif

#ifndef __IHTMLXDomainRequest_INTERFACE_DEFINED__
#define __IHTMLXDomainRequest_INTERFACE_DEFINED__

/* interface IHTMLXDomainRequest */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLXDomainRequest;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510454-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLXDomainRequest : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_responseText( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_timeout( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_timeout( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_contentType( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onprogress( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_onprogress( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onerror( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_onerror( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_ontimeout( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ontimeout( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onload( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_onload( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE abort( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE open( 
            /* [in] */ __RPC__in BSTR bstrMethod,
            /* [in] */ __RPC__in BSTR bstrUrl) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE send( 
            /* [in][optional] */ VARIANT varBody) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLXDomainRequestVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLXDomainRequest * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLXDomainRequest * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLXDomainRequest * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLXDomainRequest * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLXDomainRequest * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLXDomainRequest * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLXDomainRequest * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_responseText )( 
            __RPC__in IHTMLXDomainRequest * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_timeout )( 
            __RPC__in IHTMLXDomainRequest * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_timeout )( 
            __RPC__in IHTMLXDomainRequest * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_contentType )( 
            __RPC__in IHTMLXDomainRequest * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onprogress )( 
            __RPC__in IHTMLXDomainRequest * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onprogress )( 
            __RPC__in IHTMLXDomainRequest * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onerror )( 
            __RPC__in IHTMLXDomainRequest * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onerror )( 
            __RPC__in IHTMLXDomainRequest * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ontimeout )( 
            __RPC__in IHTMLXDomainRequest * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ontimeout )( 
            __RPC__in IHTMLXDomainRequest * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onload )( 
            __RPC__in IHTMLXDomainRequest * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onload )( 
            __RPC__in IHTMLXDomainRequest * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *abort )( 
            __RPC__in IHTMLXDomainRequest * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *open )( 
            __RPC__in IHTMLXDomainRequest * This,
            /* [in] */ __RPC__in BSTR bstrMethod,
            /* [in] */ __RPC__in BSTR bstrUrl);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *send )( 
            __RPC__in IHTMLXDomainRequest * This,
            /* [in][optional] */ VARIANT varBody);
        
        END_INTERFACE
    } IHTMLXDomainRequestVtbl;

    interface IHTMLXDomainRequest
    {
        CONST_VTBL struct IHTMLXDomainRequestVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLXDomainRequest_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLXDomainRequest_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLXDomainRequest_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLXDomainRequest_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLXDomainRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLXDomainRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLXDomainRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLXDomainRequest_get_responseText(This,p)	\
    ( (This)->lpVtbl -> get_responseText(This,p) ) 

#define IHTMLXDomainRequest_put_timeout(This,v)	\
    ( (This)->lpVtbl -> put_timeout(This,v) ) 

#define IHTMLXDomainRequest_get_timeout(This,p)	\
    ( (This)->lpVtbl -> get_timeout(This,p) ) 

#define IHTMLXDomainRequest_get_contentType(This,p)	\
    ( (This)->lpVtbl -> get_contentType(This,p) ) 

#define IHTMLXDomainRequest_put_onprogress(This,v)	\
    ( (This)->lpVtbl -> put_onprogress(This,v) ) 

#define IHTMLXDomainRequest_get_onprogress(This,p)	\
    ( (This)->lpVtbl -> get_onprogress(This,p) ) 

#define IHTMLXDomainRequest_put_onerror(This,v)	\
    ( (This)->lpVtbl -> put_onerror(This,v) ) 

#define IHTMLXDomainRequest_get_onerror(This,p)	\
    ( (This)->lpVtbl -> get_onerror(This,p) ) 

#define IHTMLXDomainRequest_put_ontimeout(This,v)	\
    ( (This)->lpVtbl -> put_ontimeout(This,v) ) 

#define IHTMLXDomainRequest_get_ontimeout(This,p)	\
    ( (This)->lpVtbl -> get_ontimeout(This,p) ) 

#define IHTMLXDomainRequest_put_onload(This,v)	\
    ( (This)->lpVtbl -> put_onload(This,v) ) 

#define IHTMLXDomainRequest_get_onload(This,p)	\
    ( (This)->lpVtbl -> get_onload(This,p) ) 

#define IHTMLXDomainRequest_abort(This)	\
    ( (This)->lpVtbl -> abort(This) ) 

#define IHTMLXDomainRequest_open(This,bstrMethod,bstrUrl)	\
    ( (This)->lpVtbl -> open(This,bstrMethod,bstrUrl) ) 

#define IHTMLXDomainRequest_send(This,varBody)	\
    ( (This)->lpVtbl -> send(This,varBody) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLXDomainRequest_INTERFACE_DEFINED__ */


#ifndef __IHTMLXDomainRequestFactory_INTERFACE_DEFINED__
#define __IHTMLXDomainRequestFactory_INTERFACE_DEFINED__

/* interface IHTMLXDomainRequestFactory */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLXDomainRequestFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510456-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLXDomainRequestFactory : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE create( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLXDomainRequest **__MIDL__IHTMLXDomainRequestFactory0000) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLXDomainRequestFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLXDomainRequestFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLXDomainRequestFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLXDomainRequestFactory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLXDomainRequestFactory * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLXDomainRequestFactory * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLXDomainRequestFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLXDomainRequestFactory * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *create )( 
            __RPC__in IHTMLXDomainRequestFactory * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLXDomainRequest **__MIDL__IHTMLXDomainRequestFactory0000);
        
        END_INTERFACE
    } IHTMLXDomainRequestFactoryVtbl;

    interface IHTMLXDomainRequestFactory
    {
        CONST_VTBL struct IHTMLXDomainRequestFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLXDomainRequestFactory_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLXDomainRequestFactory_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLXDomainRequestFactory_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLXDomainRequestFactory_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLXDomainRequestFactory_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLXDomainRequestFactory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLXDomainRequestFactory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLXDomainRequestFactory_create(This,__MIDL__IHTMLXDomainRequestFactory0000)	\
    ( (This)->lpVtbl -> create(This,__MIDL__IHTMLXDomainRequestFactory0000) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLXDomainRequestFactory_INTERFACE_DEFINED__ */


#ifndef __DispXDomainRequest_DISPINTERFACE_DEFINED__
#define __DispXDomainRequest_DISPINTERFACE_DEFINED__

/* dispinterface DispXDomainRequest */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispXDomainRequest;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f599-98b5-11cf-bb82-00aa00bdce0b")
    DispXDomainRequest : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispXDomainRequestVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispXDomainRequest * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispXDomainRequest * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispXDomainRequest * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispXDomainRequest * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispXDomainRequest * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispXDomainRequest * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispXDomainRequest * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispXDomainRequestVtbl;

    interface DispXDomainRequest
    {
        CONST_VTBL struct DispXDomainRequestVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispXDomainRequest_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispXDomainRequest_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispXDomainRequest_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispXDomainRequest_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispXDomainRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispXDomainRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispXDomainRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispXDomainRequest_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_XDomainRequest;

#ifdef __cplusplus

class DECLSPEC_UUID("30510455-98b5-11cf-bb82-00aa00bdce0b")
XDomainRequest;
#endif

EXTERN_C const CLSID CLSID_XDomainRequestFactory;

#ifdef __cplusplus

class DECLSPEC_UUID("30510457-98b5-11cf-bb82-00aa00bdce0b")
XDomainRequestFactory;
#endif

#ifndef __IHTMLStorage2_INTERFACE_DEFINED__
#define __IHTMLStorage2_INTERFACE_DEFINED__

/* interface IHTMLStorage2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStorage2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510799-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStorage2 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setItem( 
            /* [in] */ __RPC__in BSTR bstrKey,
            /* [in] */ __RPC__in BSTR bstrValue) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStorage2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStorage2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStorage2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStorage2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStorage2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStorage2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStorage2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStorage2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setItem )( 
            __RPC__in IHTMLStorage2 * This,
            /* [in] */ __RPC__in BSTR bstrKey,
            /* [in] */ __RPC__in BSTR bstrValue);
        
        END_INTERFACE
    } IHTMLStorage2Vtbl;

    interface IHTMLStorage2
    {
        CONST_VTBL struct IHTMLStorage2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLStorage2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLStorage2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLStorage2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLStorage2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLStorage2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLStorage2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLStorage2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLStorage2_setItem(This,bstrKey,bstrValue)	\
    ( (This)->lpVtbl -> setItem(This,bstrKey,bstrValue) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStorage2_INTERFACE_DEFINED__ */


#ifndef __DispHTMLStorage_DISPINTERFACE_DEFINED__
#define __DispHTMLStorage_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLStorage */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLStorage;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f59d-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLStorage : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLStorageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLStorage * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLStorage * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLStorage * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLStorage * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLStorage * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLStorage * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLStorage * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLStorageVtbl;

    interface DispHTMLStorage
    {
        CONST_VTBL struct DispHTMLStorageVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLStorage_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLStorage_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLStorage_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLStorage_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLStorage_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLStorage_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLStorage_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLStorage_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLStorage;

#ifdef __cplusplus

class DECLSPEC_UUID("30510475-98b5-11cf-bb82-00aa00bdce0b")
HTMLStorage;
#endif

#ifndef __IEventTarget_INTERFACE_DEFINED__
#define __IEventTarget_INTERFACE_DEFINED__

/* interface IEventTarget */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IEventTarget;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104b9-98b5-11cf-bb82-00aa00bdce0b")
    IEventTarget : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE addEventListener( 
            /* [in] */ __RPC__in BSTR type,
            /* [in] */ __RPC__in_opt IDispatch *listener,
            /* [in] */ VARIANT_BOOL useCapture) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeEventListener( 
            /* [in] */ __RPC__in BSTR type,
            /* [in] */ __RPC__in_opt IDispatch *listener,
            /* [in] */ VARIANT_BOOL useCapture) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE dispatchEvent( 
            /* [in] */ __RPC__in_opt IDOMEvent *evt,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfResult) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IEventTargetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IEventTarget * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IEventTarget * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IEventTarget * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IEventTarget * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IEventTarget * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IEventTarget * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IEventTarget * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *addEventListener )( 
            __RPC__in IEventTarget * This,
            /* [in] */ __RPC__in BSTR type,
            /* [in] */ __RPC__in_opt IDispatch *listener,
            /* [in] */ VARIANT_BOOL useCapture);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeEventListener )( 
            __RPC__in IEventTarget * This,
            /* [in] */ __RPC__in BSTR type,
            /* [in] */ __RPC__in_opt IDispatch *listener,
            /* [in] */ VARIANT_BOOL useCapture);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *dispatchEvent )( 
            __RPC__in IEventTarget * This,
            /* [in] */ __RPC__in_opt IDOMEvent *evt,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfResult);
        
        END_INTERFACE
    } IEventTargetVtbl;

    interface IEventTarget
    {
        CONST_VTBL struct IEventTargetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IEventTarget_INTERFACE_DEFINED__ */


#ifndef __DispDOMEvent_DISPINTERFACE_DEFINED__
#define __DispDOMEvent_DISPINTERFACE_DEFINED__

/* dispinterface DispDOMEvent */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispDOMEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f5a2-98b5-11cf-bb82-00aa00bdce0b")
    DispDOMEvent : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispDOMEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispDOMEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispDOMEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispDOMEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispDOMEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispDOMEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispDOMEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispDOMEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispDOMEventVtbl;

    interface DispDOMEvent
    {
        CONST_VTBL struct DispDOMEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispDOMEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispDOMEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispDOMEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispDOMEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispDOMEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispDOMEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispDOMEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispDOMEvent_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DOMEvent;

#ifdef __cplusplus

class DECLSPEC_UUID("305104bb-98b5-11cf-bb82-00aa00bdce0b")
DOMEvent;
#endif

#ifndef __IDOMUIEvent_INTERFACE_DEFINED__
#define __IDOMUIEvent_INTERFACE_DEFINED__

/* interface IDOMUIEvent */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMUIEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106ca-98b5-11cf-bb82-00aa00bdce0b")
    IDOMUIEvent : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_view( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLWindow2 **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_detail( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE initUIEvent( 
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in_opt IHTMLWindow2 *view,
            /* [in] */ long detail) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMUIEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMUIEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMUIEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMUIEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMUIEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMUIEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMUIEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMUIEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_view )( 
            __RPC__in IDOMUIEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLWindow2 **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_detail )( 
            __RPC__in IDOMUIEvent * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *initUIEvent )( 
            __RPC__in IDOMUIEvent * This,
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in_opt IHTMLWindow2 *view,
            /* [in] */ long detail);
        
        END_INTERFACE
    } IDOMUIEventVtbl;

    interface IDOMUIEvent
    {
        CONST_VTBL struct IDOMUIEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMUIEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMUIEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMUIEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMUIEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMUIEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMUIEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMUIEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMUIEvent_get_view(This,p)	\
    ( (This)->lpVtbl -> get_view(This,p) ) 

#define IDOMUIEvent_get_detail(This,p)	\
    ( (This)->lpVtbl -> get_detail(This,p) ) 

#define IDOMUIEvent_initUIEvent(This,eventType,canBubble,cancelable,view,detail)	\
    ( (This)->lpVtbl -> initUIEvent(This,eventType,canBubble,cancelable,view,detail) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMUIEvent_INTERFACE_DEFINED__ */


#ifndef __DispDOMUIEvent_DISPINTERFACE_DEFINED__
#define __DispDOMUIEvent_DISPINTERFACE_DEFINED__

/* dispinterface DispDOMUIEvent */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispDOMUIEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590072-98b5-11cf-bb82-00aa00bdce0b")
    DispDOMUIEvent : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispDOMUIEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispDOMUIEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispDOMUIEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispDOMUIEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispDOMUIEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispDOMUIEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispDOMUIEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispDOMUIEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispDOMUIEventVtbl;

    interface DispDOMUIEvent
    {
        CONST_VTBL struct DispDOMUIEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispDOMUIEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispDOMUIEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispDOMUIEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispDOMUIEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispDOMUIEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispDOMUIEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispDOMUIEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispDOMUIEvent_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DOMUIEvent;

#ifdef __cplusplus

class DECLSPEC_UUID("305106cb-98b5-11cf-bb82-00aa00bdce0b")
DOMUIEvent;
#endif

#ifndef __IDOMMouseEvent_INTERFACE_DEFINED__
#define __IDOMMouseEvent_INTERFACE_DEFINED__

/* interface IDOMMouseEvent */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMMouseEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106ce-98b5-11cf-bb82-00aa00bdce0b")
    IDOMMouseEvent : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_screenX( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_screenY( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_clientX( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_clientY( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ctrlKey( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_shiftKey( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_altKey( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_metaKey( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_button( 
            /* [out][retval] */ __RPC__out USHORT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_relatedTarget( 
            /* [out][retval] */ __RPC__deref_out_opt IEventTarget **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE initMouseEvent( 
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in_opt IHTMLWindow2 *viewArg,
            /* [in] */ long detailArg,
            /* [in] */ long screenXArg,
            /* [in] */ long screenYArg,
            /* [in] */ long clientXArg,
            /* [in] */ long clientYArg,
            /* [in] */ VARIANT_BOOL ctrlKeyArg,
            /* [in] */ VARIANT_BOOL altKeyArg,
            /* [in] */ VARIANT_BOOL shiftKeyArg,
            /* [in] */ VARIANT_BOOL metaKeyArg,
            /* [in] */ USHORT buttonArg,
            /* [in] */ __RPC__in_opt IEventTarget *relatedTargetArg) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getModifierState( 
            /* [in] */ __RPC__in BSTR keyArg,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *activated) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_buttons( 
            /* [out][retval] */ __RPC__out USHORT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_fromElement( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_toElement( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_offsetX( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_offsetY( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_pageX( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_pageY( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_layerX( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_layerY( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_which( 
            /* [out][retval] */ __RPC__out USHORT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMMouseEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMMouseEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMMouseEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMMouseEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMMouseEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMMouseEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMMouseEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMMouseEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_screenX )( 
            __RPC__in IDOMMouseEvent * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_screenY )( 
            __RPC__in IDOMMouseEvent * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clientX )( 
            __RPC__in IDOMMouseEvent * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clientY )( 
            __RPC__in IDOMMouseEvent * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ctrlKey )( 
            __RPC__in IDOMMouseEvent * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_shiftKey )( 
            __RPC__in IDOMMouseEvent * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_altKey )( 
            __RPC__in IDOMMouseEvent * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_metaKey )( 
            __RPC__in IDOMMouseEvent * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_button )( 
            __RPC__in IDOMMouseEvent * This,
            /* [out][retval] */ __RPC__out USHORT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relatedTarget )( 
            __RPC__in IDOMMouseEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt IEventTarget **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *initMouseEvent )( 
            __RPC__in IDOMMouseEvent * This,
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in_opt IHTMLWindow2 *viewArg,
            /* [in] */ long detailArg,
            /* [in] */ long screenXArg,
            /* [in] */ long screenYArg,
            /* [in] */ long clientXArg,
            /* [in] */ long clientYArg,
            /* [in] */ VARIANT_BOOL ctrlKeyArg,
            /* [in] */ VARIANT_BOOL altKeyArg,
            /* [in] */ VARIANT_BOOL shiftKeyArg,
            /* [in] */ VARIANT_BOOL metaKeyArg,
            /* [in] */ USHORT buttonArg,
            /* [in] */ __RPC__in_opt IEventTarget *relatedTargetArg);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getModifierState )( 
            __RPC__in IDOMMouseEvent * This,
            /* [in] */ __RPC__in BSTR keyArg,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *activated);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_buttons )( 
            __RPC__in IDOMMouseEvent * This,
            /* [out][retval] */ __RPC__out USHORT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fromElement )( 
            __RPC__in IDOMMouseEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_toElement )( 
            __RPC__in IDOMMouseEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in IDOMMouseEvent * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in IDOMMouseEvent * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetX )( 
            __RPC__in IDOMMouseEvent * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetY )( 
            __RPC__in IDOMMouseEvent * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageX )( 
            __RPC__in IDOMMouseEvent * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageY )( 
            __RPC__in IDOMMouseEvent * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layerX )( 
            __RPC__in IDOMMouseEvent * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layerY )( 
            __RPC__in IDOMMouseEvent * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_which )( 
            __RPC__in IDOMMouseEvent * This,
            /* [out][retval] */ __RPC__out USHORT *p);
        
        END_INTERFACE
    } IDOMMouseEventVtbl;

    interface IDOMMouseEvent
    {
        CONST_VTBL struct IDOMMouseEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMMouseEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMMouseEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMMouseEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMMouseEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMMouseEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMMouseEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMMouseEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMMouseEvent_get_screenX(This,p)	\
    ( (This)->lpVtbl -> get_screenX(This,p) ) 

#define IDOMMouseEvent_get_screenY(This,p)	\
    ( (This)->lpVtbl -> get_screenY(This,p) ) 

#define IDOMMouseEvent_get_clientX(This,p)	\
    ( (This)->lpVtbl -> get_clientX(This,p) ) 

#define IDOMMouseEvent_get_clientY(This,p)	\
    ( (This)->lpVtbl -> get_clientY(This,p) ) 

#define IDOMMouseEvent_get_ctrlKey(This,p)	\
    ( (This)->lpVtbl -> get_ctrlKey(This,p) ) 

#define IDOMMouseEvent_get_shiftKey(This,p)	\
    ( (This)->lpVtbl -> get_shiftKey(This,p) ) 

#define IDOMMouseEvent_get_altKey(This,p)	\
    ( (This)->lpVtbl -> get_altKey(This,p) ) 

#define IDOMMouseEvent_get_metaKey(This,p)	\
    ( (This)->lpVtbl -> get_metaKey(This,p) ) 

#define IDOMMouseEvent_get_button(This,p)	\
    ( (This)->lpVtbl -> get_button(This,p) ) 

#define IDOMMouseEvent_get_relatedTarget(This,p)	\
    ( (This)->lpVtbl -> get_relatedTarget(This,p) ) 

#define IDOMMouseEvent_initMouseEvent(This,eventType,canBubble,cancelable,viewArg,detailArg,screenXArg,screenYArg,clientXArg,clientYArg,ctrlKeyArg,altKeyArg,shiftKeyArg,metaKeyArg,buttonArg,relatedTargetArg)	\
    ( (This)->lpVtbl -> initMouseEvent(This,eventType,canBubble,cancelable,viewArg,detailArg,screenXArg,screenYArg,clientXArg,clientYArg,ctrlKeyArg,altKeyArg,shiftKeyArg,metaKeyArg,buttonArg,relatedTargetArg) ) 

#define IDOMMouseEvent_getModifierState(This,keyArg,activated)	\
    ( (This)->lpVtbl -> getModifierState(This,keyArg,activated) ) 

#define IDOMMouseEvent_get_buttons(This,p)	\
    ( (This)->lpVtbl -> get_buttons(This,p) ) 

#define IDOMMouseEvent_get_fromElement(This,p)	\
    ( (This)->lpVtbl -> get_fromElement(This,p) ) 

#define IDOMMouseEvent_get_toElement(This,p)	\
    ( (This)->lpVtbl -> get_toElement(This,p) ) 

#define IDOMMouseEvent_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#define IDOMMouseEvent_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#define IDOMMouseEvent_get_offsetX(This,p)	\
    ( (This)->lpVtbl -> get_offsetX(This,p) ) 

#define IDOMMouseEvent_get_offsetY(This,p)	\
    ( (This)->lpVtbl -> get_offsetY(This,p) ) 

#define IDOMMouseEvent_get_pageX(This,p)	\
    ( (This)->lpVtbl -> get_pageX(This,p) ) 

#define IDOMMouseEvent_get_pageY(This,p)	\
    ( (This)->lpVtbl -> get_pageY(This,p) ) 

#define IDOMMouseEvent_get_layerX(This,p)	\
    ( (This)->lpVtbl -> get_layerX(This,p) ) 

#define IDOMMouseEvent_get_layerY(This,p)	\
    ( (This)->lpVtbl -> get_layerY(This,p) ) 

#define IDOMMouseEvent_get_which(This,p)	\
    ( (This)->lpVtbl -> get_which(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMMouseEvent_INTERFACE_DEFINED__ */


#ifndef __DispDOMMouseEvent_DISPINTERFACE_DEFINED__
#define __DispDOMMouseEvent_DISPINTERFACE_DEFINED__

/* dispinterface DispDOMMouseEvent */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispDOMMouseEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590073-98b5-11cf-bb82-00aa00bdce0b")
    DispDOMMouseEvent : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispDOMMouseEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispDOMMouseEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispDOMMouseEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispDOMMouseEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispDOMMouseEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispDOMMouseEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispDOMMouseEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispDOMMouseEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispDOMMouseEventVtbl;

    interface DispDOMMouseEvent
    {
        CONST_VTBL struct DispDOMMouseEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispDOMMouseEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispDOMMouseEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispDOMMouseEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispDOMMouseEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispDOMMouseEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispDOMMouseEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispDOMMouseEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispDOMMouseEvent_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DOMMouseEvent;

#ifdef __cplusplus

class DECLSPEC_UUID("305106cf-98b5-11cf-bb82-00aa00bdce0b")
DOMMouseEvent;
#endif

#ifndef __IDOMDragEvent_INTERFACE_DEFINED__
#define __IDOMDragEvent_INTERFACE_DEFINED__

/* interface IDOMDragEvent */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMDragEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510761-98b5-11cf-bb82-00aa00bdce0b")
    IDOMDragEvent : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_dataTransfer( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDataTransfer **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE initDragEvent( 
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in_opt IHTMLWindow2 *viewArg,
            /* [in] */ long detailArg,
            /* [in] */ long screenXArg,
            /* [in] */ long screenYArg,
            /* [in] */ long clientXArg,
            /* [in] */ long clientYArg,
            /* [in] */ VARIANT_BOOL ctrlKeyArg,
            /* [in] */ VARIANT_BOOL altKeyArg,
            /* [in] */ VARIANT_BOOL shiftKeyArg,
            /* [in] */ VARIANT_BOOL metaKeyArg,
            /* [in] */ USHORT buttonArg,
            /* [in] */ __RPC__in_opt IEventTarget *relatedTargetArg,
            /* [in] */ __RPC__in_opt IHTMLDataTransfer *dataTransferArg) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMDragEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMDragEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMDragEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMDragEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMDragEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMDragEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMDragEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMDragEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataTransfer )( 
            __RPC__in IDOMDragEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDataTransfer **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *initDragEvent )( 
            __RPC__in IDOMDragEvent * This,
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in_opt IHTMLWindow2 *viewArg,
            /* [in] */ long detailArg,
            /* [in] */ long screenXArg,
            /* [in] */ long screenYArg,
            /* [in] */ long clientXArg,
            /* [in] */ long clientYArg,
            /* [in] */ VARIANT_BOOL ctrlKeyArg,
            /* [in] */ VARIANT_BOOL altKeyArg,
            /* [in] */ VARIANT_BOOL shiftKeyArg,
            /* [in] */ VARIANT_BOOL metaKeyArg,
            /* [in] */ USHORT buttonArg,
            /* [in] */ __RPC__in_opt IEventTarget *relatedTargetArg,
            /* [in] */ __RPC__in_opt IHTMLDataTransfer *dataTransferArg);
        
        END_INTERFACE
    } IDOMDragEventVtbl;

    interface IDOMDragEvent
    {
        CONST_VTBL struct IDOMDragEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMDragEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMDragEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMDragEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMDragEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMDragEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMDragEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMDragEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMDragEvent_get_dataTransfer(This,p)	\
    ( (This)->lpVtbl -> get_dataTransfer(This,p) ) 

#define IDOMDragEvent_initDragEvent(This,eventType,canBubble,cancelable,viewArg,detailArg,screenXArg,screenYArg,clientXArg,clientYArg,ctrlKeyArg,altKeyArg,shiftKeyArg,metaKeyArg,buttonArg,relatedTargetArg,dataTransferArg)	\
    ( (This)->lpVtbl -> initDragEvent(This,eventType,canBubble,cancelable,viewArg,detailArg,screenXArg,screenYArg,clientXArg,clientYArg,ctrlKeyArg,altKeyArg,shiftKeyArg,metaKeyArg,buttonArg,relatedTargetArg,dataTransferArg) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMDragEvent_INTERFACE_DEFINED__ */


#ifndef __DispDOMDragEvent_DISPINTERFACE_DEFINED__
#define __DispDOMDragEvent_DISPINTERFACE_DEFINED__

/* dispinterface DispDOMDragEvent */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispDOMDragEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("305900a7-98b5-11cf-bb82-00aa00bdce0b")
    DispDOMDragEvent : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispDOMDragEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispDOMDragEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispDOMDragEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispDOMDragEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispDOMDragEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispDOMDragEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispDOMDragEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispDOMDragEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispDOMDragEventVtbl;

    interface DispDOMDragEvent
    {
        CONST_VTBL struct DispDOMDragEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispDOMDragEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispDOMDragEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispDOMDragEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispDOMDragEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispDOMDragEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispDOMDragEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispDOMDragEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispDOMDragEvent_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DOMDragEvent;

#ifdef __cplusplus

class DECLSPEC_UUID("30510762-98b5-11cf-bb82-00aa00bdce0b")
DOMDragEvent;
#endif

#ifndef __IDOMMouseWheelEvent_INTERFACE_DEFINED__
#define __IDOMMouseWheelEvent_INTERFACE_DEFINED__

/* interface IDOMMouseWheelEvent */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMMouseWheelEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106d0-98b5-11cf-bb82-00aa00bdce0b")
    IDOMMouseWheelEvent : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_wheelDelta( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE initMouseWheelEvent( 
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in_opt IHTMLWindow2 *viewArg,
            /* [in] */ long detailArg,
            /* [in] */ long screenXArg,
            /* [in] */ long screenYArg,
            /* [in] */ long clientXArg,
            /* [in] */ long clientYArg,
            /* [in] */ USHORT buttonArg,
            /* [in] */ __RPC__in_opt IEventTarget *relatedTargetArg,
            /* [in] */ __RPC__in BSTR modifiersListArg,
            /* [in] */ long wheelDeltaArg) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMMouseWheelEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMMouseWheelEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMMouseWheelEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMMouseWheelEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMMouseWheelEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMMouseWheelEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMMouseWheelEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMMouseWheelEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_wheelDelta )( 
            __RPC__in IDOMMouseWheelEvent * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *initMouseWheelEvent )( 
            __RPC__in IDOMMouseWheelEvent * This,
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in_opt IHTMLWindow2 *viewArg,
            /* [in] */ long detailArg,
            /* [in] */ long screenXArg,
            /* [in] */ long screenYArg,
            /* [in] */ long clientXArg,
            /* [in] */ long clientYArg,
            /* [in] */ USHORT buttonArg,
            /* [in] */ __RPC__in_opt IEventTarget *relatedTargetArg,
            /* [in] */ __RPC__in BSTR modifiersListArg,
            /* [in] */ long wheelDeltaArg);
        
        END_INTERFACE
    } IDOMMouseWheelEventVtbl;

    interface IDOMMouseWheelEvent
    {
        CONST_VTBL struct IDOMMouseWheelEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMMouseWheelEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMMouseWheelEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMMouseWheelEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMMouseWheelEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMMouseWheelEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMMouseWheelEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMMouseWheelEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMMouseWheelEvent_get_wheelDelta(This,p)	\
    ( (This)->lpVtbl -> get_wheelDelta(This,p) ) 

#define IDOMMouseWheelEvent_initMouseWheelEvent(This,eventType,canBubble,cancelable,viewArg,detailArg,screenXArg,screenYArg,clientXArg,clientYArg,buttonArg,relatedTargetArg,modifiersListArg,wheelDeltaArg)	\
    ( (This)->lpVtbl -> initMouseWheelEvent(This,eventType,canBubble,cancelable,viewArg,detailArg,screenXArg,screenYArg,clientXArg,clientYArg,buttonArg,relatedTargetArg,modifiersListArg,wheelDeltaArg) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMMouseWheelEvent_INTERFACE_DEFINED__ */


#ifndef __DispDOMMouseWheelEvent_DISPINTERFACE_DEFINED__
#define __DispDOMMouseWheelEvent_DISPINTERFACE_DEFINED__

/* dispinterface DispDOMMouseWheelEvent */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispDOMMouseWheelEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590074-98b5-11cf-bb82-00aa00bdce0b")
    DispDOMMouseWheelEvent : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispDOMMouseWheelEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispDOMMouseWheelEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispDOMMouseWheelEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispDOMMouseWheelEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispDOMMouseWheelEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispDOMMouseWheelEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispDOMMouseWheelEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispDOMMouseWheelEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispDOMMouseWheelEventVtbl;

    interface DispDOMMouseWheelEvent
    {
        CONST_VTBL struct DispDOMMouseWheelEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispDOMMouseWheelEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispDOMMouseWheelEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispDOMMouseWheelEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispDOMMouseWheelEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispDOMMouseWheelEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispDOMMouseWheelEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispDOMMouseWheelEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispDOMMouseWheelEvent_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DOMMouseWheelEvent;

#ifdef __cplusplus

class DECLSPEC_UUID("305106d1-98b5-11cf-bb82-00aa00bdce0b")
DOMMouseWheelEvent;
#endif

#ifndef __IDOMWheelEvent_INTERFACE_DEFINED__
#define __IDOMWheelEvent_INTERFACE_DEFINED__

/* interface IDOMWheelEvent */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMWheelEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106d2-98b5-11cf-bb82-00aa00bdce0b")
    IDOMWheelEvent : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_deltaX( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_deltaY( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_deltaZ( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_deltaMode( 
            /* [out][retval] */ __RPC__out ULONG *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE initWheelEvent( 
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in_opt IHTMLWindow2 *viewArg,
            /* [in] */ long detailArg,
            /* [in] */ long screenXArg,
            /* [in] */ long screenYArg,
            /* [in] */ long clientXArg,
            /* [in] */ long clientYArg,
            /* [in] */ USHORT buttonArg,
            /* [in] */ __RPC__in_opt IEventTarget *relatedTargetArg,
            /* [in] */ __RPC__in BSTR modifiersListArg,
            /* [in] */ long deltaX,
            /* [in] */ long deltaY,
            /* [in] */ long deltaZ,
            /* [in] */ ULONG deltaMode) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMWheelEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMWheelEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMWheelEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMWheelEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMWheelEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMWheelEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMWheelEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMWheelEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_deltaX )( 
            __RPC__in IDOMWheelEvent * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_deltaY )( 
            __RPC__in IDOMWheelEvent * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_deltaZ )( 
            __RPC__in IDOMWheelEvent * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_deltaMode )( 
            __RPC__in IDOMWheelEvent * This,
            /* [out][retval] */ __RPC__out ULONG *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *initWheelEvent )( 
            __RPC__in IDOMWheelEvent * This,
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in_opt IHTMLWindow2 *viewArg,
            /* [in] */ long detailArg,
            /* [in] */ long screenXArg,
            /* [in] */ long screenYArg,
            /* [in] */ long clientXArg,
            /* [in] */ long clientYArg,
            /* [in] */ USHORT buttonArg,
            /* [in] */ __RPC__in_opt IEventTarget *relatedTargetArg,
            /* [in] */ __RPC__in BSTR modifiersListArg,
            /* [in] */ long deltaX,
            /* [in] */ long deltaY,
            /* [in] */ long deltaZ,
            /* [in] */ ULONG deltaMode);
        
        END_INTERFACE
    } IDOMWheelEventVtbl;

    interface IDOMWheelEvent
    {
        CONST_VTBL struct IDOMWheelEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMWheelEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMWheelEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMWheelEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMWheelEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMWheelEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMWheelEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMWheelEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMWheelEvent_get_deltaX(This,p)	\
    ( (This)->lpVtbl -> get_deltaX(This,p) ) 

#define IDOMWheelEvent_get_deltaY(This,p)	\
    ( (This)->lpVtbl -> get_deltaY(This,p) ) 

#define IDOMWheelEvent_get_deltaZ(This,p)	\
    ( (This)->lpVtbl -> get_deltaZ(This,p) ) 

#define IDOMWheelEvent_get_deltaMode(This,p)	\
    ( (This)->lpVtbl -> get_deltaMode(This,p) ) 

#define IDOMWheelEvent_initWheelEvent(This,eventType,canBubble,cancelable,viewArg,detailArg,screenXArg,screenYArg,clientXArg,clientYArg,buttonArg,relatedTargetArg,modifiersListArg,deltaX,deltaY,deltaZ,deltaMode)	\
    ( (This)->lpVtbl -> initWheelEvent(This,eventType,canBubble,cancelable,viewArg,detailArg,screenXArg,screenYArg,clientXArg,clientYArg,buttonArg,relatedTargetArg,modifiersListArg,deltaX,deltaY,deltaZ,deltaMode) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMWheelEvent_INTERFACE_DEFINED__ */


#ifndef __DispDOMWheelEvent_DISPINTERFACE_DEFINED__
#define __DispDOMWheelEvent_DISPINTERFACE_DEFINED__

/* dispinterface DispDOMWheelEvent */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispDOMWheelEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590075-98b5-11cf-bb82-00aa00bdce0b")
    DispDOMWheelEvent : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispDOMWheelEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispDOMWheelEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispDOMWheelEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispDOMWheelEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispDOMWheelEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispDOMWheelEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispDOMWheelEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispDOMWheelEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispDOMWheelEventVtbl;

    interface DispDOMWheelEvent
    {
        CONST_VTBL struct DispDOMWheelEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispDOMWheelEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispDOMWheelEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispDOMWheelEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispDOMWheelEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispDOMWheelEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispDOMWheelEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispDOMWheelEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispDOMWheelEvent_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DOMWheelEvent;

#ifdef __cplusplus

class DECLSPEC_UUID("305106d3-98b5-11cf-bb82-00aa00bdce0b")
DOMWheelEvent;
#endif

#ifndef __IDOMTextEvent_INTERFACE_DEFINED__
#define __IDOMTextEvent_INTERFACE_DEFINED__

/* interface IDOMTextEvent */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMTextEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106d4-98b5-11cf-bb82-00aa00bdce0b")
    IDOMTextEvent : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_data( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_inputMethod( 
            /* [out][retval] */ __RPC__out ULONG *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE initTextEvent( 
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in_opt IHTMLWindow2 *viewArg,
            /* [in] */ __RPC__in BSTR dataArg,
            /* [in] */ ULONG inputMethod,
            /* [in] */ __RPC__in BSTR locale) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_locale( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMTextEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMTextEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMTextEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMTextEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMTextEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMTextEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMTextEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMTextEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_data )( 
            __RPC__in IDOMTextEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_inputMethod )( 
            __RPC__in IDOMTextEvent * This,
            /* [out][retval] */ __RPC__out ULONG *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *initTextEvent )( 
            __RPC__in IDOMTextEvent * This,
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in_opt IHTMLWindow2 *viewArg,
            /* [in] */ __RPC__in BSTR dataArg,
            /* [in] */ ULONG inputMethod,
            /* [in] */ __RPC__in BSTR locale);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_locale )( 
            __RPC__in IDOMTextEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IDOMTextEventVtbl;

    interface IDOMTextEvent
    {
        CONST_VTBL struct IDOMTextEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMTextEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMTextEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMTextEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMTextEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMTextEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMTextEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMTextEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMTextEvent_get_data(This,p)	\
    ( (This)->lpVtbl -> get_data(This,p) ) 

#define IDOMTextEvent_get_inputMethod(This,p)	\
    ( (This)->lpVtbl -> get_inputMethod(This,p) ) 

#define IDOMTextEvent_initTextEvent(This,eventType,canBubble,cancelable,viewArg,dataArg,inputMethod,locale)	\
    ( (This)->lpVtbl -> initTextEvent(This,eventType,canBubble,cancelable,viewArg,dataArg,inputMethod,locale) ) 

#define IDOMTextEvent_get_locale(This,p)	\
    ( (This)->lpVtbl -> get_locale(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMTextEvent_INTERFACE_DEFINED__ */


#ifndef __DispDOMTextEvent_DISPINTERFACE_DEFINED__
#define __DispDOMTextEvent_DISPINTERFACE_DEFINED__

/* dispinterface DispDOMTextEvent */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispDOMTextEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590076-98b5-11cf-bb82-00aa00bdce0b")
    DispDOMTextEvent : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispDOMTextEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispDOMTextEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispDOMTextEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispDOMTextEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispDOMTextEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispDOMTextEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispDOMTextEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispDOMTextEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispDOMTextEventVtbl;

    interface DispDOMTextEvent
    {
        CONST_VTBL struct DispDOMTextEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispDOMTextEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispDOMTextEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispDOMTextEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispDOMTextEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispDOMTextEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispDOMTextEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispDOMTextEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispDOMTextEvent_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DOMTextEvent;

#ifdef __cplusplus

class DECLSPEC_UUID("305106d5-98b5-11cf-bb82-00aa00bdce0b")
DOMTextEvent;
#endif

#ifndef __IDOMKeyboardEvent_INTERFACE_DEFINED__
#define __IDOMKeyboardEvent_INTERFACE_DEFINED__

/* interface IDOMKeyboardEvent */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMKeyboardEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106d6-98b5-11cf-bb82-00aa00bdce0b")
    IDOMKeyboardEvent : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_key( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_location( 
            /* [out][retval] */ __RPC__out ULONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ctrlKey( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_shiftKey( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_altKey( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_metaKey( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_repeat( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getModifierState( 
            /* [in] */ __RPC__in BSTR keyArg,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *state) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE initKeyboardEvent( 
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in_opt IHTMLWindow2 *viewArg,
            /* [in] */ __RPC__in BSTR keyArg,
            /* [in] */ ULONG locationArg,
            /* [in] */ __RPC__in BSTR modifiersListArg,
            /* [in] */ VARIANT_BOOL repeat,
            /* [in] */ __RPC__in BSTR locale) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_keyCode( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_charCode( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_which( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ie9_char( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_locale( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMKeyboardEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMKeyboardEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMKeyboardEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMKeyboardEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMKeyboardEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMKeyboardEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMKeyboardEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMKeyboardEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_key )( 
            __RPC__in IDOMKeyboardEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_location )( 
            __RPC__in IDOMKeyboardEvent * This,
            /* [out][retval] */ __RPC__out ULONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ctrlKey )( 
            __RPC__in IDOMKeyboardEvent * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_shiftKey )( 
            __RPC__in IDOMKeyboardEvent * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_altKey )( 
            __RPC__in IDOMKeyboardEvent * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_metaKey )( 
            __RPC__in IDOMKeyboardEvent * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_repeat )( 
            __RPC__in IDOMKeyboardEvent * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getModifierState )( 
            __RPC__in IDOMKeyboardEvent * This,
            /* [in] */ __RPC__in BSTR keyArg,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *state);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *initKeyboardEvent )( 
            __RPC__in IDOMKeyboardEvent * This,
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in_opt IHTMLWindow2 *viewArg,
            /* [in] */ __RPC__in BSTR keyArg,
            /* [in] */ ULONG locationArg,
            /* [in] */ __RPC__in BSTR modifiersListArg,
            /* [in] */ VARIANT_BOOL repeat,
            /* [in] */ __RPC__in BSTR locale);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_keyCode )( 
            __RPC__in IDOMKeyboardEvent * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_charCode )( 
            __RPC__in IDOMKeyboardEvent * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_which )( 
            __RPC__in IDOMKeyboardEvent * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ie9_char )( 
            __RPC__in IDOMKeyboardEvent * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_locale )( 
            __RPC__in IDOMKeyboardEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IDOMKeyboardEventVtbl;

    interface IDOMKeyboardEvent
    {
        CONST_VTBL struct IDOMKeyboardEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMKeyboardEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMKeyboardEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMKeyboardEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMKeyboardEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMKeyboardEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMKeyboardEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMKeyboardEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMKeyboardEvent_get_key(This,p)	\
    ( (This)->lpVtbl -> get_key(This,p) ) 

#define IDOMKeyboardEvent_get_location(This,p)	\
    ( (This)->lpVtbl -> get_location(This,p) ) 

#define IDOMKeyboardEvent_get_ctrlKey(This,p)	\
    ( (This)->lpVtbl -> get_ctrlKey(This,p) ) 

#define IDOMKeyboardEvent_get_shiftKey(This,p)	\
    ( (This)->lpVtbl -> get_shiftKey(This,p) ) 

#define IDOMKeyboardEvent_get_altKey(This,p)	\
    ( (This)->lpVtbl -> get_altKey(This,p) ) 

#define IDOMKeyboardEvent_get_metaKey(This,p)	\
    ( (This)->lpVtbl -> get_metaKey(This,p) ) 

#define IDOMKeyboardEvent_get_repeat(This,p)	\
    ( (This)->lpVtbl -> get_repeat(This,p) ) 

#define IDOMKeyboardEvent_getModifierState(This,keyArg,state)	\
    ( (This)->lpVtbl -> getModifierState(This,keyArg,state) ) 

#define IDOMKeyboardEvent_initKeyboardEvent(This,eventType,canBubble,cancelable,viewArg,keyArg,locationArg,modifiersListArg,repeat,locale)	\
    ( (This)->lpVtbl -> initKeyboardEvent(This,eventType,canBubble,cancelable,viewArg,keyArg,locationArg,modifiersListArg,repeat,locale) ) 

#define IDOMKeyboardEvent_get_keyCode(This,p)	\
    ( (This)->lpVtbl -> get_keyCode(This,p) ) 

#define IDOMKeyboardEvent_get_charCode(This,p)	\
    ( (This)->lpVtbl -> get_charCode(This,p) ) 

#define IDOMKeyboardEvent_get_which(This,p)	\
    ( (This)->lpVtbl -> get_which(This,p) ) 

#define IDOMKeyboardEvent_get_ie9_char(This,p)	\
    ( (This)->lpVtbl -> get_ie9_char(This,p) ) 

#define IDOMKeyboardEvent_get_locale(This,p)	\
    ( (This)->lpVtbl -> get_locale(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMKeyboardEvent_INTERFACE_DEFINED__ */


#ifndef __DispDOMKeyboardEvent_DISPINTERFACE_DEFINED__
#define __DispDOMKeyboardEvent_DISPINTERFACE_DEFINED__

/* dispinterface DispDOMKeyboardEvent */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispDOMKeyboardEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590077-98b5-11cf-bb82-00aa00bdce0b")
    DispDOMKeyboardEvent : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispDOMKeyboardEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispDOMKeyboardEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispDOMKeyboardEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispDOMKeyboardEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispDOMKeyboardEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispDOMKeyboardEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispDOMKeyboardEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispDOMKeyboardEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispDOMKeyboardEventVtbl;

    interface DispDOMKeyboardEvent
    {
        CONST_VTBL struct DispDOMKeyboardEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispDOMKeyboardEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispDOMKeyboardEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispDOMKeyboardEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispDOMKeyboardEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispDOMKeyboardEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispDOMKeyboardEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispDOMKeyboardEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispDOMKeyboardEvent_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DOMKeyboardEvent;

#ifdef __cplusplus

class DECLSPEC_UUID("305106d7-98b5-11cf-bb82-00aa00bdce0b")
DOMKeyboardEvent;
#endif

#ifndef __IDOMCompositionEvent_INTERFACE_DEFINED__
#define __IDOMCompositionEvent_INTERFACE_DEFINED__

/* interface IDOMCompositionEvent */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMCompositionEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106d8-98b5-11cf-bb82-00aa00bdce0b")
    IDOMCompositionEvent : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_data( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE initCompositionEvent( 
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in_opt IHTMLWindow2 *viewArg,
            /* [in] */ __RPC__in BSTR data,
            /* [in] */ __RPC__in BSTR locale) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_locale( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMCompositionEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMCompositionEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMCompositionEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMCompositionEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMCompositionEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMCompositionEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMCompositionEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMCompositionEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_data )( 
            __RPC__in IDOMCompositionEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *initCompositionEvent )( 
            __RPC__in IDOMCompositionEvent * This,
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in_opt IHTMLWindow2 *viewArg,
            /* [in] */ __RPC__in BSTR data,
            /* [in] */ __RPC__in BSTR locale);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_locale )( 
            __RPC__in IDOMCompositionEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IDOMCompositionEventVtbl;

    interface IDOMCompositionEvent
    {
        CONST_VTBL struct IDOMCompositionEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMCompositionEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMCompositionEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMCompositionEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMCompositionEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMCompositionEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMCompositionEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMCompositionEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMCompositionEvent_get_data(This,p)	\
    ( (This)->lpVtbl -> get_data(This,p) ) 

#define IDOMCompositionEvent_initCompositionEvent(This,eventType,canBubble,cancelable,viewArg,data,locale)	\
    ( (This)->lpVtbl -> initCompositionEvent(This,eventType,canBubble,cancelable,viewArg,data,locale) ) 

#define IDOMCompositionEvent_get_locale(This,p)	\
    ( (This)->lpVtbl -> get_locale(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMCompositionEvent_INTERFACE_DEFINED__ */


#ifndef __DispDOMCompositionEvent_DISPINTERFACE_DEFINED__
#define __DispDOMCompositionEvent_DISPINTERFACE_DEFINED__

/* dispinterface DispDOMCompositionEvent */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispDOMCompositionEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590078-98b5-11cf-bb82-00aa00bdce0b")
    DispDOMCompositionEvent : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispDOMCompositionEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispDOMCompositionEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispDOMCompositionEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispDOMCompositionEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispDOMCompositionEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispDOMCompositionEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispDOMCompositionEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispDOMCompositionEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispDOMCompositionEventVtbl;

    interface DispDOMCompositionEvent
    {
        CONST_VTBL struct DispDOMCompositionEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispDOMCompositionEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispDOMCompositionEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispDOMCompositionEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispDOMCompositionEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispDOMCompositionEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispDOMCompositionEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispDOMCompositionEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispDOMCompositionEvent_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DOMCompositionEvent;

#ifdef __cplusplus

class DECLSPEC_UUID("305106d9-98b5-11cf-bb82-00aa00bdce0b")
DOMCompositionEvent;
#endif

#ifndef __IDOMMutationEvent_INTERFACE_DEFINED__
#define __IDOMMutationEvent_INTERFACE_DEFINED__

/* interface IDOMMutationEvent */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMMutationEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106da-98b5-11cf-bb82-00aa00bdce0b")
    IDOMMutationEvent : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_relatedNode( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_prevValue( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_newValue( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_attrName( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_attrChange( 
            /* [out][retval] */ __RPC__out USHORT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE initMutationEvent( 
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in_opt IDispatch *relatedNodeArg,
            /* [in] */ __RPC__in BSTR prevValueArg,
            /* [in] */ __RPC__in BSTR newValueArg,
            /* [in] */ __RPC__in BSTR attrNameArg,
            /* [in] */ USHORT attrChangeArg) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMMutationEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMMutationEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMMutationEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMMutationEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMMutationEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMMutationEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMMutationEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMMutationEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relatedNode )( 
            __RPC__in IDOMMutationEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_prevValue )( 
            __RPC__in IDOMMutationEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_newValue )( 
            __RPC__in IDOMMutationEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_attrName )( 
            __RPC__in IDOMMutationEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_attrChange )( 
            __RPC__in IDOMMutationEvent * This,
            /* [out][retval] */ __RPC__out USHORT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *initMutationEvent )( 
            __RPC__in IDOMMutationEvent * This,
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in_opt IDispatch *relatedNodeArg,
            /* [in] */ __RPC__in BSTR prevValueArg,
            /* [in] */ __RPC__in BSTR newValueArg,
            /* [in] */ __RPC__in BSTR attrNameArg,
            /* [in] */ USHORT attrChangeArg);
        
        END_INTERFACE
    } IDOMMutationEventVtbl;

    interface IDOMMutationEvent
    {
        CONST_VTBL struct IDOMMutationEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMMutationEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMMutationEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMMutationEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMMutationEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMMutationEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMMutationEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMMutationEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMMutationEvent_get_relatedNode(This,p)	\
    ( (This)->lpVtbl -> get_relatedNode(This,p) ) 

#define IDOMMutationEvent_get_prevValue(This,p)	\
    ( (This)->lpVtbl -> get_prevValue(This,p) ) 

#define IDOMMutationEvent_get_newValue(This,p)	\
    ( (This)->lpVtbl -> get_newValue(This,p) ) 

#define IDOMMutationEvent_get_attrName(This,p)	\
    ( (This)->lpVtbl -> get_attrName(This,p) ) 

#define IDOMMutationEvent_get_attrChange(This,p)	\
    ( (This)->lpVtbl -> get_attrChange(This,p) ) 

#define IDOMMutationEvent_initMutationEvent(This,eventType,canBubble,cancelable,relatedNodeArg,prevValueArg,newValueArg,attrNameArg,attrChangeArg)	\
    ( (This)->lpVtbl -> initMutationEvent(This,eventType,canBubble,cancelable,relatedNodeArg,prevValueArg,newValueArg,attrNameArg,attrChangeArg) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMMutationEvent_INTERFACE_DEFINED__ */


#ifndef __DispDOMMutationEvent_DISPINTERFACE_DEFINED__
#define __DispDOMMutationEvent_DISPINTERFACE_DEFINED__

/* dispinterface DispDOMMutationEvent */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispDOMMutationEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590079-98b5-11cf-bb82-00aa00bdce0b")
    DispDOMMutationEvent : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispDOMMutationEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispDOMMutationEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispDOMMutationEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispDOMMutationEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispDOMMutationEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispDOMMutationEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispDOMMutationEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispDOMMutationEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispDOMMutationEventVtbl;

    interface DispDOMMutationEvent
    {
        CONST_VTBL struct DispDOMMutationEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispDOMMutationEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispDOMMutationEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispDOMMutationEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispDOMMutationEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispDOMMutationEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispDOMMutationEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispDOMMutationEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispDOMMutationEvent_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DOMMutationEvent;

#ifdef __cplusplus

class DECLSPEC_UUID("305106db-98b5-11cf-bb82-00aa00bdce0b")
DOMMutationEvent;
#endif

#ifndef __IDOMBeforeUnloadEvent_INTERFACE_DEFINED__
#define __IDOMBeforeUnloadEvent_INTERFACE_DEFINED__

/* interface IDOMBeforeUnloadEvent */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMBeforeUnloadEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510763-98b5-11cf-bb82-00aa00bdce0b")
    IDOMBeforeUnloadEvent : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_returnValue( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_returnValue( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMBeforeUnloadEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMBeforeUnloadEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMBeforeUnloadEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMBeforeUnloadEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMBeforeUnloadEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMBeforeUnloadEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMBeforeUnloadEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMBeforeUnloadEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_returnValue )( 
            __RPC__in IDOMBeforeUnloadEvent * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_returnValue )( 
            __RPC__in IDOMBeforeUnloadEvent * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IDOMBeforeUnloadEventVtbl;

    interface IDOMBeforeUnloadEvent
    {
        CONST_VTBL struct IDOMBeforeUnloadEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMBeforeUnloadEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMBeforeUnloadEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMBeforeUnloadEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMBeforeUnloadEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMBeforeUnloadEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMBeforeUnloadEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMBeforeUnloadEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMBeforeUnloadEvent_put_returnValue(This,v)	\
    ( (This)->lpVtbl -> put_returnValue(This,v) ) 

#define IDOMBeforeUnloadEvent_get_returnValue(This,p)	\
    ( (This)->lpVtbl -> get_returnValue(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMBeforeUnloadEvent_INTERFACE_DEFINED__ */


#ifndef __DispDOMBeforeUnloadEvent_DISPINTERFACE_DEFINED__
#define __DispDOMBeforeUnloadEvent_DISPINTERFACE_DEFINED__

/* dispinterface DispDOMBeforeUnloadEvent */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispDOMBeforeUnloadEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("305900a8-98b5-11cf-bb82-00aa00bdce0b")
    DispDOMBeforeUnloadEvent : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispDOMBeforeUnloadEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispDOMBeforeUnloadEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispDOMBeforeUnloadEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispDOMBeforeUnloadEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispDOMBeforeUnloadEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispDOMBeforeUnloadEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispDOMBeforeUnloadEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispDOMBeforeUnloadEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispDOMBeforeUnloadEventVtbl;

    interface DispDOMBeforeUnloadEvent
    {
        CONST_VTBL struct DispDOMBeforeUnloadEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispDOMBeforeUnloadEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispDOMBeforeUnloadEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispDOMBeforeUnloadEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispDOMBeforeUnloadEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispDOMBeforeUnloadEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispDOMBeforeUnloadEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispDOMBeforeUnloadEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispDOMBeforeUnloadEvent_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DOMBeforeUnloadEvent;

#ifdef __cplusplus

class DECLSPEC_UUID("30510764-98b5-11cf-bb82-00aa00bdce0b")
DOMBeforeUnloadEvent;
#endif

#ifndef __IDOMFocusEvent_INTERFACE_DEFINED__
#define __IDOMFocusEvent_INTERFACE_DEFINED__

/* interface IDOMFocusEvent */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMFocusEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106cc-98b5-11cf-bb82-00aa00bdce0b")
    IDOMFocusEvent : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_relatedTarget( 
            /* [out][retval] */ __RPC__deref_out_opt IEventTarget **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE initFocusEvent( 
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in_opt IHTMLWindow2 *view,
            /* [in] */ long detail,
            /* [in] */ __RPC__in_opt IEventTarget *relatedTargetArg) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMFocusEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMFocusEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMFocusEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMFocusEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMFocusEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMFocusEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMFocusEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMFocusEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relatedTarget )( 
            __RPC__in IDOMFocusEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt IEventTarget **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *initFocusEvent )( 
            __RPC__in IDOMFocusEvent * This,
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in_opt IHTMLWindow2 *view,
            /* [in] */ long detail,
            /* [in] */ __RPC__in_opt IEventTarget *relatedTargetArg);
        
        END_INTERFACE
    } IDOMFocusEventVtbl;

    interface IDOMFocusEvent
    {
        CONST_VTBL struct IDOMFocusEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMFocusEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMFocusEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMFocusEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMFocusEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMFocusEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMFocusEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMFocusEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMFocusEvent_get_relatedTarget(This,p)	\
    ( (This)->lpVtbl -> get_relatedTarget(This,p) ) 

#define IDOMFocusEvent_initFocusEvent(This,eventType,canBubble,cancelable,view,detail,relatedTargetArg)	\
    ( (This)->lpVtbl -> initFocusEvent(This,eventType,canBubble,cancelable,view,detail,relatedTargetArg) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMFocusEvent_INTERFACE_DEFINED__ */


#ifndef __DispDOMFocusEvent_DISPINTERFACE_DEFINED__
#define __DispDOMFocusEvent_DISPINTERFACE_DEFINED__

/* dispinterface DispDOMFocusEvent */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispDOMFocusEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590071-98b5-11cf-bb82-00aa00bdce0b")
    DispDOMFocusEvent : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispDOMFocusEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispDOMFocusEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispDOMFocusEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispDOMFocusEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispDOMFocusEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispDOMFocusEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispDOMFocusEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispDOMFocusEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispDOMFocusEventVtbl;

    interface DispDOMFocusEvent
    {
        CONST_VTBL struct DispDOMFocusEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispDOMFocusEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispDOMFocusEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispDOMFocusEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispDOMFocusEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispDOMFocusEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispDOMFocusEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispDOMFocusEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispDOMFocusEvent_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DOMFocusEvent;

#ifdef __cplusplus

class DECLSPEC_UUID("305106cd-98b5-11cf-bb82-00aa00bdce0b")
DOMFocusEvent;
#endif

#ifndef __IDOMCustomEvent_INTERFACE_DEFINED__
#define __IDOMCustomEvent_INTERFACE_DEFINED__

/* interface IDOMCustomEvent */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMCustomEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106de-98b5-11cf-bb82-00aa00bdce0b")
    IDOMCustomEvent : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_detail( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE initCustomEvent( 
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in VARIANT *detail) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMCustomEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMCustomEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMCustomEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMCustomEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMCustomEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMCustomEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMCustomEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMCustomEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_detail )( 
            __RPC__in IDOMCustomEvent * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *initCustomEvent )( 
            __RPC__in IDOMCustomEvent * This,
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in VARIANT *detail);
        
        END_INTERFACE
    } IDOMCustomEventVtbl;

    interface IDOMCustomEvent
    {
        CONST_VTBL struct IDOMCustomEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMCustomEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMCustomEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMCustomEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMCustomEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMCustomEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMCustomEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMCustomEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMCustomEvent_get_detail(This,p)	\
    ( (This)->lpVtbl -> get_detail(This,p) ) 

#define IDOMCustomEvent_initCustomEvent(This,eventType,canBubble,cancelable,detail)	\
    ( (This)->lpVtbl -> initCustomEvent(This,eventType,canBubble,cancelable,detail) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMCustomEvent_INTERFACE_DEFINED__ */


#ifndef __DispDOMCustomEvent_DISPINTERFACE_DEFINED__
#define __DispDOMCustomEvent_DISPINTERFACE_DEFINED__

/* dispinterface DispDOMCustomEvent */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispDOMCustomEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059007c-98b5-11cf-bb82-00aa00bdce0b")
    DispDOMCustomEvent : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispDOMCustomEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispDOMCustomEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispDOMCustomEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispDOMCustomEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispDOMCustomEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispDOMCustomEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispDOMCustomEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispDOMCustomEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispDOMCustomEventVtbl;

    interface DispDOMCustomEvent
    {
        CONST_VTBL struct DispDOMCustomEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispDOMCustomEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispDOMCustomEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispDOMCustomEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispDOMCustomEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispDOMCustomEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispDOMCustomEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispDOMCustomEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispDOMCustomEvent_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DOMCustomEvent;

#ifdef __cplusplus

class DECLSPEC_UUID("305106df-98b5-11cf-bb82-00aa00bdce0b")
DOMCustomEvent;
#endif

#ifndef __ICanvasGradient_INTERFACE_DEFINED__
#define __ICanvasGradient_INTERFACE_DEFINED__

/* interface ICanvasGradient */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ICanvasGradient;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510714-98b5-11cf-bb82-00aa00bdce0b")
    ICanvasGradient : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE addColorStop( 
            /* [in] */ float offset,
            /* [in] */ __RPC__in BSTR color) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICanvasGradientVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ICanvasGradient * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ICanvasGradient * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ICanvasGradient * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ICanvasGradient * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ICanvasGradient * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ICanvasGradient * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICanvasGradient * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *addColorStop )( 
            __RPC__in ICanvasGradient * This,
            /* [in] */ float offset,
            /* [in] */ __RPC__in BSTR color);
        
        END_INTERFACE
    } ICanvasGradientVtbl;

    interface ICanvasGradient
    {
        CONST_VTBL struct ICanvasGradientVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICanvasGradient_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICanvasGradient_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICanvasGradient_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICanvasGradient_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICanvasGradient_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICanvasGradient_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICanvasGradient_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICanvasGradient_addColorStop(This,offset,color)	\
    ( (This)->lpVtbl -> addColorStop(This,offset,color) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICanvasGradient_INTERFACE_DEFINED__ */


#ifndef __ICanvasPattern_INTERFACE_DEFINED__
#define __ICanvasPattern_INTERFACE_DEFINED__

/* interface ICanvasPattern */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ICanvasPattern;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510716-98b5-11cf-bb82-00aa00bdce0b")
    ICanvasPattern : public IDispatch
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct ICanvasPatternVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ICanvasPattern * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ICanvasPattern * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ICanvasPattern * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ICanvasPattern * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ICanvasPattern * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ICanvasPattern * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICanvasPattern * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } ICanvasPatternVtbl;

    interface ICanvasPattern
    {
        CONST_VTBL struct ICanvasPatternVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICanvasPattern_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICanvasPattern_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICanvasPattern_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICanvasPattern_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICanvasPattern_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICanvasPattern_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICanvasPattern_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICanvasPattern_INTERFACE_DEFINED__ */


#ifndef __ICanvasTextMetrics_INTERFACE_DEFINED__
#define __ICanvasTextMetrics_INTERFACE_DEFINED__

/* interface ICanvasTextMetrics */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ICanvasTextMetrics;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510718-98b5-11cf-bb82-00aa00bdce0b")
    ICanvasTextMetrics : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICanvasTextMetricsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ICanvasTextMetrics * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ICanvasTextMetrics * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ICanvasTextMetrics * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ICanvasTextMetrics * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ICanvasTextMetrics * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ICanvasTextMetrics * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICanvasTextMetrics * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in ICanvasTextMetrics * This,
            /* [out][retval] */ __RPC__out float *p);
        
        END_INTERFACE
    } ICanvasTextMetricsVtbl;

    interface ICanvasTextMetrics
    {
        CONST_VTBL struct ICanvasTextMetricsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICanvasTextMetrics_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICanvasTextMetrics_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICanvasTextMetrics_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICanvasTextMetrics_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICanvasTextMetrics_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICanvasTextMetrics_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICanvasTextMetrics_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICanvasTextMetrics_get_width(This,p)	\
    ( (This)->lpVtbl -> get_width(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICanvasTextMetrics_INTERFACE_DEFINED__ */


#ifndef __ICanvasImageData_INTERFACE_DEFINED__
#define __ICanvasImageData_INTERFACE_DEFINED__

/* interface ICanvasImageData */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ICanvasImageData;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051071a-98b5-11cf-bb82-00aa00bdce0b")
    ICanvasImageData : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__out ULONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__out ULONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_data( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICanvasImageDataVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ICanvasImageData * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ICanvasImageData * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ICanvasImageData * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ICanvasImageData * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ICanvasImageData * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ICanvasImageData * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICanvasImageData * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in ICanvasImageData * This,
            /* [out][retval] */ __RPC__out ULONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in ICanvasImageData * This,
            /* [out][retval] */ __RPC__out ULONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_data )( 
            __RPC__in ICanvasImageData * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } ICanvasImageDataVtbl;

    interface ICanvasImageData
    {
        CONST_VTBL struct ICanvasImageDataVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICanvasImageData_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICanvasImageData_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICanvasImageData_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICanvasImageData_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICanvasImageData_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICanvasImageData_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICanvasImageData_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICanvasImageData_get_width(This,p)	\
    ( (This)->lpVtbl -> get_width(This,p) ) 

#define ICanvasImageData_get_height(This,p)	\
    ( (This)->lpVtbl -> get_height(This,p) ) 

#define ICanvasImageData_get_data(This,p)	\
    ( (This)->lpVtbl -> get_data(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICanvasImageData_INTERFACE_DEFINED__ */


#ifndef __ICanvasPixelArray_INTERFACE_DEFINED__
#define __ICanvasPixelArray_INTERFACE_DEFINED__

/* interface ICanvasPixelArray */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ICanvasPixelArray;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051071c-98b5-11cf-bb82-00aa00bdce0b")
    ICanvasPixelArray : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out ULONG *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICanvasPixelArrayVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ICanvasPixelArray * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ICanvasPixelArray * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ICanvasPixelArray * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ICanvasPixelArray * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ICanvasPixelArray * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ICanvasPixelArray * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICanvasPixelArray * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in ICanvasPixelArray * This,
            /* [out][retval] */ __RPC__out ULONG *p);
        
        END_INTERFACE
    } ICanvasPixelArrayVtbl;

    interface ICanvasPixelArray
    {
        CONST_VTBL struct ICanvasPixelArrayVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICanvasPixelArray_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICanvasPixelArray_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICanvasPixelArray_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICanvasPixelArray_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICanvasPixelArray_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICanvasPixelArray_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICanvasPixelArray_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICanvasPixelArray_get_length(This,p)	\
    ( (This)->lpVtbl -> get_length(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICanvasPixelArray_INTERFACE_DEFINED__ */


#ifndef __IHTMLCanvasElement_INTERFACE_DEFINED__
#define __IHTMLCanvasElement_INTERFACE_DEFINED__

/* interface IHTMLCanvasElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLCanvasElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106e4-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLCanvasElement : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_width( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_height( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getContext( 
            /* [in] */ __RPC__in BSTR contextId,
            /* [out][retval] */ __RPC__deref_out_opt ICanvasRenderingContext2D **ppContext) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE toDataURL( 
            /* [in] */ __RPC__in BSTR type,
            /* [in] */ VARIANT jpegquality,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pUrl) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLCanvasElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLCanvasElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLCanvasElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLCanvasElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLCanvasElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLCanvasElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLCanvasElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLCanvasElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_width )( 
            __RPC__in IHTMLCanvasElement * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in IHTMLCanvasElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_height )( 
            __RPC__in IHTMLCanvasElement * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in IHTMLCanvasElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getContext )( 
            __RPC__in IHTMLCanvasElement * This,
            /* [in] */ __RPC__in BSTR contextId,
            /* [out][retval] */ __RPC__deref_out_opt ICanvasRenderingContext2D **ppContext);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *toDataURL )( 
            __RPC__in IHTMLCanvasElement * This,
            /* [in] */ __RPC__in BSTR type,
            /* [in] */ VARIANT jpegquality,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pUrl);
        
        END_INTERFACE
    } IHTMLCanvasElementVtbl;

    interface IHTMLCanvasElement
    {
        CONST_VTBL struct IHTMLCanvasElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLCanvasElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLCanvasElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLCanvasElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLCanvasElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLCanvasElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLCanvasElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLCanvasElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLCanvasElement_put_width(This,v)	\
    ( (This)->lpVtbl -> put_width(This,v) ) 

#define IHTMLCanvasElement_get_width(This,p)	\
    ( (This)->lpVtbl -> get_width(This,p) ) 

#define IHTMLCanvasElement_put_height(This,v)	\
    ( (This)->lpVtbl -> put_height(This,v) ) 

#define IHTMLCanvasElement_get_height(This,p)	\
    ( (This)->lpVtbl -> get_height(This,p) ) 

#define IHTMLCanvasElement_getContext(This,contextId,ppContext)	\
    ( (This)->lpVtbl -> getContext(This,contextId,ppContext) ) 

#define IHTMLCanvasElement_toDataURL(This,type,jpegquality,pUrl)	\
    ( (This)->lpVtbl -> toDataURL(This,type,jpegquality,pUrl) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLCanvasElement_INTERFACE_DEFINED__ */


#ifndef __ICanvasRenderingContext2D_INTERFACE_DEFINED__
#define __ICanvasRenderingContext2D_INTERFACE_DEFINED__

/* interface ICanvasRenderingContext2D */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ICanvasRenderingContext2D;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106ff-98b5-11cf-bb82-00aa00bdce0b")
    ICanvasRenderingContext2D : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_canvas( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLCanvasElement **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE restore( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE save( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE rotate( 
            /* [in] */ float angle) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE scale( 
            /* [in] */ float x,
            /* [in] */ float y) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setTransform( 
            /* [in] */ float m11,
            /* [in] */ float m12,
            /* [in] */ float m21,
            /* [in] */ float m22,
            /* [in] */ float dx,
            /* [in] */ float dy) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE transform( 
            /* [in] */ float m11,
            /* [in] */ float m12,
            /* [in] */ float m21,
            /* [in] */ float m22,
            /* [in] */ float dx,
            /* [in] */ float dy) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE translate( 
            /* [in] */ float x,
            /* [in] */ float y) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_globalAlpha( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_globalAlpha( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_globalCompositeOperation( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_globalCompositeOperation( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_fillStyle( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_fillStyle( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_strokeStyle( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_strokeStyle( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createLinearGradient( 
            /* [in] */ float x0,
            /* [in] */ float y0,
            /* [in] */ float x1,
            /* [in] */ float y1,
            /* [out][retval] */ __RPC__deref_out_opt ICanvasGradient **ppCanvasGradient) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createRadialGradient( 
            /* [in] */ float x0,
            /* [in] */ float y0,
            /* [in] */ float r0,
            /* [in] */ float x1,
            /* [in] */ float y1,
            /* [in] */ float r1,
            /* [out][retval] */ __RPC__deref_out_opt ICanvasGradient **ppCanvasGradient) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createPattern( 
            /* [in] */ __RPC__in_opt IDispatch *image,
            /* [in] */ VARIANT repetition,
            /* [out][retval] */ __RPC__deref_out_opt ICanvasPattern **ppCanvasPattern) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_lineCap( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_lineCap( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_lineJoin( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_lineJoin( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_lineWidth( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_lineWidth( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_miterLimit( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_miterLimit( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_shadowBlur( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_shadowBlur( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_shadowColor( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_shadowColor( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_shadowOffsetX( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_shadowOffsetX( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_shadowOffsetY( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_shadowOffsetY( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE clearRect( 
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ float w,
            /* [in] */ float h) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE fillRect( 
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ float w,
            /* [in] */ float h) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE strokeRect( 
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ float w,
            /* [in] */ float h) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE arc( 
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ float radius,
            /* [in] */ float startAngle,
            /* [in] */ float endAngle,
            /* [in] */ BOOL anticlockwise) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE arcTo( 
            /* [in] */ float x1,
            /* [in] */ float y1,
            /* [in] */ float x2,
            /* [in] */ float y2,
            /* [in] */ float radius) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE beginPath( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE bezierCurveTo( 
            /* [in] */ float cp1x,
            /* [in] */ float cp1y,
            /* [in] */ float cp2x,
            /* [in] */ float cp2y,
            /* [in] */ float x,
            /* [in] */ float y) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE clip( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE closePath( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE fill( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE lineTo( 
            /* [in] */ float x,
            /* [in] */ float y) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE moveTo( 
            /* [in] */ float x,
            /* [in] */ float y) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE quadraticCurveTo( 
            /* [in] */ float cpx,
            /* [in] */ float cpy,
            /* [in] */ float x,
            /* [in] */ float y) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE rect( 
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ float w,
            /* [in] */ float h) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE stroke( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE isPointInPath( 
            /* [in] */ float x,
            /* [in] */ float y,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pResult) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_font( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_font( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_textAlign( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_textAlign( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_textBaseline( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_textBaseline( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE fillText( 
            /* [in] */ __RPC__in BSTR text,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ VARIANT maxWidth) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE measureText( 
            /* [in] */ __RPC__in BSTR text,
            /* [out][retval] */ __RPC__deref_out_opt ICanvasTextMetrics **ppCanvasTextMetrics) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE strokeText( 
            /* [in] */ __RPC__in BSTR text,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ VARIANT maxWidth) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE drawImage( 
            /* [in] */ __RPC__in_opt IDispatch *pSrc,
            /* [in] */ VARIANT a1,
            /* [in] */ VARIANT a2,
            /* [in] */ VARIANT a3,
            /* [in] */ VARIANT a4,
            /* [in] */ VARIANT a5,
            /* [in] */ VARIANT a6,
            /* [in] */ VARIANT a7,
            /* [in] */ VARIANT a8) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createImageData( 
            /* [in] */ VARIANT a1,
            /* [in] */ VARIANT a2,
            /* [out][retval] */ __RPC__deref_out_opt ICanvasImageData **ppCanvasImageData) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getImageData( 
            /* [in] */ float sx,
            /* [in] */ float sy,
            /* [in] */ float sw,
            /* [in] */ float sh,
            /* [out][retval] */ __RPC__deref_out_opt ICanvasImageData **ppCanvasImageData) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE putImageData( 
            /* [in] */ __RPC__in_opt ICanvasImageData *imagedata,
            /* [in] */ float dx,
            /* [in] */ float dy,
            /* [in] */ VARIANT dirtyX,
            /* [in] */ VARIANT dirtyY,
            /* [in] */ VARIANT dirtyWidth,
            /* [in] */ VARIANT dirtyHeight) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICanvasRenderingContext2DVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ICanvasRenderingContext2D * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ICanvasRenderingContext2D * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICanvasRenderingContext2D * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_canvas )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLCanvasElement **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *restore )( 
            __RPC__in ICanvasRenderingContext2D * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *save )( 
            __RPC__in ICanvasRenderingContext2D * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *rotate )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ float angle);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *scale )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ float x,
            /* [in] */ float y);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setTransform )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ float m11,
            /* [in] */ float m12,
            /* [in] */ float m21,
            /* [in] */ float m22,
            /* [in] */ float dx,
            /* [in] */ float dy);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *transform )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ float m11,
            /* [in] */ float m12,
            /* [in] */ float m21,
            /* [in] */ float m22,
            /* [in] */ float dx,
            /* [in] */ float dy);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *translate )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ float x,
            /* [in] */ float y);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_globalAlpha )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_globalAlpha )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_globalCompositeOperation )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_globalCompositeOperation )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_fillStyle )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fillStyle )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_strokeStyle )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_strokeStyle )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createLinearGradient )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ float x0,
            /* [in] */ float y0,
            /* [in] */ float x1,
            /* [in] */ float y1,
            /* [out][retval] */ __RPC__deref_out_opt ICanvasGradient **ppCanvasGradient);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createRadialGradient )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ float x0,
            /* [in] */ float y0,
            /* [in] */ float r0,
            /* [in] */ float x1,
            /* [in] */ float y1,
            /* [in] */ float r1,
            /* [out][retval] */ __RPC__deref_out_opt ICanvasGradient **ppCanvasGradient);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createPattern )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ __RPC__in_opt IDispatch *image,
            /* [in] */ VARIANT repetition,
            /* [out][retval] */ __RPC__deref_out_opt ICanvasPattern **ppCanvasPattern);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_lineCap )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lineCap )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_lineJoin )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lineJoin )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_lineWidth )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lineWidth )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_miterLimit )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_miterLimit )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_shadowBlur )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_shadowBlur )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_shadowColor )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_shadowColor )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_shadowOffsetX )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_shadowOffsetX )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_shadowOffsetY )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_shadowOffsetY )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *clearRect )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ float w,
            /* [in] */ float h);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *fillRect )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ float w,
            /* [in] */ float h);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *strokeRect )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ float w,
            /* [in] */ float h);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *arc )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ float radius,
            /* [in] */ float startAngle,
            /* [in] */ float endAngle,
            /* [in] */ BOOL anticlockwise);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *arcTo )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ float x1,
            /* [in] */ float y1,
            /* [in] */ float x2,
            /* [in] */ float y2,
            /* [in] */ float radius);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *beginPath )( 
            __RPC__in ICanvasRenderingContext2D * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *bezierCurveTo )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ float cp1x,
            /* [in] */ float cp1y,
            /* [in] */ float cp2x,
            /* [in] */ float cp2y,
            /* [in] */ float x,
            /* [in] */ float y);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *clip )( 
            __RPC__in ICanvasRenderingContext2D * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *closePath )( 
            __RPC__in ICanvasRenderingContext2D * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *fill )( 
            __RPC__in ICanvasRenderingContext2D * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *lineTo )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ float x,
            /* [in] */ float y);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *moveTo )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ float x,
            /* [in] */ float y);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *quadraticCurveTo )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ float cpx,
            /* [in] */ float cpy,
            /* [in] */ float x,
            /* [in] */ float y);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *rect )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ float w,
            /* [in] */ float h);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *stroke )( 
            __RPC__in ICanvasRenderingContext2D * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *isPointInPath )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pResult);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_font )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_font )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textAlign )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAlign )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_textBaseline )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBaseline )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *fillText )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ __RPC__in BSTR text,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ VARIANT maxWidth);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *measureText )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ __RPC__in BSTR text,
            /* [out][retval] */ __RPC__deref_out_opt ICanvasTextMetrics **ppCanvasTextMetrics);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *strokeText )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ __RPC__in BSTR text,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ VARIANT maxWidth);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *drawImage )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ __RPC__in_opt IDispatch *pSrc,
            /* [in] */ VARIANT a1,
            /* [in] */ VARIANT a2,
            /* [in] */ VARIANT a3,
            /* [in] */ VARIANT a4,
            /* [in] */ VARIANT a5,
            /* [in] */ VARIANT a6,
            /* [in] */ VARIANT a7,
            /* [in] */ VARIANT a8);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createImageData )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ VARIANT a1,
            /* [in] */ VARIANT a2,
            /* [out][retval] */ __RPC__deref_out_opt ICanvasImageData **ppCanvasImageData);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getImageData )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ float sx,
            /* [in] */ float sy,
            /* [in] */ float sw,
            /* [in] */ float sh,
            /* [out][retval] */ __RPC__deref_out_opt ICanvasImageData **ppCanvasImageData);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *putImageData )( 
            __RPC__in ICanvasRenderingContext2D * This,
            /* [in] */ __RPC__in_opt ICanvasImageData *imagedata,
            /* [in] */ float dx,
            /* [in] */ float dy,
            /* [in] */ VARIANT dirtyX,
            /* [in] */ VARIANT dirtyY,
            /* [in] */ VARIANT dirtyWidth,
            /* [in] */ VARIANT dirtyHeight);
        
        END_INTERFACE
    } ICanvasRenderingContext2DVtbl;

    interface ICanvasRenderingContext2D
    {
        CONST_VTBL struct ICanvasRenderingContext2DVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICanvasRenderingContext2D_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICanvasRenderingContext2D_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICanvasRenderingContext2D_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICanvasRenderingContext2D_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICanvasRenderingContext2D_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICanvasRenderingContext2D_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICanvasRenderingContext2D_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICanvasRenderingContext2D_get_canvas(This,p)	\
    ( (This)->lpVtbl -> get_canvas(This,p) ) 

#define ICanvasRenderingContext2D_restore(This)	\
    ( (This)->lpVtbl -> restore(This) ) 

#define ICanvasRenderingContext2D_save(This)	\
    ( (This)->lpVtbl -> save(This) ) 

#define ICanvasRenderingContext2D_rotate(This,angle)	\
    ( (This)->lpVtbl -> rotate(This,angle) ) 

#define ICanvasRenderingContext2D_scale(This,x,y)	\
    ( (This)->lpVtbl -> scale(This,x,y) ) 

#define ICanvasRenderingContext2D_setTransform(This,m11,m12,m21,m22,dx,dy)	\
    ( (This)->lpVtbl -> setTransform(This,m11,m12,m21,m22,dx,dy) ) 

#define ICanvasRenderingContext2D_transform(This,m11,m12,m21,m22,dx,dy)	\
    ( (This)->lpVtbl -> transform(This,m11,m12,m21,m22,dx,dy) ) 

#define ICanvasRenderingContext2D_translate(This,x,y)	\
    ( (This)->lpVtbl -> translate(This,x,y) ) 

#define ICanvasRenderingContext2D_put_globalAlpha(This,v)	\
    ( (This)->lpVtbl -> put_globalAlpha(This,v) ) 

#define ICanvasRenderingContext2D_get_globalAlpha(This,p)	\
    ( (This)->lpVtbl -> get_globalAlpha(This,p) ) 

#define ICanvasRenderingContext2D_put_globalCompositeOperation(This,v)	\
    ( (This)->lpVtbl -> put_globalCompositeOperation(This,v) ) 

#define ICanvasRenderingContext2D_get_globalCompositeOperation(This,p)	\
    ( (This)->lpVtbl -> get_globalCompositeOperation(This,p) ) 

#define ICanvasRenderingContext2D_put_fillStyle(This,v)	\
    ( (This)->lpVtbl -> put_fillStyle(This,v) ) 

#define ICanvasRenderingContext2D_get_fillStyle(This,p)	\
    ( (This)->lpVtbl -> get_fillStyle(This,p) ) 

#define ICanvasRenderingContext2D_put_strokeStyle(This,v)	\
    ( (This)->lpVtbl -> put_strokeStyle(This,v) ) 

#define ICanvasRenderingContext2D_get_strokeStyle(This,p)	\
    ( (This)->lpVtbl -> get_strokeStyle(This,p) ) 

#define ICanvasRenderingContext2D_createLinearGradient(This,x0,y0,x1,y1,ppCanvasGradient)	\
    ( (This)->lpVtbl -> createLinearGradient(This,x0,y0,x1,y1,ppCanvasGradient) ) 

#define ICanvasRenderingContext2D_createRadialGradient(This,x0,y0,r0,x1,y1,r1,ppCanvasGradient)	\
    ( (This)->lpVtbl -> createRadialGradient(This,x0,y0,r0,x1,y1,r1,ppCanvasGradient) ) 

#define ICanvasRenderingContext2D_createPattern(This,image,repetition,ppCanvasPattern)	\
    ( (This)->lpVtbl -> createPattern(This,image,repetition,ppCanvasPattern) ) 

#define ICanvasRenderingContext2D_put_lineCap(This,v)	\
    ( (This)->lpVtbl -> put_lineCap(This,v) ) 

#define ICanvasRenderingContext2D_get_lineCap(This,p)	\
    ( (This)->lpVtbl -> get_lineCap(This,p) ) 

#define ICanvasRenderingContext2D_put_lineJoin(This,v)	\
    ( (This)->lpVtbl -> put_lineJoin(This,v) ) 

#define ICanvasRenderingContext2D_get_lineJoin(This,p)	\
    ( (This)->lpVtbl -> get_lineJoin(This,p) ) 

#define ICanvasRenderingContext2D_put_lineWidth(This,v)	\
    ( (This)->lpVtbl -> put_lineWidth(This,v) ) 

#define ICanvasRenderingContext2D_get_lineWidth(This,p)	\
    ( (This)->lpVtbl -> get_lineWidth(This,p) ) 

#define ICanvasRenderingContext2D_put_miterLimit(This,v)	\
    ( (This)->lpVtbl -> put_miterLimit(This,v) ) 

#define ICanvasRenderingContext2D_get_miterLimit(This,p)	\
    ( (This)->lpVtbl -> get_miterLimit(This,p) ) 

#define ICanvasRenderingContext2D_put_shadowBlur(This,v)	\
    ( (This)->lpVtbl -> put_shadowBlur(This,v) ) 

#define ICanvasRenderingContext2D_get_shadowBlur(This,p)	\
    ( (This)->lpVtbl -> get_shadowBlur(This,p) ) 

#define ICanvasRenderingContext2D_put_shadowColor(This,v)	\
    ( (This)->lpVtbl -> put_shadowColor(This,v) ) 

#define ICanvasRenderingContext2D_get_shadowColor(This,p)	\
    ( (This)->lpVtbl -> get_shadowColor(This,p) ) 

#define ICanvasRenderingContext2D_put_shadowOffsetX(This,v)	\
    ( (This)->lpVtbl -> put_shadowOffsetX(This,v) ) 

#define ICanvasRenderingContext2D_get_shadowOffsetX(This,p)	\
    ( (This)->lpVtbl -> get_shadowOffsetX(This,p) ) 

#define ICanvasRenderingContext2D_put_shadowOffsetY(This,v)	\
    ( (This)->lpVtbl -> put_shadowOffsetY(This,v) ) 

#define ICanvasRenderingContext2D_get_shadowOffsetY(This,p)	\
    ( (This)->lpVtbl -> get_shadowOffsetY(This,p) ) 

#define ICanvasRenderingContext2D_clearRect(This,x,y,w,h)	\
    ( (This)->lpVtbl -> clearRect(This,x,y,w,h) ) 

#define ICanvasRenderingContext2D_fillRect(This,x,y,w,h)	\
    ( (This)->lpVtbl -> fillRect(This,x,y,w,h) ) 

#define ICanvasRenderingContext2D_strokeRect(This,x,y,w,h)	\
    ( (This)->lpVtbl -> strokeRect(This,x,y,w,h) ) 

#define ICanvasRenderingContext2D_arc(This,x,y,radius,startAngle,endAngle,anticlockwise)	\
    ( (This)->lpVtbl -> arc(This,x,y,radius,startAngle,endAngle,anticlockwise) ) 

#define ICanvasRenderingContext2D_arcTo(This,x1,y1,x2,y2,radius)	\
    ( (This)->lpVtbl -> arcTo(This,x1,y1,x2,y2,radius) ) 

#define ICanvasRenderingContext2D_beginPath(This)	\
    ( (This)->lpVtbl -> beginPath(This) ) 

#define ICanvasRenderingContext2D_bezierCurveTo(This,cp1x,cp1y,cp2x,cp2y,x,y)	\
    ( (This)->lpVtbl -> bezierCurveTo(This,cp1x,cp1y,cp2x,cp2y,x,y) ) 

#define ICanvasRenderingContext2D_clip(This)	\
    ( (This)->lpVtbl -> clip(This) ) 

#define ICanvasRenderingContext2D_closePath(This)	\
    ( (This)->lpVtbl -> closePath(This) ) 

#define ICanvasRenderingContext2D_fill(This)	\
    ( (This)->lpVtbl -> fill(This) ) 

#define ICanvasRenderingContext2D_lineTo(This,x,y)	\
    ( (This)->lpVtbl -> lineTo(This,x,y) ) 

#define ICanvasRenderingContext2D_moveTo(This,x,y)	\
    ( (This)->lpVtbl -> moveTo(This,x,y) ) 

#define ICanvasRenderingContext2D_quadraticCurveTo(This,cpx,cpy,x,y)	\
    ( (This)->lpVtbl -> quadraticCurveTo(This,cpx,cpy,x,y) ) 

#define ICanvasRenderingContext2D_rect(This,x,y,w,h)	\
    ( (This)->lpVtbl -> rect(This,x,y,w,h) ) 

#define ICanvasRenderingContext2D_stroke(This)	\
    ( (This)->lpVtbl -> stroke(This) ) 

#define ICanvasRenderingContext2D_isPointInPath(This,x,y,pResult)	\
    ( (This)->lpVtbl -> isPointInPath(This,x,y,pResult) ) 

#define ICanvasRenderingContext2D_put_font(This,v)	\
    ( (This)->lpVtbl -> put_font(This,v) ) 

#define ICanvasRenderingContext2D_get_font(This,p)	\
    ( (This)->lpVtbl -> get_font(This,p) ) 

#define ICanvasRenderingContext2D_put_textAlign(This,v)	\
    ( (This)->lpVtbl -> put_textAlign(This,v) ) 

#define ICanvasRenderingContext2D_get_textAlign(This,p)	\
    ( (This)->lpVtbl -> get_textAlign(This,p) ) 

#define ICanvasRenderingContext2D_put_textBaseline(This,v)	\
    ( (This)->lpVtbl -> put_textBaseline(This,v) ) 

#define ICanvasRenderingContext2D_get_textBaseline(This,p)	\
    ( (This)->lpVtbl -> get_textBaseline(This,p) ) 

#define ICanvasRenderingContext2D_fillText(This,text,x,y,maxWidth)	\
    ( (This)->lpVtbl -> fillText(This,text,x,y,maxWidth) ) 

#define ICanvasRenderingContext2D_measureText(This,text,ppCanvasTextMetrics)	\
    ( (This)->lpVtbl -> measureText(This,text,ppCanvasTextMetrics) ) 

#define ICanvasRenderingContext2D_strokeText(This,text,x,y,maxWidth)	\
    ( (This)->lpVtbl -> strokeText(This,text,x,y,maxWidth) ) 

#define ICanvasRenderingContext2D_drawImage(This,pSrc,a1,a2,a3,a4,a5,a6,a7,a8)	\
    ( (This)->lpVtbl -> drawImage(This,pSrc,a1,a2,a3,a4,a5,a6,a7,a8) ) 

#define ICanvasRenderingContext2D_createImageData(This,a1,a2,ppCanvasImageData)	\
    ( (This)->lpVtbl -> createImageData(This,a1,a2,ppCanvasImageData) ) 

#define ICanvasRenderingContext2D_getImageData(This,sx,sy,sw,sh,ppCanvasImageData)	\
    ( (This)->lpVtbl -> getImageData(This,sx,sy,sw,sh,ppCanvasImageData) ) 

#define ICanvasRenderingContext2D_putImageData(This,imagedata,dx,dy,dirtyX,dirtyY,dirtyWidth,dirtyHeight)	\
    ( (This)->lpVtbl -> putImageData(This,imagedata,dx,dy,dirtyX,dirtyY,dirtyWidth,dirtyHeight) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICanvasRenderingContext2D_INTERFACE_DEFINED__ */


#ifndef __DispCanvasGradient_DISPINTERFACE_DEFINED__
#define __DispCanvasGradient_DISPINTERFACE_DEFINED__

/* dispinterface DispCanvasGradient */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispCanvasGradient;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059008c-98b5-11cf-bb82-00aa00bdce0b")
    DispCanvasGradient : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispCanvasGradientVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispCanvasGradient * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispCanvasGradient * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispCanvasGradient * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispCanvasGradient * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispCanvasGradient * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispCanvasGradient * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispCanvasGradient * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispCanvasGradientVtbl;

    interface DispCanvasGradient
    {
        CONST_VTBL struct DispCanvasGradientVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispCanvasGradient_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispCanvasGradient_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispCanvasGradient_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispCanvasGradient_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispCanvasGradient_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispCanvasGradient_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispCanvasGradient_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispCanvasGradient_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_CanvasGradient;

#ifdef __cplusplus

class DECLSPEC_UUID("30510715-98b5-11cf-bb82-00aa00bdce0b")
CanvasGradient;
#endif

#ifndef __DispCanvasPattern_DISPINTERFACE_DEFINED__
#define __DispCanvasPattern_DISPINTERFACE_DEFINED__

/* dispinterface DispCanvasPattern */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispCanvasPattern;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059008d-98b5-11cf-bb82-00aa00bdce0b")
    DispCanvasPattern : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispCanvasPatternVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispCanvasPattern * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispCanvasPattern * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispCanvasPattern * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispCanvasPattern * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispCanvasPattern * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispCanvasPattern * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispCanvasPattern * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispCanvasPatternVtbl;

    interface DispCanvasPattern
    {
        CONST_VTBL struct DispCanvasPatternVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispCanvasPattern_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispCanvasPattern_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispCanvasPattern_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispCanvasPattern_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispCanvasPattern_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispCanvasPattern_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispCanvasPattern_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispCanvasPattern_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_CanvasPattern;

#ifdef __cplusplus

class DECLSPEC_UUID("30510717-98b5-11cf-bb82-00aa00bdce0b")
CanvasPattern;
#endif

#ifndef __DispCanvasTextMetrics_DISPINTERFACE_DEFINED__
#define __DispCanvasTextMetrics_DISPINTERFACE_DEFINED__

/* dispinterface DispCanvasTextMetrics */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispCanvasTextMetrics;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059008e-98b5-11cf-bb82-00aa00bdce0b")
    DispCanvasTextMetrics : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispCanvasTextMetricsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispCanvasTextMetrics * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispCanvasTextMetrics * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispCanvasTextMetrics * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispCanvasTextMetrics * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispCanvasTextMetrics * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispCanvasTextMetrics * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispCanvasTextMetrics * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispCanvasTextMetricsVtbl;

    interface DispCanvasTextMetrics
    {
        CONST_VTBL struct DispCanvasTextMetricsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispCanvasTextMetrics_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispCanvasTextMetrics_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispCanvasTextMetrics_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispCanvasTextMetrics_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispCanvasTextMetrics_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispCanvasTextMetrics_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispCanvasTextMetrics_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispCanvasTextMetrics_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_CanvasTextMetrics;

#ifdef __cplusplus

class DECLSPEC_UUID("30510719-98b5-11cf-bb82-00aa00bdce0b")
CanvasTextMetrics;
#endif

#ifndef __DispCanvasImageData_DISPINTERFACE_DEFINED__
#define __DispCanvasImageData_DISPINTERFACE_DEFINED__

/* dispinterface DispCanvasImageData */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispCanvasImageData;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059008f-98b5-11cf-bb82-00aa00bdce0b")
    DispCanvasImageData : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispCanvasImageDataVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispCanvasImageData * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispCanvasImageData * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispCanvasImageData * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispCanvasImageData * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispCanvasImageData * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispCanvasImageData * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispCanvasImageData * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispCanvasImageDataVtbl;

    interface DispCanvasImageData
    {
        CONST_VTBL struct DispCanvasImageDataVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispCanvasImageData_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispCanvasImageData_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispCanvasImageData_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispCanvasImageData_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispCanvasImageData_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispCanvasImageData_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispCanvasImageData_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispCanvasImageData_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_CanvasImageData;

#ifdef __cplusplus

class DECLSPEC_UUID("3051071b-98b5-11cf-bb82-00aa00bdce0b")
CanvasImageData;
#endif

#ifndef __DispCanvasRenderingContext2D_DISPINTERFACE_DEFINED__
#define __DispCanvasRenderingContext2D_DISPINTERFACE_DEFINED__

/* dispinterface DispCanvasRenderingContext2D */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispCanvasRenderingContext2D;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590082-98b5-11cf-bb82-00aa00bdce0b")
    DispCanvasRenderingContext2D : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispCanvasRenderingContext2DVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispCanvasRenderingContext2D * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispCanvasRenderingContext2D * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispCanvasRenderingContext2D * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispCanvasRenderingContext2D * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispCanvasRenderingContext2D * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispCanvasRenderingContext2D * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispCanvasRenderingContext2D * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispCanvasRenderingContext2DVtbl;

    interface DispCanvasRenderingContext2D
    {
        CONST_VTBL struct DispCanvasRenderingContext2DVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispCanvasRenderingContext2D_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispCanvasRenderingContext2D_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispCanvasRenderingContext2D_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispCanvasRenderingContext2D_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispCanvasRenderingContext2D_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispCanvasRenderingContext2D_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispCanvasRenderingContext2D_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispCanvasRenderingContext2D_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_CanvasRenderingContext2D;

#ifdef __cplusplus

class DECLSPEC_UUID("30510700-98b5-11cf-bb82-00aa00bdce0b")
CanvasRenderingContext2D;
#endif

#ifndef __DispHTMLCanvasElement_DISPINTERFACE_DEFINED__
#define __DispHTMLCanvasElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLCanvasElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLCanvasElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059007b-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLCanvasElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLCanvasElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLCanvasElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLCanvasElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLCanvasElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLCanvasElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLCanvasElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLCanvasElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLCanvasElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLCanvasElementVtbl;

    interface DispHTMLCanvasElement
    {
        CONST_VTBL struct DispHTMLCanvasElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLCanvasElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLCanvasElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLCanvasElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLCanvasElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLCanvasElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLCanvasElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLCanvasElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLCanvasElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLCanvasElement;

#ifdef __cplusplus

class DECLSPEC_UUID("305106e5-98b5-11cf-bb82-00aa00bdce0b")
HTMLCanvasElement;
#endif

#ifndef __IDOMProgressEvent_INTERFACE_DEFINED__
#define __IDOMProgressEvent_INTERFACE_DEFINED__

/* interface IDOMProgressEvent */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMProgressEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051071e-98b5-11cf-bb82-00aa00bdce0b")
    IDOMProgressEvent : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_lengthComputable( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_loaded( 
            /* [out][retval] */ __RPC__out ULONGLONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_total( 
            /* [out][retval] */ __RPC__out ULONGLONG *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE initProgressEvent( 
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ VARIANT_BOOL lengthComputableArg,
            /* [in] */ ULONGLONG loadedArg,
            /* [in] */ ULONGLONG totalArg) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMProgressEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMProgressEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMProgressEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMProgressEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMProgressEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMProgressEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMProgressEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMProgressEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthComputable )( 
            __RPC__in IDOMProgressEvent * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_loaded )( 
            __RPC__in IDOMProgressEvent * This,
            /* [out][retval] */ __RPC__out ULONGLONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_total )( 
            __RPC__in IDOMProgressEvent * This,
            /* [out][retval] */ __RPC__out ULONGLONG *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *initProgressEvent )( 
            __RPC__in IDOMProgressEvent * This,
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ VARIANT_BOOL lengthComputableArg,
            /* [in] */ ULONGLONG loadedArg,
            /* [in] */ ULONGLONG totalArg);
        
        END_INTERFACE
    } IDOMProgressEventVtbl;

    interface IDOMProgressEvent
    {
        CONST_VTBL struct IDOMProgressEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMProgressEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMProgressEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMProgressEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMProgressEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMProgressEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMProgressEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMProgressEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMProgressEvent_get_lengthComputable(This,p)	\
    ( (This)->lpVtbl -> get_lengthComputable(This,p) ) 

#define IDOMProgressEvent_get_loaded(This,p)	\
    ( (This)->lpVtbl -> get_loaded(This,p) ) 

#define IDOMProgressEvent_get_total(This,p)	\
    ( (This)->lpVtbl -> get_total(This,p) ) 

#define IDOMProgressEvent_initProgressEvent(This,eventType,canBubble,cancelable,lengthComputableArg,loadedArg,totalArg)	\
    ( (This)->lpVtbl -> initProgressEvent(This,eventType,canBubble,cancelable,lengthComputableArg,loadedArg,totalArg) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMProgressEvent_INTERFACE_DEFINED__ */


#ifndef __DispDOMProgressEvent_DISPINTERFACE_DEFINED__
#define __DispDOMProgressEvent_DISPINTERFACE_DEFINED__

/* dispinterface DispDOMProgressEvent */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispDOMProgressEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590091-98b5-11cf-bb82-00aa00bdce0b")
    DispDOMProgressEvent : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispDOMProgressEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispDOMProgressEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispDOMProgressEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispDOMProgressEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispDOMProgressEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispDOMProgressEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispDOMProgressEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispDOMProgressEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispDOMProgressEventVtbl;

    interface DispDOMProgressEvent
    {
        CONST_VTBL struct DispDOMProgressEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispDOMProgressEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispDOMProgressEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispDOMProgressEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispDOMProgressEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispDOMProgressEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispDOMProgressEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispDOMProgressEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispDOMProgressEvent_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DOMProgressEvent;

#ifdef __cplusplus

class DECLSPEC_UUID("3051071f-98b5-11cf-bb82-00aa00bdce0b")
DOMProgressEvent;
#endif

#ifndef __IDOMMessageEvent_INTERFACE_DEFINED__
#define __IDOMMessageEvent_INTERFACE_DEFINED__

/* interface IDOMMessageEvent */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMMessageEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510720-98b5-11cf-bb82-00aa00bdce0b")
    IDOMMessageEvent : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_data( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_origin( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_source( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLWindow2 **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE initMessageEvent( 
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in BSTR data,
            /* [in] */ __RPC__in BSTR origin,
            /* [in] */ __RPC__in BSTR lastEventId,
            /* [in] */ __RPC__in_opt IHTMLWindow2 *source) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMMessageEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMMessageEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMMessageEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMMessageEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMMessageEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMMessageEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMMessageEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMMessageEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_data )( 
            __RPC__in IDOMMessageEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_origin )( 
            __RPC__in IDOMMessageEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_source )( 
            __RPC__in IDOMMessageEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLWindow2 **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *initMessageEvent )( 
            __RPC__in IDOMMessageEvent * This,
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in BSTR data,
            /* [in] */ __RPC__in BSTR origin,
            /* [in] */ __RPC__in BSTR lastEventId,
            /* [in] */ __RPC__in_opt IHTMLWindow2 *source);
        
        END_INTERFACE
    } IDOMMessageEventVtbl;

    interface IDOMMessageEvent
    {
        CONST_VTBL struct IDOMMessageEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMMessageEvent_INTERFACE_DEFINED__ */


#ifndef __DispDOMMessageEvent_DISPINTERFACE_DEFINED__
#define __DispDOMMessageEvent_DISPINTERFACE_DEFINED__

/* dispinterface DispDOMMessageEvent */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispDOMMessageEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590092-98b5-11cf-bb82-00aa00bdce0b")
    DispDOMMessageEvent : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispDOMMessageEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispDOMMessageEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispDOMMessageEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispDOMMessageEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispDOMMessageEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispDOMMessageEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispDOMMessageEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispDOMMessageEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispDOMMessageEventVtbl;

    interface DispDOMMessageEvent
    {
        CONST_VTBL struct DispDOMMessageEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispDOMMessageEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispDOMMessageEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispDOMMessageEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispDOMMessageEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispDOMMessageEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispDOMMessageEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispDOMMessageEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispDOMMessageEvent_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DOMMessageEvent;

#ifdef __cplusplus

class DECLSPEC_UUID("30510721-98b5-11cf-bb82-00aa00bdce0b")
DOMMessageEvent;
#endif

#ifndef __IDOMSiteModeEvent_INTERFACE_DEFINED__
#define __IDOMSiteModeEvent_INTERFACE_DEFINED__

/* interface IDOMSiteModeEvent */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMSiteModeEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510765-98b6-11cf-bb82-00aa00bdce0b")
    IDOMSiteModeEvent : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_buttonID( 
            /* [out][retval] */ __RPC__out LONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_actionURL( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMSiteModeEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMSiteModeEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMSiteModeEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMSiteModeEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMSiteModeEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMSiteModeEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMSiteModeEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMSiteModeEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_buttonID )( 
            __RPC__in IDOMSiteModeEvent * This,
            /* [out][retval] */ __RPC__out LONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_actionURL )( 
            __RPC__in IDOMSiteModeEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IDOMSiteModeEventVtbl;

    interface IDOMSiteModeEvent
    {
        CONST_VTBL struct IDOMSiteModeEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMSiteModeEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMSiteModeEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMSiteModeEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMSiteModeEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMSiteModeEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMSiteModeEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMSiteModeEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMSiteModeEvent_get_buttonID(This,p)	\
    ( (This)->lpVtbl -> get_buttonID(This,p) ) 

#define IDOMSiteModeEvent_get_actionURL(This,p)	\
    ( (This)->lpVtbl -> get_actionURL(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMSiteModeEvent_INTERFACE_DEFINED__ */


#ifndef __DispDOMSiteModeEvent_DISPINTERFACE_DEFINED__
#define __DispDOMSiteModeEvent_DISPINTERFACE_DEFINED__

/* dispinterface DispDOMSiteModeEvent */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispDOMSiteModeEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("305900a9-98b5-11cf-bb82-00aa00bdce0b")
    DispDOMSiteModeEvent : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispDOMSiteModeEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispDOMSiteModeEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispDOMSiteModeEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispDOMSiteModeEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispDOMSiteModeEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispDOMSiteModeEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispDOMSiteModeEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispDOMSiteModeEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispDOMSiteModeEventVtbl;

    interface DispDOMSiteModeEvent
    {
        CONST_VTBL struct DispDOMSiteModeEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispDOMSiteModeEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispDOMSiteModeEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispDOMSiteModeEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispDOMSiteModeEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispDOMSiteModeEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispDOMSiteModeEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispDOMSiteModeEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispDOMSiteModeEvent_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DOMSiteModeEvent;

#ifdef __cplusplus

class DECLSPEC_UUID("30510766-98b6-11cf-bb82-00aa00bdce0b")
DOMSiteModeEvent;
#endif

#ifndef __IDOMStorageEvent_INTERFACE_DEFINED__
#define __IDOMStorageEvent_INTERFACE_DEFINED__

/* interface IDOMStorageEvent */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMStorageEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510722-98b5-11cf-bb82-00aa00bdce0b")
    IDOMStorageEvent : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_key( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_oldValue( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_newValue( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_url( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_storageArea( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStorage **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE initStorageEvent( 
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in BSTR keyArg,
            /* [in] */ __RPC__in BSTR oldValueArg,
            /* [in] */ __RPC__in BSTR newValueArg,
            /* [in] */ __RPC__in BSTR urlArg,
            /* [in] */ __RPC__in_opt IHTMLStorage *storageAreaArg) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMStorageEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMStorageEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMStorageEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMStorageEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMStorageEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMStorageEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMStorageEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMStorageEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_key )( 
            __RPC__in IDOMStorageEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldValue )( 
            __RPC__in IDOMStorageEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_newValue )( 
            __RPC__in IDOMStorageEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_url )( 
            __RPC__in IDOMStorageEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_storageArea )( 
            __RPC__in IDOMStorageEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStorage **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *initStorageEvent )( 
            __RPC__in IDOMStorageEvent * This,
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in BSTR keyArg,
            /* [in] */ __RPC__in BSTR oldValueArg,
            /* [in] */ __RPC__in BSTR newValueArg,
            /* [in] */ __RPC__in BSTR urlArg,
            /* [in] */ __RPC__in_opt IHTMLStorage *storageAreaArg);
        
        END_INTERFACE
    } IDOMStorageEventVtbl;

    interface IDOMStorageEvent
    {
        CONST_VTBL struct IDOMStorageEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMStorageEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMStorageEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMStorageEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMStorageEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMStorageEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMStorageEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMStorageEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMStorageEvent_get_key(This,p)	\
    ( (This)->lpVtbl -> get_key(This,p) ) 

#define IDOMStorageEvent_get_oldValue(This,p)	\
    ( (This)->lpVtbl -> get_oldValue(This,p) ) 

#define IDOMStorageEvent_get_newValue(This,p)	\
    ( (This)->lpVtbl -> get_newValue(This,p) ) 

#define IDOMStorageEvent_get_url(This,p)	\
    ( (This)->lpVtbl -> get_url(This,p) ) 

#define IDOMStorageEvent_get_storageArea(This,p)	\
    ( (This)->lpVtbl -> get_storageArea(This,p) ) 

#define IDOMStorageEvent_initStorageEvent(This,eventType,canBubble,cancelable,keyArg,oldValueArg,newValueArg,urlArg,storageAreaArg)	\
    ( (This)->lpVtbl -> initStorageEvent(This,eventType,canBubble,cancelable,keyArg,oldValueArg,newValueArg,urlArg,storageAreaArg) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMStorageEvent_INTERFACE_DEFINED__ */


#ifndef __DispDOMStorageEvent_DISPINTERFACE_DEFINED__
#define __DispDOMStorageEvent_DISPINTERFACE_DEFINED__

/* dispinterface DispDOMStorageEvent */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispDOMStorageEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590093-98b5-11cf-bb82-00aa00bdce0b")
    DispDOMStorageEvent : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispDOMStorageEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispDOMStorageEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispDOMStorageEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispDOMStorageEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispDOMStorageEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispDOMStorageEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispDOMStorageEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispDOMStorageEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispDOMStorageEventVtbl;

    interface DispDOMStorageEvent
    {
        CONST_VTBL struct DispDOMStorageEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispDOMStorageEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispDOMStorageEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispDOMStorageEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispDOMStorageEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispDOMStorageEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispDOMStorageEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispDOMStorageEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispDOMStorageEvent_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DOMStorageEvent;

#ifdef __cplusplus

class DECLSPEC_UUID("30510723-98b5-11cf-bb82-00aa00bdce0b")
DOMStorageEvent;
#endif

#ifndef __IXMLHttpRequestEventTarget_INTERFACE_DEFINED__
#define __IXMLHttpRequestEventTarget_INTERFACE_DEFINED__

/* interface IXMLHttpRequestEventTarget */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IXMLHttpRequestEventTarget;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510830-98b5-11cf-bb82-00aa00bdce0b")
    IXMLHttpRequestEventTarget : public IDispatch
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct IXMLHttpRequestEventTargetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IXMLHttpRequestEventTarget * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IXMLHttpRequestEventTarget * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IXMLHttpRequestEventTarget * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IXMLHttpRequestEventTarget * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IXMLHttpRequestEventTarget * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IXMLHttpRequestEventTarget * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IXMLHttpRequestEventTarget * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } IXMLHttpRequestEventTargetVtbl;

    interface IXMLHttpRequestEventTarget
    {
        CONST_VTBL struct IXMLHttpRequestEventTargetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IXMLHttpRequestEventTarget_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IXMLHttpRequestEventTarget_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IXMLHttpRequestEventTarget_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IXMLHttpRequestEventTarget_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IXMLHttpRequestEventTarget_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IXMLHttpRequestEventTarget_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IXMLHttpRequestEventTarget_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IXMLHttpRequestEventTarget_INTERFACE_DEFINED__ */


#ifndef __DispXMLHttpRequestEventTarget_DISPINTERFACE_DEFINED__
#define __DispXMLHttpRequestEventTarget_DISPINTERFACE_DEFINED__

/* dispinterface DispXMLHttpRequestEventTarget */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispXMLHttpRequestEventTarget;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("305900e7-98b5-11cf-bb82-00aa00bdce0b")
    DispXMLHttpRequestEventTarget : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispXMLHttpRequestEventTargetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispXMLHttpRequestEventTarget * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispXMLHttpRequestEventTarget * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispXMLHttpRequestEventTarget * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispXMLHttpRequestEventTarget * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispXMLHttpRequestEventTarget * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispXMLHttpRequestEventTarget * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispXMLHttpRequestEventTarget * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispXMLHttpRequestEventTargetVtbl;

    interface DispXMLHttpRequestEventTarget
    {
        CONST_VTBL struct DispXMLHttpRequestEventTargetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispXMLHttpRequestEventTarget_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispXMLHttpRequestEventTarget_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispXMLHttpRequestEventTarget_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispXMLHttpRequestEventTarget_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispXMLHttpRequestEventTarget_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispXMLHttpRequestEventTarget_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispXMLHttpRequestEventTarget_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispXMLHttpRequestEventTarget_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_XMLHttpRequestEventTarget;

#ifdef __cplusplus

class DECLSPEC_UUID("30510831-98b5-11cf-bb82-00aa00bdce0b")
XMLHttpRequestEventTarget;
#endif

#ifndef __HTMLXMLHttpRequestEvents_DISPINTERFACE_DEFINED__
#define __HTMLXMLHttpRequestEvents_DISPINTERFACE_DEFINED__

/* dispinterface HTMLXMLHttpRequestEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLXMLHttpRequestEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30510498-98b5-11cf-bb82-00aa00bdce0b")
    HTMLXMLHttpRequestEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLXMLHttpRequestEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLXMLHttpRequestEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLXMLHttpRequestEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLXMLHttpRequestEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLXMLHttpRequestEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLXMLHttpRequestEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLXMLHttpRequestEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLXMLHttpRequestEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLXMLHttpRequestEventsVtbl;

    interface HTMLXMLHttpRequestEvents
    {
        CONST_VTBL struct HTMLXMLHttpRequestEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLXMLHttpRequestEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLXMLHttpRequestEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLXMLHttpRequestEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLXMLHttpRequestEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLXMLHttpRequestEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLXMLHttpRequestEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLXMLHttpRequestEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLXMLHttpRequestEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IHTMLXMLHttpRequest_INTERFACE_DEFINED__
#define __IHTMLXMLHttpRequest_INTERFACE_DEFINED__

/* interface IHTMLXMLHttpRequest */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLXMLHttpRequest;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051040a-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLXMLHttpRequest : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_readyState( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_responseBody( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_responseText( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_responseXML( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_status( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_statusText( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onreadystatechange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onreadystatechange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE abort( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE open( 
            /* [in] */ __RPC__in BSTR bstrMethod,
            /* [in] */ __RPC__in BSTR bstrUrl,
            /* [in] */ VARIANT varAsync,
            /* [in][optional] */ VARIANT varUser,
            /* [in][optional] */ VARIANT varPassword) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE send( 
            /* [in][optional] */ VARIANT varBody) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getAllResponseHeaders( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *__MIDL__IHTMLXMLHttpRequest0000) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getResponseHeader( 
            /* [in] */ __RPC__in BSTR bstrHeader,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *__MIDL__IHTMLXMLHttpRequest0001) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setRequestHeader( 
            /* [in] */ __RPC__in BSTR bstrHeader,
            /* [in] */ __RPC__in BSTR bstrValue) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLXMLHttpRequestVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLXMLHttpRequest * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLXMLHttpRequest * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLXMLHttpRequest * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLXMLHttpRequest * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLXMLHttpRequest * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLXMLHttpRequest * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLXMLHttpRequest * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_readyState )( 
            __RPC__in IHTMLXMLHttpRequest * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_responseBody )( 
            __RPC__in IHTMLXMLHttpRequest * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_responseText )( 
            __RPC__in IHTMLXMLHttpRequest * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_responseXML )( 
            __RPC__in IHTMLXMLHttpRequest * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 
            __RPC__in IHTMLXMLHttpRequest * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_statusText )( 
            __RPC__in IHTMLXMLHttpRequest * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onreadystatechange )( 
            __RPC__in IHTMLXMLHttpRequest * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onreadystatechange )( 
            __RPC__in IHTMLXMLHttpRequest * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *abort )( 
            __RPC__in IHTMLXMLHttpRequest * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *open )( 
            __RPC__in IHTMLXMLHttpRequest * This,
            /* [in] */ __RPC__in BSTR bstrMethod,
            /* [in] */ __RPC__in BSTR bstrUrl,
            /* [in] */ VARIANT varAsync,
            /* [in][optional] */ VARIANT varUser,
            /* [in][optional] */ VARIANT varPassword);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *send )( 
            __RPC__in IHTMLXMLHttpRequest * This,
            /* [in][optional] */ VARIANT varBody);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getAllResponseHeaders )( 
            __RPC__in IHTMLXMLHttpRequest * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *__MIDL__IHTMLXMLHttpRequest0000);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getResponseHeader )( 
            __RPC__in IHTMLXMLHttpRequest * This,
            /* [in] */ __RPC__in BSTR bstrHeader,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *__MIDL__IHTMLXMLHttpRequest0001);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setRequestHeader )( 
            __RPC__in IHTMLXMLHttpRequest * This,
            /* [in] */ __RPC__in BSTR bstrHeader,
            /* [in] */ __RPC__in BSTR bstrValue);
        
        END_INTERFACE
    } IHTMLXMLHttpRequestVtbl;

    interface IHTMLXMLHttpRequest
    {
        CONST_VTBL struct IHTMLXMLHttpRequestVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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,__MIDL__IHTMLXMLHttpRequest0000)	\
    ( (This)->lpVtbl -> getAllResponseHeaders(This,__MIDL__IHTMLXMLHttpRequest0000) ) 

#define IHTMLXMLHttpRequest_getResponseHeader(This,bstrHeader,__MIDL__IHTMLXMLHttpRequest0001)	\
    ( (This)->lpVtbl -> getResponseHeader(This,bstrHeader,__MIDL__IHTMLXMLHttpRequest0001) ) 

#define IHTMLXMLHttpRequest_setRequestHeader(This,bstrHeader,bstrValue)	\
    ( (This)->lpVtbl -> setRequestHeader(This,bstrHeader,bstrValue) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLXMLHttpRequest_INTERFACE_DEFINED__ */


#ifndef __IHTMLXMLHttpRequest2_INTERFACE_DEFINED__
#define __IHTMLXMLHttpRequest2_INTERFACE_DEFINED__

/* interface IHTMLXMLHttpRequest2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLXMLHttpRequest2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510482-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLXMLHttpRequest2 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_timeout( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_timeout( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_ontimeout( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ontimeout( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLXMLHttpRequest2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLXMLHttpRequest2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLXMLHttpRequest2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLXMLHttpRequest2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLXMLHttpRequest2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLXMLHttpRequest2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLXMLHttpRequest2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLXMLHttpRequest2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_timeout )( 
            __RPC__in IHTMLXMLHttpRequest2 * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_timeout )( 
            __RPC__in IHTMLXMLHttpRequest2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ontimeout )( 
            __RPC__in IHTMLXMLHttpRequest2 * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ontimeout )( 
            __RPC__in IHTMLXMLHttpRequest2 * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IHTMLXMLHttpRequest2Vtbl;

    interface IHTMLXMLHttpRequest2
    {
        CONST_VTBL struct IHTMLXMLHttpRequest2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLXMLHttpRequest2_INTERFACE_DEFINED__ */


#ifndef __IHTMLXMLHttpRequestFactory_INTERFACE_DEFINED__
#define __IHTMLXMLHttpRequestFactory_INTERFACE_DEFINED__

/* interface IHTMLXMLHttpRequestFactory */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLXMLHttpRequestFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051040c-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLXMLHttpRequestFactory : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE create( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLXMLHttpRequest **__MIDL__IHTMLXMLHttpRequestFactory0000) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLXMLHttpRequestFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLXMLHttpRequestFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLXMLHttpRequestFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLXMLHttpRequestFactory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLXMLHttpRequestFactory * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLXMLHttpRequestFactory * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLXMLHttpRequestFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLXMLHttpRequestFactory * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *create )( 
            __RPC__in IHTMLXMLHttpRequestFactory * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLXMLHttpRequest **__MIDL__IHTMLXMLHttpRequestFactory0000);
        
        END_INTERFACE
    } IHTMLXMLHttpRequestFactoryVtbl;

    interface IHTMLXMLHttpRequestFactory
    {
        CONST_VTBL struct IHTMLXMLHttpRequestFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#define IHTMLXMLHttpRequestFactory_create(This,__MIDL__IHTMLXMLHttpRequestFactory0000)	\
    ( (This)->lpVtbl -> create(This,__MIDL__IHTMLXMLHttpRequestFactory0000) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLXMLHttpRequestFactory_INTERFACE_DEFINED__ */


#ifndef __DispHTMLXMLHttpRequest_DISPINTERFACE_DEFINED__
#define __DispHTMLXMLHttpRequest_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLXMLHttpRequest */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLXMLHttpRequest;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f596-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLXMLHttpRequest : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLXMLHttpRequestVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLXMLHttpRequest * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLXMLHttpRequest * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLXMLHttpRequest * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLXMLHttpRequest * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLXMLHttpRequest * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLXMLHttpRequest * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLXMLHttpRequest * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLXMLHttpRequestVtbl;

    interface DispHTMLXMLHttpRequest
    {
        CONST_VTBL struct DispHTMLXMLHttpRequestVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLXMLHttpRequest_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLXMLHttpRequest;

#ifdef __cplusplus

class DECLSPEC_UUID("3051040b-98b5-11cf-bb82-00aa00bdce0b")
HTMLXMLHttpRequest;
#endif

EXTERN_C const CLSID CLSID_HTMLXMLHttpRequestFactory;

#ifdef __cplusplus

class DECLSPEC_UUID("3051040d-98b5-11cf-bb82-00aa00bdce0b")
HTMLXMLHttpRequestFactory;
#endif

#ifndef __ISVGAngle_INTERFACE_DEFINED__
#define __ISVGAngle_INTERFACE_DEFINED__

/* interface ISVGAngle */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGAngle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104d3-98b5-11cf-bb82-00aa00bdce0b")
    ISVGAngle : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_unitType( 
            /* [in] */ short v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_unitType( 
            /* [out][retval] */ __RPC__out short *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_value( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_value( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_valueInSpecifiedUnits( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_valueInSpecifiedUnits( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_valueAsString( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_valueAsString( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE newValueSpecifiedUnits( 
            /* [in] */ short unitType,
            /* [in] */ float valueInSpecifiedUnits) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE convertToSpecifiedUnits( 
            /* [in] */ short unitType) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGAngleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGAngle * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGAngle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGAngle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGAngle * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGAngle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGAngle * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGAngle * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_unitType )( 
            __RPC__in ISVGAngle * This,
            /* [in] */ short v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unitType )( 
            __RPC__in ISVGAngle * This,
            /* [out][retval] */ __RPC__out short *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_value )( 
            __RPC__in ISVGAngle * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 
            __RPC__in ISVGAngle * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_valueInSpecifiedUnits )( 
            __RPC__in ISVGAngle * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_valueInSpecifiedUnits )( 
            __RPC__in ISVGAngle * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_valueAsString )( 
            __RPC__in ISVGAngle * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_valueAsString )( 
            __RPC__in ISVGAngle * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *newValueSpecifiedUnits )( 
            __RPC__in ISVGAngle * This,
            /* [in] */ short unitType,
            /* [in] */ float valueInSpecifiedUnits);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *convertToSpecifiedUnits )( 
            __RPC__in ISVGAngle * This,
            /* [in] */ short unitType);
        
        END_INTERFACE
    } ISVGAngleVtbl;

    interface ISVGAngle
    {
        CONST_VTBL struct ISVGAngleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGAngle_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGAngle_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGAngle_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGAngle_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGAngle_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGAngle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGAngle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGAngle_put_unitType(This,v)	\
    ( (This)->lpVtbl -> put_unitType(This,v) ) 

#define ISVGAngle_get_unitType(This,p)	\
    ( (This)->lpVtbl -> get_unitType(This,p) ) 

#define ISVGAngle_put_value(This,v)	\
    ( (This)->lpVtbl -> put_value(This,v) ) 

#define ISVGAngle_get_value(This,p)	\
    ( (This)->lpVtbl -> get_value(This,p) ) 

#define ISVGAngle_put_valueInSpecifiedUnits(This,v)	\
    ( (This)->lpVtbl -> put_valueInSpecifiedUnits(This,v) ) 

#define ISVGAngle_get_valueInSpecifiedUnits(This,p)	\
    ( (This)->lpVtbl -> get_valueInSpecifiedUnits(This,p) ) 

#define ISVGAngle_put_valueAsString(This,v)	\
    ( (This)->lpVtbl -> put_valueAsString(This,v) ) 

#define ISVGAngle_get_valueAsString(This,p)	\
    ( (This)->lpVtbl -> get_valueAsString(This,p) ) 

#define ISVGAngle_newValueSpecifiedUnits(This,unitType,valueInSpecifiedUnits)	\
    ( (This)->lpVtbl -> newValueSpecifiedUnits(This,unitType,valueInSpecifiedUnits) ) 

#define ISVGAngle_convertToSpecifiedUnits(This,unitType)	\
    ( (This)->lpVtbl -> convertToSpecifiedUnits(This,unitType) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGAngle_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGAngle;

#ifdef __cplusplus

class DECLSPEC_UUID("30510584-98b5-11cf-bb82-00aa00bdce0b")
SVGAngle;
#endif

#ifndef __ISVGElement_INTERFACE_DEFINED__
#define __ISVGElement_INTERFACE_DEFINED__

/* interface ISVGElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104c5-98b5-11cf-bb82-00aa00bdce0b")
    ISVGElement : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_xmlbase( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_xmlbase( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_ownerSVGElement( 
            /* [in] */ __RPC__in_opt ISVGSVGElement *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ownerSVGElement( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGSVGElement **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_viewportElement( 
            /* [in] */ __RPC__in_opt ISVGElement *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_viewportElement( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGElement **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_focusable( 
            /* [in] */ __RPC__in_opt ISVGAnimatedEnumeration *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_focusable( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedEnumeration **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_xmlbase )( 
            __RPC__in ISVGElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_xmlbase )( 
            __RPC__in ISVGElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_ownerSVGElement )( 
            __RPC__in ISVGElement * This,
            /* [in] */ __RPC__in_opt ISVGSVGElement *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ownerSVGElement )( 
            __RPC__in ISVGElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGSVGElement **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_viewportElement )( 
            __RPC__in ISVGElement * This,
            /* [in] */ __RPC__in_opt ISVGElement *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_viewportElement )( 
            __RPC__in ISVGElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGElement **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_focusable )( 
            __RPC__in ISVGElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedEnumeration *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_focusable )( 
            __RPC__in ISVGElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedEnumeration **p);
        
        END_INTERFACE
    } ISVGElementVtbl;

    interface ISVGElement
    {
        CONST_VTBL struct ISVGElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGElement_put_xmlbase(This,v)	\
    ( (This)->lpVtbl -> put_xmlbase(This,v) ) 

#define ISVGElement_get_xmlbase(This,p)	\
    ( (This)->lpVtbl -> get_xmlbase(This,p) ) 

#define ISVGElement_putref_ownerSVGElement(This,v)	\
    ( (This)->lpVtbl -> putref_ownerSVGElement(This,v) ) 

#define ISVGElement_get_ownerSVGElement(This,p)	\
    ( (This)->lpVtbl -> get_ownerSVGElement(This,p) ) 

#define ISVGElement_putref_viewportElement(This,v)	\
    ( (This)->lpVtbl -> putref_viewportElement(This,v) ) 

#define ISVGElement_get_viewportElement(This,p)	\
    ( (This)->lpVtbl -> get_viewportElement(This,p) ) 

#define ISVGElement_putref_focusable(This,v)	\
    ( (This)->lpVtbl -> putref_focusable(This,v) ) 

#define ISVGElement_get_focusable(This,p)	\
    ( (This)->lpVtbl -> get_focusable(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGElement_INTERFACE_DEFINED__ */


#ifndef __ISVGRect_INTERFACE_DEFINED__
#define __ISVGRect_INTERFACE_DEFINED__

/* interface ISVGRect */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGRect;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104d7-98b5-11cf-bb82-00aa00bdce0b")
    ISVGRect : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_width( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_height( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGRectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGRect * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGRect * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGRect * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGRect * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGRect * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGRect * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGRect * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x )( 
            __RPC__in ISVGRect * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in ISVGRect * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y )( 
            __RPC__in ISVGRect * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in ISVGRect * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_width )( 
            __RPC__in ISVGRect * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in ISVGRect * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_height )( 
            __RPC__in ISVGRect * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in ISVGRect * This,
            /* [out][retval] */ __RPC__out float *p);
        
        END_INTERFACE
    } ISVGRectVtbl;

    interface ISVGRect
    {
        CONST_VTBL struct ISVGRectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGRect_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGRect_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGRect_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGRect_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGRect_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGRect_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGRect_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGRect_put_x(This,v)	\
    ( (This)->lpVtbl -> put_x(This,v) ) 

#define ISVGRect_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#define ISVGRect_put_y(This,v)	\
    ( (This)->lpVtbl -> put_y(This,v) ) 

#define ISVGRect_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#define ISVGRect_put_width(This,v)	\
    ( (This)->lpVtbl -> put_width(This,v) ) 

#define ISVGRect_get_width(This,p)	\
    ( (This)->lpVtbl -> get_width(This,p) ) 

#define ISVGRect_put_height(This,v)	\
    ( (This)->lpVtbl -> put_height(This,v) ) 

#define ISVGRect_get_height(This,p)	\
    ( (This)->lpVtbl -> get_height(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGRect_INTERFACE_DEFINED__ */


#ifndef __ISVGMatrix_INTERFACE_DEFINED__
#define __ISVGMatrix_INTERFACE_DEFINED__

/* interface ISVGMatrix */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGMatrix;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104f6-98b5-11cf-bb82-00aa00bdce0b")
    ISVGMatrix : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_a( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_a( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_b( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_b( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_c( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_c( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_d( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_d( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_e( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_e( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_f( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_f( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE multiply( 
            /* [in] */ __RPC__in_opt ISVGMatrix *secondMatrix,
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE inverse( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE translate( 
            /* [in] */ float x,
            /* [in] */ float y,
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE scale( 
            /* [in] */ float scaleFactor,
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE scaleNonUniform( 
            /* [in] */ float scaleFactorX,
            /* [in] */ float scaleFactorY,
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE rotate( 
            /* [in] */ float angle,
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE rotateFromVector( 
            /* [in] */ float x,
            /* [in] */ float y,
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE flipX( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE flipY( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE skewX( 
            /* [in] */ float angle,
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE skewY( 
            /* [in] */ float angle,
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGMatrixVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGMatrix * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGMatrix * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGMatrix * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGMatrix * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGMatrix * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGMatrix * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGMatrix * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_a )( 
            __RPC__in ISVGMatrix * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_a )( 
            __RPC__in ISVGMatrix * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_b )( 
            __RPC__in ISVGMatrix * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_b )( 
            __RPC__in ISVGMatrix * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_c )( 
            __RPC__in ISVGMatrix * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_c )( 
            __RPC__in ISVGMatrix * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_d )( 
            __RPC__in ISVGMatrix * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_d )( 
            __RPC__in ISVGMatrix * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_e )( 
            __RPC__in ISVGMatrix * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_e )( 
            __RPC__in ISVGMatrix * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_f )( 
            __RPC__in ISVGMatrix * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_f )( 
            __RPC__in ISVGMatrix * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *multiply )( 
            __RPC__in ISVGMatrix * This,
            /* [in] */ __RPC__in_opt ISVGMatrix *secondMatrix,
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *inverse )( 
            __RPC__in ISVGMatrix * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *translate )( 
            __RPC__in ISVGMatrix * This,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *scale )( 
            __RPC__in ISVGMatrix * This,
            /* [in] */ float scaleFactor,
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *scaleNonUniform )( 
            __RPC__in ISVGMatrix * This,
            /* [in] */ float scaleFactorX,
            /* [in] */ float scaleFactorY,
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *rotate )( 
            __RPC__in ISVGMatrix * This,
            /* [in] */ float angle,
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *rotateFromVector )( 
            __RPC__in ISVGMatrix * This,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *flipX )( 
            __RPC__in ISVGMatrix * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *flipY )( 
            __RPC__in ISVGMatrix * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *skewX )( 
            __RPC__in ISVGMatrix * This,
            /* [in] */ float angle,
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *skewY )( 
            __RPC__in ISVGMatrix * This,
            /* [in] */ float angle,
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult);
        
        END_INTERFACE
    } ISVGMatrixVtbl;

    interface ISVGMatrix
    {
        CONST_VTBL struct ISVGMatrixVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGMatrix_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGMatrix_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGMatrix_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGMatrix_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGMatrix_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGMatrix_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGMatrix_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGMatrix_put_a(This,v)	\
    ( (This)->lpVtbl -> put_a(This,v) ) 

#define ISVGMatrix_get_a(This,p)	\
    ( (This)->lpVtbl -> get_a(This,p) ) 

#define ISVGMatrix_put_b(This,v)	\
    ( (This)->lpVtbl -> put_b(This,v) ) 

#define ISVGMatrix_get_b(This,p)	\
    ( (This)->lpVtbl -> get_b(This,p) ) 

#define ISVGMatrix_put_c(This,v)	\
    ( (This)->lpVtbl -> put_c(This,v) ) 

#define ISVGMatrix_get_c(This,p)	\
    ( (This)->lpVtbl -> get_c(This,p) ) 

#define ISVGMatrix_put_d(This,v)	\
    ( (This)->lpVtbl -> put_d(This,v) ) 

#define ISVGMatrix_get_d(This,p)	\
    ( (This)->lpVtbl -> get_d(This,p) ) 

#define ISVGMatrix_put_e(This,v)	\
    ( (This)->lpVtbl -> put_e(This,v) ) 

#define ISVGMatrix_get_e(This,p)	\
    ( (This)->lpVtbl -> get_e(This,p) ) 

#define ISVGMatrix_put_f(This,v)	\
    ( (This)->lpVtbl -> put_f(This,v) ) 

#define ISVGMatrix_get_f(This,p)	\
    ( (This)->lpVtbl -> get_f(This,p) ) 

#define ISVGMatrix_multiply(This,secondMatrix,ppResult)	\
    ( (This)->lpVtbl -> multiply(This,secondMatrix,ppResult) ) 

#define ISVGMatrix_inverse(This,ppResult)	\
    ( (This)->lpVtbl -> inverse(This,ppResult) ) 

#define ISVGMatrix_translate(This,x,y,ppResult)	\
    ( (This)->lpVtbl -> translate(This,x,y,ppResult) ) 

#define ISVGMatrix_scale(This,scaleFactor,ppResult)	\
    ( (This)->lpVtbl -> scale(This,scaleFactor,ppResult) ) 

#define ISVGMatrix_scaleNonUniform(This,scaleFactorX,scaleFactorY,ppResult)	\
    ( (This)->lpVtbl -> scaleNonUniform(This,scaleFactorX,scaleFactorY,ppResult) ) 

#define ISVGMatrix_rotate(This,angle,ppResult)	\
    ( (This)->lpVtbl -> rotate(This,angle,ppResult) ) 

#define ISVGMatrix_rotateFromVector(This,x,y,ppResult)	\
    ( (This)->lpVtbl -> rotateFromVector(This,x,y,ppResult) ) 

#define ISVGMatrix_flipX(This,ppResult)	\
    ( (This)->lpVtbl -> flipX(This,ppResult) ) 

#define ISVGMatrix_flipY(This,ppResult)	\
    ( (This)->lpVtbl -> flipY(This,ppResult) ) 

#define ISVGMatrix_skewX(This,angle,ppResult)	\
    ( (This)->lpVtbl -> skewX(This,angle,ppResult) ) 

#define ISVGMatrix_skewY(This,angle,ppResult)	\
    ( (This)->lpVtbl -> skewY(This,angle,ppResult) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGMatrix_INTERFACE_DEFINED__ */


#ifndef __ISVGStringList_INTERFACE_DEFINED__
#define __ISVGStringList_INTERFACE_DEFINED__

/* interface ISVGStringList */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGStringList;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104c8-98b5-11cf-bb82-00aa00bdce0b")
    ISVGStringList : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_numberOfItems( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_numberOfItems( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE clear( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE initialize( 
            /* [in] */ __RPC__in BSTR newItem,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getItem( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE insertItemBefore( 
            /* [in] */ __RPC__in BSTR newItem,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE replaceItem( 
            /* [in] */ __RPC__in BSTR newItem,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeItem( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE appendItem( 
            /* [in] */ __RPC__in BSTR newItem,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *ppResult) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGStringListVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGStringList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGStringList * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGStringList * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGStringList * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGStringList * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGStringList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGStringList * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_numberOfItems )( 
            __RPC__in ISVGStringList * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfItems )( 
            __RPC__in ISVGStringList * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *clear )( 
            __RPC__in ISVGStringList * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *initialize )( 
            __RPC__in ISVGStringList * This,
            /* [in] */ __RPC__in BSTR newItem,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getItem )( 
            __RPC__in ISVGStringList * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *insertItemBefore )( 
            __RPC__in ISVGStringList * This,
            /* [in] */ __RPC__in BSTR newItem,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *replaceItem )( 
            __RPC__in ISVGStringList * This,
            /* [in] */ __RPC__in BSTR newItem,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeItem )( 
            __RPC__in ISVGStringList * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *appendItem )( 
            __RPC__in ISVGStringList * This,
            /* [in] */ __RPC__in BSTR newItem,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *ppResult);
        
        END_INTERFACE
    } ISVGStringListVtbl;

    interface ISVGStringList
    {
        CONST_VTBL struct ISVGStringListVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGStringList_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGStringList_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGStringList_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGStringList_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGStringList_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGStringList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGStringList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGStringList_put_numberOfItems(This,v)	\
    ( (This)->lpVtbl -> put_numberOfItems(This,v) ) 

#define ISVGStringList_get_numberOfItems(This,p)	\
    ( (This)->lpVtbl -> get_numberOfItems(This,p) ) 

#define ISVGStringList_clear(This)	\
    ( (This)->lpVtbl -> clear(This) ) 

#define ISVGStringList_initialize(This,newItem,ppResult)	\
    ( (This)->lpVtbl -> initialize(This,newItem,ppResult) ) 

#define ISVGStringList_getItem(This,index,ppResult)	\
    ( (This)->lpVtbl -> getItem(This,index,ppResult) ) 

#define ISVGStringList_insertItemBefore(This,newItem,index,ppResult)	\
    ( (This)->lpVtbl -> insertItemBefore(This,newItem,index,ppResult) ) 

#define ISVGStringList_replaceItem(This,newItem,index,ppResult)	\
    ( (This)->lpVtbl -> replaceItem(This,newItem,index,ppResult) ) 

#define ISVGStringList_removeItem(This,index,ppResult)	\
    ( (This)->lpVtbl -> removeItem(This,index,ppResult) ) 

#define ISVGStringList_appendItem(This,newItem,ppResult)	\
    ( (This)->lpVtbl -> appendItem(This,newItem,ppResult) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGStringList_INTERFACE_DEFINED__ */


#ifndef __ISVGAnimatedRect_INTERFACE_DEFINED__
#define __ISVGAnimatedRect_INTERFACE_DEFINED__

/* interface ISVGAnimatedRect */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGAnimatedRect;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104d8-98b5-11cf-bb82-00aa00bdce0b")
    ISVGAnimatedRect : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_baseVal( 
            /* [in] */ __RPC__in_opt ISVGRect *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_baseVal( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGRect **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_animVal( 
            /* [in] */ __RPC__in_opt ISVGRect *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_animVal( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGRect **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGAnimatedRectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGAnimatedRect * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGAnimatedRect * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGAnimatedRect * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGAnimatedRect * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGAnimatedRect * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGAnimatedRect * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGAnimatedRect * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_baseVal )( 
            __RPC__in ISVGAnimatedRect * This,
            /* [in] */ __RPC__in_opt ISVGRect *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseVal )( 
            __RPC__in ISVGAnimatedRect * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGRect **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_animVal )( 
            __RPC__in ISVGAnimatedRect * This,
            /* [in] */ __RPC__in_opt ISVGRect *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_animVal )( 
            __RPC__in ISVGAnimatedRect * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGRect **p);
        
        END_INTERFACE
    } ISVGAnimatedRectVtbl;

    interface ISVGAnimatedRect
    {
        CONST_VTBL struct ISVGAnimatedRectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGAnimatedRect_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGAnimatedRect_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGAnimatedRect_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGAnimatedRect_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGAnimatedRect_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGAnimatedRect_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGAnimatedRect_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGAnimatedRect_putref_baseVal(This,v)	\
    ( (This)->lpVtbl -> putref_baseVal(This,v) ) 

#define ISVGAnimatedRect_get_baseVal(This,p)	\
    ( (This)->lpVtbl -> get_baseVal(This,p) ) 

#define ISVGAnimatedRect_putref_animVal(This,v)	\
    ( (This)->lpVtbl -> putref_animVal(This,v) ) 

#define ISVGAnimatedRect_get_animVal(This,p)	\
    ( (This)->lpVtbl -> get_animVal(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGAnimatedRect_INTERFACE_DEFINED__ */


#ifndef __ISVGAnimatedString_INTERFACE_DEFINED__
#define __ISVGAnimatedString_INTERFACE_DEFINED__

/* interface ISVGAnimatedString */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGAnimatedString;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104c7-98b5-11cf-bb82-00aa00bdce0b")
    ISVGAnimatedString : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_baseVal( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_baseVal( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_animVal( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGAnimatedStringVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGAnimatedString * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGAnimatedString * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGAnimatedString * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGAnimatedString * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGAnimatedString * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGAnimatedString * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGAnimatedString * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_baseVal )( 
            __RPC__in ISVGAnimatedString * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseVal )( 
            __RPC__in ISVGAnimatedString * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_animVal )( 
            __RPC__in ISVGAnimatedString * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } ISVGAnimatedStringVtbl;

    interface ISVGAnimatedString
    {
        CONST_VTBL struct ISVGAnimatedStringVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGAnimatedString_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGAnimatedString_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGAnimatedString_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGAnimatedString_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGAnimatedString_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGAnimatedString_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGAnimatedString_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGAnimatedString_put_baseVal(This,v)	\
    ( (This)->lpVtbl -> put_baseVal(This,v) ) 

#define ISVGAnimatedString_get_baseVal(This,p)	\
    ( (This)->lpVtbl -> get_baseVal(This,p) ) 

#define ISVGAnimatedString_get_animVal(This,p)	\
    ( (This)->lpVtbl -> get_animVal(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGAnimatedString_INTERFACE_DEFINED__ */


#ifndef __ISVGAnimatedBoolean_INTERFACE_DEFINED__
#define __ISVGAnimatedBoolean_INTERFACE_DEFINED__

/* interface ISVGAnimatedBoolean */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGAnimatedBoolean;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104c6-98b5-11cf-bb82-00aa00bdce0b")
    ISVGAnimatedBoolean : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_baseVal( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_baseVal( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_animVal( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_animVal( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGAnimatedBooleanVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGAnimatedBoolean * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGAnimatedBoolean * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGAnimatedBoolean * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGAnimatedBoolean * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGAnimatedBoolean * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGAnimatedBoolean * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGAnimatedBoolean * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_baseVal )( 
            __RPC__in ISVGAnimatedBoolean * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseVal )( 
            __RPC__in ISVGAnimatedBoolean * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_animVal )( 
            __RPC__in ISVGAnimatedBoolean * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_animVal )( 
            __RPC__in ISVGAnimatedBoolean * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        END_INTERFACE
    } ISVGAnimatedBooleanVtbl;

    interface ISVGAnimatedBoolean
    {
        CONST_VTBL struct ISVGAnimatedBooleanVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGAnimatedBoolean_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGAnimatedBoolean_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGAnimatedBoolean_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGAnimatedBoolean_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGAnimatedBoolean_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGAnimatedBoolean_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGAnimatedBoolean_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGAnimatedBoolean_put_baseVal(This,v)	\
    ( (This)->lpVtbl -> put_baseVal(This,v) ) 

#define ISVGAnimatedBoolean_get_baseVal(This,p)	\
    ( (This)->lpVtbl -> get_baseVal(This,p) ) 

#define ISVGAnimatedBoolean_put_animVal(This,v)	\
    ( (This)->lpVtbl -> put_animVal(This,v) ) 

#define ISVGAnimatedBoolean_get_animVal(This,p)	\
    ( (This)->lpVtbl -> get_animVal(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGAnimatedBoolean_INTERFACE_DEFINED__ */


#ifndef __ISVGAnimatedTransformList_INTERFACE_DEFINED__
#define __ISVGAnimatedTransformList_INTERFACE_DEFINED__

/* interface ISVGAnimatedTransformList */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGAnimatedTransformList;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104f9-98b5-11cf-bb82-00aa00bdce0b")
    ISVGAnimatedTransformList : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_baseVal( 
            /* [in] */ __RPC__in_opt ISVGTransformList *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_baseVal( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGTransformList **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_animVal( 
            /* [in] */ __RPC__in_opt ISVGTransformList *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_animVal( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGTransformList **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGAnimatedTransformListVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGAnimatedTransformList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGAnimatedTransformList * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGAnimatedTransformList * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGAnimatedTransformList * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGAnimatedTransformList * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGAnimatedTransformList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGAnimatedTransformList * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_baseVal )( 
            __RPC__in ISVGAnimatedTransformList * This,
            /* [in] */ __RPC__in_opt ISVGTransformList *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseVal )( 
            __RPC__in ISVGAnimatedTransformList * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGTransformList **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_animVal )( 
            __RPC__in ISVGAnimatedTransformList * This,
            /* [in] */ __RPC__in_opt ISVGTransformList *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_animVal )( 
            __RPC__in ISVGAnimatedTransformList * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGTransformList **p);
        
        END_INTERFACE
    } ISVGAnimatedTransformListVtbl;

    interface ISVGAnimatedTransformList
    {
        CONST_VTBL struct ISVGAnimatedTransformListVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGAnimatedTransformList_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGAnimatedTransformList_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGAnimatedTransformList_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGAnimatedTransformList_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGAnimatedTransformList_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGAnimatedTransformList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGAnimatedTransformList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGAnimatedTransformList_putref_baseVal(This,v)	\
    ( (This)->lpVtbl -> putref_baseVal(This,v) ) 

#define ISVGAnimatedTransformList_get_baseVal(This,p)	\
    ( (This)->lpVtbl -> get_baseVal(This,p) ) 

#define ISVGAnimatedTransformList_putref_animVal(This,v)	\
    ( (This)->lpVtbl -> putref_animVal(This,v) ) 

#define ISVGAnimatedTransformList_get_animVal(This,p)	\
    ( (This)->lpVtbl -> get_animVal(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGAnimatedTransformList_INTERFACE_DEFINED__ */


#ifndef __ISVGAnimatedPreserveAspectRatio_INTERFACE_DEFINED__
#define __ISVGAnimatedPreserveAspectRatio_INTERFACE_DEFINED__

/* interface ISVGAnimatedPreserveAspectRatio */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGAnimatedPreserveAspectRatio;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104fb-98b5-11cf-bb82-00aa00bdce0b")
    ISVGAnimatedPreserveAspectRatio : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_baseVal( 
            /* [in] */ __RPC__in_opt ISVGPreserveAspectRatio *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_baseVal( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGPreserveAspectRatio **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_animVal( 
            /* [in] */ __RPC__in_opt ISVGPreserveAspectRatio *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_animVal( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGPreserveAspectRatio **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGAnimatedPreserveAspectRatioVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGAnimatedPreserveAspectRatio * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGAnimatedPreserveAspectRatio * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGAnimatedPreserveAspectRatio * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGAnimatedPreserveAspectRatio * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGAnimatedPreserveAspectRatio * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGAnimatedPreserveAspectRatio * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGAnimatedPreserveAspectRatio * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_baseVal )( 
            __RPC__in ISVGAnimatedPreserveAspectRatio * This,
            /* [in] */ __RPC__in_opt ISVGPreserveAspectRatio *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseVal )( 
            __RPC__in ISVGAnimatedPreserveAspectRatio * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPreserveAspectRatio **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_animVal )( 
            __RPC__in ISVGAnimatedPreserveAspectRatio * This,
            /* [in] */ __RPC__in_opt ISVGPreserveAspectRatio *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_animVal )( 
            __RPC__in ISVGAnimatedPreserveAspectRatio * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPreserveAspectRatio **p);
        
        END_INTERFACE
    } ISVGAnimatedPreserveAspectRatioVtbl;

    interface ISVGAnimatedPreserveAspectRatio
    {
        CONST_VTBL struct ISVGAnimatedPreserveAspectRatioVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGAnimatedPreserveAspectRatio_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGAnimatedPreserveAspectRatio_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGAnimatedPreserveAspectRatio_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGAnimatedPreserveAspectRatio_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGAnimatedPreserveAspectRatio_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGAnimatedPreserveAspectRatio_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGAnimatedPreserveAspectRatio_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGAnimatedPreserveAspectRatio_putref_baseVal(This,v)	\
    ( (This)->lpVtbl -> putref_baseVal(This,v) ) 

#define ISVGAnimatedPreserveAspectRatio_get_baseVal(This,p)	\
    ( (This)->lpVtbl -> get_baseVal(This,p) ) 

#define ISVGAnimatedPreserveAspectRatio_putref_animVal(This,v)	\
    ( (This)->lpVtbl -> putref_animVal(This,v) ) 

#define ISVGAnimatedPreserveAspectRatio_get_animVal(This,p)	\
    ( (This)->lpVtbl -> get_animVal(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGAnimatedPreserveAspectRatio_INTERFACE_DEFINED__ */


#ifndef __ISVGStylable_INTERFACE_DEFINED__
#define __ISVGStylable_INTERFACE_DEFINED__

/* interface ISVGStylable */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGStylable;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104da-98b5-11cf-bb82-00aa00bdce0b")
    ISVGStylable : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_className( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedString **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGStylableVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGStylable * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGStylable * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGStylable * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGStylable * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGStylable * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGStylable * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGStylable * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_className )( 
            __RPC__in ISVGStylable * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedString **p);
        
        END_INTERFACE
    } ISVGStylableVtbl;

    interface ISVGStylable
    {
        CONST_VTBL struct ISVGStylableVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGStylable_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGStylable_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGStylable_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGStylable_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGStylable_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGStylable_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGStylable_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGStylable_get_className(This,p)	\
    ( (This)->lpVtbl -> get_className(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGStylable_INTERFACE_DEFINED__ */


#ifndef __ISVGLocatable_INTERFACE_DEFINED__
#define __ISVGLocatable_INTERFACE_DEFINED__

/* interface ISVGLocatable */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGLocatable;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104db-98b5-11cf-bb82-00aa00bdce0b")
    ISVGLocatable : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_nearestViewportElement( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGElement **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_farthestViewportElement( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGElement **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getBBox( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGRect **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getCTM( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getScreenCTM( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getTransformToElement( 
            /* [in] */ __RPC__in_opt ISVGElement *pElement,
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGLocatableVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGLocatable * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGLocatable * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGLocatable * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGLocatable * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGLocatable * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGLocatable * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGLocatable * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nearestViewportElement )( 
            __RPC__in ISVGLocatable * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGElement **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_farthestViewportElement )( 
            __RPC__in ISVGLocatable * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGElement **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getBBox )( 
            __RPC__in ISVGLocatable * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGRect **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getCTM )( 
            __RPC__in ISVGLocatable * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getScreenCTM )( 
            __RPC__in ISVGLocatable * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getTransformToElement )( 
            __RPC__in ISVGLocatable * This,
            /* [in] */ __RPC__in_opt ISVGElement *pElement,
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **ppResult);
        
        END_INTERFACE
    } ISVGLocatableVtbl;

    interface ISVGLocatable
    {
        CONST_VTBL struct ISVGLocatableVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGLocatable_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGLocatable_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGLocatable_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGLocatable_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGLocatable_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGLocatable_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGLocatable_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGLocatable_get_nearestViewportElement(This,p)	\
    ( (This)->lpVtbl -> get_nearestViewportElement(This,p) ) 

#define ISVGLocatable_get_farthestViewportElement(This,p)	\
    ( (This)->lpVtbl -> get_farthestViewportElement(This,p) ) 

#define ISVGLocatable_getBBox(This,ppResult)	\
    ( (This)->lpVtbl -> getBBox(This,ppResult) ) 

#define ISVGLocatable_getCTM(This,ppResult)	\
    ( (This)->lpVtbl -> getCTM(This,ppResult) ) 

#define ISVGLocatable_getScreenCTM(This,ppResult)	\
    ( (This)->lpVtbl -> getScreenCTM(This,ppResult) ) 

#define ISVGLocatable_getTransformToElement(This,pElement,ppResult)	\
    ( (This)->lpVtbl -> getTransformToElement(This,pElement,ppResult) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGLocatable_INTERFACE_DEFINED__ */


#ifndef __ISVGTransformable_INTERFACE_DEFINED__
#define __ISVGTransformable_INTERFACE_DEFINED__

/* interface ISVGTransformable */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGTransformable;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104dc-98b5-11cf-bb82-00aa00bdce0b")
    ISVGTransformable : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_transform( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedTransformList **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGTransformableVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGTransformable * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGTransformable * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGTransformable * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGTransformable * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGTransformable * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGTransformable * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGTransformable * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_transform )( 
            __RPC__in ISVGTransformable * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedTransformList **p);
        
        END_INTERFACE
    } ISVGTransformableVtbl;

    interface ISVGTransformable
    {
        CONST_VTBL struct ISVGTransformableVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGTransformable_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGTransformable_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGTransformable_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGTransformable_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGTransformable_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGTransformable_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGTransformable_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGTransformable_get_transform(This,p)	\
    ( (This)->lpVtbl -> get_transform(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGTransformable_INTERFACE_DEFINED__ */


#ifndef __ISVGTests_INTERFACE_DEFINED__
#define __ISVGTests_INTERFACE_DEFINED__

/* interface ISVGTests */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGTests;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104dd-98b5-11cf-bb82-00aa00bdce0b")
    ISVGTests : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_requiredFeatures( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGStringList **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_requiredExtensions( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGStringList **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_systemLanguage( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGStringList **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE hasExtension( 
            /* [in] */ __RPC__in BSTR extension,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pResult) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGTestsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGTests * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGTests * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGTests * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGTests * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGTests * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGTests * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGTests * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_requiredFeatures )( 
            __RPC__in ISVGTests * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGStringList **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_requiredExtensions )( 
            __RPC__in ISVGTests * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGStringList **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_systemLanguage )( 
            __RPC__in ISVGTests * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGStringList **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *hasExtension )( 
            __RPC__in ISVGTests * This,
            /* [in] */ __RPC__in BSTR extension,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pResult);
        
        END_INTERFACE
    } ISVGTestsVtbl;

    interface ISVGTests
    {
        CONST_VTBL struct ISVGTestsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGTests_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGTests_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGTests_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGTests_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGTests_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGTests_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGTests_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGTests_get_requiredFeatures(This,p)	\
    ( (This)->lpVtbl -> get_requiredFeatures(This,p) ) 

#define ISVGTests_get_requiredExtensions(This,p)	\
    ( (This)->lpVtbl -> get_requiredExtensions(This,p) ) 

#define ISVGTests_get_systemLanguage(This,p)	\
    ( (This)->lpVtbl -> get_systemLanguage(This,p) ) 

#define ISVGTests_hasExtension(This,extension,pResult)	\
    ( (This)->lpVtbl -> hasExtension(This,extension,pResult) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGTests_INTERFACE_DEFINED__ */


#ifndef __ISVGLangSpace_INTERFACE_DEFINED__
#define __ISVGLangSpace_INTERFACE_DEFINED__

/* interface ISVGLangSpace */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGLangSpace;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104de-98b5-11cf-bb82-00aa00bdce0b")
    ISVGLangSpace : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_xmllang( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_xmllang( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_xmlspace( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_xmlspace( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGLangSpaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGLangSpace * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGLangSpace * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGLangSpace * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGLangSpace * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGLangSpace * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGLangSpace * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGLangSpace * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_xmllang )( 
            __RPC__in ISVGLangSpace * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_xmllang )( 
            __RPC__in ISVGLangSpace * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_xmlspace )( 
            __RPC__in ISVGLangSpace * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_xmlspace )( 
            __RPC__in ISVGLangSpace * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } ISVGLangSpaceVtbl;

    interface ISVGLangSpace
    {
        CONST_VTBL struct ISVGLangSpaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGLangSpace_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGLangSpace_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGLangSpace_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGLangSpace_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGLangSpace_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGLangSpace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGLangSpace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGLangSpace_put_xmllang(This,v)	\
    ( (This)->lpVtbl -> put_xmllang(This,v) ) 

#define ISVGLangSpace_get_xmllang(This,p)	\
    ( (This)->lpVtbl -> get_xmllang(This,p) ) 

#define ISVGLangSpace_put_xmlspace(This,v)	\
    ( (This)->lpVtbl -> put_xmlspace(This,v) ) 

#define ISVGLangSpace_get_xmlspace(This,p)	\
    ( (This)->lpVtbl -> get_xmlspace(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGLangSpace_INTERFACE_DEFINED__ */


#ifndef __ISVGExternalResourcesRequired_INTERFACE_DEFINED__
#define __ISVGExternalResourcesRequired_INTERFACE_DEFINED__

/* interface ISVGExternalResourcesRequired */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGExternalResourcesRequired;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104df-98b5-11cf-bb82-00aa00bdce0b")
    ISVGExternalResourcesRequired : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_externalResourcesRequired( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedBoolean **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGExternalResourcesRequiredVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGExternalResourcesRequired * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGExternalResourcesRequired * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGExternalResourcesRequired * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGExternalResourcesRequired * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGExternalResourcesRequired * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGExternalResourcesRequired * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGExternalResourcesRequired * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_externalResourcesRequired )( 
            __RPC__in ISVGExternalResourcesRequired * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedBoolean **p);
        
        END_INTERFACE
    } ISVGExternalResourcesRequiredVtbl;

    interface ISVGExternalResourcesRequired
    {
        CONST_VTBL struct ISVGExternalResourcesRequiredVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGExternalResourcesRequired_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGExternalResourcesRequired_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGExternalResourcesRequired_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGExternalResourcesRequired_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGExternalResourcesRequired_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGExternalResourcesRequired_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGExternalResourcesRequired_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGExternalResourcesRequired_get_externalResourcesRequired(This,p)	\
    ( (This)->lpVtbl -> get_externalResourcesRequired(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGExternalResourcesRequired_INTERFACE_DEFINED__ */


#ifndef __ISVGFitToViewBox_INTERFACE_DEFINED__
#define __ISVGFitToViewBox_INTERFACE_DEFINED__

/* interface ISVGFitToViewBox */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGFitToViewBox;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104e0-98b5-11cf-bb82-00aa00bdce0b")
    ISVGFitToViewBox : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_viewBox( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedRect **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_preserveAspectRatio( 
            /* [in] */ __RPC__in_opt ISVGAnimatedPreserveAspectRatio *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_preserveAspectRatio( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedPreserveAspectRatio **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGFitToViewBoxVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGFitToViewBox * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGFitToViewBox * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGFitToViewBox * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGFitToViewBox * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGFitToViewBox * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGFitToViewBox * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGFitToViewBox * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_viewBox )( 
            __RPC__in ISVGFitToViewBox * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedRect **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_preserveAspectRatio )( 
            __RPC__in ISVGFitToViewBox * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedPreserveAspectRatio *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_preserveAspectRatio )( 
            __RPC__in ISVGFitToViewBox * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedPreserveAspectRatio **p);
        
        END_INTERFACE
    } ISVGFitToViewBoxVtbl;

    interface ISVGFitToViewBox
    {
        CONST_VTBL struct ISVGFitToViewBoxVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGFitToViewBox_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGFitToViewBox_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGFitToViewBox_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGFitToViewBox_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGFitToViewBox_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGFitToViewBox_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGFitToViewBox_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGFitToViewBox_get_viewBox(This,p)	\
    ( (This)->lpVtbl -> get_viewBox(This,p) ) 

#define ISVGFitToViewBox_putref_preserveAspectRatio(This,v)	\
    ( (This)->lpVtbl -> putref_preserveAspectRatio(This,v) ) 

#define ISVGFitToViewBox_get_preserveAspectRatio(This,p)	\
    ( (This)->lpVtbl -> get_preserveAspectRatio(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGFitToViewBox_INTERFACE_DEFINED__ */


#ifndef __ISVGZoomAndPan_INTERFACE_DEFINED__
#define __ISVGZoomAndPan_INTERFACE_DEFINED__

/* interface ISVGZoomAndPan */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGZoomAndPan;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104e1-98b5-11cf-bb82-00aa00bdce0b")
    ISVGZoomAndPan : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_zoomAndPan( 
            /* [out][retval] */ __RPC__out short *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGZoomAndPanVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGZoomAndPan * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGZoomAndPan * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGZoomAndPan * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGZoomAndPan * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGZoomAndPan * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGZoomAndPan * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGZoomAndPan * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_zoomAndPan )( 
            __RPC__in ISVGZoomAndPan * This,
            /* [out][retval] */ __RPC__out short *p);
        
        END_INTERFACE
    } ISVGZoomAndPanVtbl;

    interface ISVGZoomAndPan
    {
        CONST_VTBL struct ISVGZoomAndPanVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGZoomAndPan_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGZoomAndPan_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGZoomAndPan_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGZoomAndPan_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGZoomAndPan_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGZoomAndPan_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGZoomAndPan_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGZoomAndPan_get_zoomAndPan(This,p)	\
    ( (This)->lpVtbl -> get_zoomAndPan(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGZoomAndPan_INTERFACE_DEFINED__ */


#ifndef __ISVGURIReference_INTERFACE_DEFINED__
#define __ISVGURIReference_INTERFACE_DEFINED__

/* interface ISVGURIReference */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGURIReference;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104e3-98b5-11cf-bb82-00aa00bdce0b")
    ISVGURIReference : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_href( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedString **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGURIReferenceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGURIReference * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGURIReference * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGURIReference * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGURIReference * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGURIReference * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGURIReference * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGURIReference * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_href )( 
            __RPC__in ISVGURIReference * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedString **p);
        
        END_INTERFACE
    } ISVGURIReferenceVtbl;

    interface ISVGURIReference
    {
        CONST_VTBL struct ISVGURIReferenceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGURIReference_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGURIReference_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGURIReference_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGURIReference_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGURIReference_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGURIReference_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGURIReference_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGURIReference_get_href(This,p)	\
    ( (This)->lpVtbl -> get_href(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGURIReference_INTERFACE_DEFINED__ */


#ifndef __ISVGAnimatedAngle_INTERFACE_DEFINED__
#define __ISVGAnimatedAngle_INTERFACE_DEFINED__

/* interface ISVGAnimatedAngle */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGAnimatedAngle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104d4-98b5-11cf-bb82-00aa00bdce0b")
    ISVGAnimatedAngle : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_baseVal( 
            /* [in] */ __RPC__in_opt ISVGAngle *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_baseVal( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAngle **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_animVal( 
            /* [in] */ __RPC__in_opt ISVGAngle *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_animVal( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAngle **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGAnimatedAngleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGAnimatedAngle * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGAnimatedAngle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGAnimatedAngle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGAnimatedAngle * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGAnimatedAngle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGAnimatedAngle * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGAnimatedAngle * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_baseVal )( 
            __RPC__in ISVGAnimatedAngle * This,
            /* [in] */ __RPC__in_opt ISVGAngle *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseVal )( 
            __RPC__in ISVGAnimatedAngle * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAngle **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_animVal )( 
            __RPC__in ISVGAnimatedAngle * This,
            /* [in] */ __RPC__in_opt ISVGAngle *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_animVal )( 
            __RPC__in ISVGAnimatedAngle * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAngle **p);
        
        END_INTERFACE
    } ISVGAnimatedAngleVtbl;

    interface ISVGAnimatedAngle
    {
        CONST_VTBL struct ISVGAnimatedAngleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGAnimatedAngle_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGAnimatedAngle_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGAnimatedAngle_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGAnimatedAngle_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGAnimatedAngle_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGAnimatedAngle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGAnimatedAngle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGAnimatedAngle_putref_baseVal(This,v)	\
    ( (This)->lpVtbl -> putref_baseVal(This,v) ) 

#define ISVGAnimatedAngle_get_baseVal(This,p)	\
    ( (This)->lpVtbl -> get_baseVal(This,p) ) 

#define ISVGAnimatedAngle_putref_animVal(This,v)	\
    ( (This)->lpVtbl -> putref_animVal(This,v) ) 

#define ISVGAnimatedAngle_get_animVal(This,p)	\
    ( (This)->lpVtbl -> get_animVal(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGAnimatedAngle_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGAnimatedAngle;

#ifdef __cplusplus

class DECLSPEC_UUID("305105e4-98b5-11cf-bb82-00aa00bdce0b")
SVGAnimatedAngle;
#endif

#ifndef __ISVGTransformList_INTERFACE_DEFINED__
#define __ISVGTransformList_INTERFACE_DEFINED__

/* interface ISVGTransformList */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGTransformList;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104f8-98b5-11cf-bb82-00aa00bdce0b")
    ISVGTransformList : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_numberOfItems( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_numberOfItems( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE clear( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE initialize( 
            /* [in] */ __RPC__in_opt ISVGTransform *newItem,
            /* [out][retval] */ __RPC__deref_out_opt ISVGTransform **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getItem( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGTransform **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE insertItemBefore( 
            /* [in] */ __RPC__in_opt ISVGTransform *newItem,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGTransform **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE replaceItem( 
            /* [in] */ __RPC__in_opt ISVGTransform *newItem,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGTransform **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeItem( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGTransform **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE appendItem( 
            /* [in] */ __RPC__in_opt ISVGTransform *newItem,
            /* [out][retval] */ __RPC__deref_out_opt ISVGTransform **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGTransformFromMatrix( 
            /* [in] */ __RPC__in_opt ISVGMatrix *newItem,
            /* [out][retval] */ __RPC__deref_out_opt ISVGTransform **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE consolidate( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGTransform **ppResult) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGTransformListVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGTransformList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGTransformList * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGTransformList * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGTransformList * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGTransformList * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGTransformList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGTransformList * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_numberOfItems )( 
            __RPC__in ISVGTransformList * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfItems )( 
            __RPC__in ISVGTransformList * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *clear )( 
            __RPC__in ISVGTransformList * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *initialize )( 
            __RPC__in ISVGTransformList * This,
            /* [in] */ __RPC__in_opt ISVGTransform *newItem,
            /* [out][retval] */ __RPC__deref_out_opt ISVGTransform **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getItem )( 
            __RPC__in ISVGTransformList * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGTransform **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *insertItemBefore )( 
            __RPC__in ISVGTransformList * This,
            /* [in] */ __RPC__in_opt ISVGTransform *newItem,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGTransform **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *replaceItem )( 
            __RPC__in ISVGTransformList * This,
            /* [in] */ __RPC__in_opt ISVGTransform *newItem,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGTransform **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeItem )( 
            __RPC__in ISVGTransformList * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGTransform **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *appendItem )( 
            __RPC__in ISVGTransformList * This,
            /* [in] */ __RPC__in_opt ISVGTransform *newItem,
            /* [out][retval] */ __RPC__deref_out_opt ISVGTransform **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGTransformFromMatrix )( 
            __RPC__in ISVGTransformList * This,
            /* [in] */ __RPC__in_opt ISVGMatrix *newItem,
            /* [out][retval] */ __RPC__deref_out_opt ISVGTransform **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *consolidate )( 
            __RPC__in ISVGTransformList * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGTransform **ppResult);
        
        END_INTERFACE
    } ISVGTransformListVtbl;

    interface ISVGTransformList
    {
        CONST_VTBL struct ISVGTransformListVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGTransformList_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGTransformList_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGTransformList_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGTransformList_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGTransformList_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGTransformList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGTransformList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGTransformList_put_numberOfItems(This,v)	\
    ( (This)->lpVtbl -> put_numberOfItems(This,v) ) 

#define ISVGTransformList_get_numberOfItems(This,p)	\
    ( (This)->lpVtbl -> get_numberOfItems(This,p) ) 

#define ISVGTransformList_clear(This)	\
    ( (This)->lpVtbl -> clear(This) ) 

#define ISVGTransformList_initialize(This,newItem,ppResult)	\
    ( (This)->lpVtbl -> initialize(This,newItem,ppResult) ) 

#define ISVGTransformList_getItem(This,index,ppResult)	\
    ( (This)->lpVtbl -> getItem(This,index,ppResult) ) 

#define ISVGTransformList_insertItemBefore(This,newItem,index,ppResult)	\
    ( (This)->lpVtbl -> insertItemBefore(This,newItem,index,ppResult) ) 

#define ISVGTransformList_replaceItem(This,newItem,index,ppResult)	\
    ( (This)->lpVtbl -> replaceItem(This,newItem,index,ppResult) ) 

#define ISVGTransformList_removeItem(This,index,ppResult)	\
    ( (This)->lpVtbl -> removeItem(This,index,ppResult) ) 

#define ISVGTransformList_appendItem(This,newItem,ppResult)	\
    ( (This)->lpVtbl -> appendItem(This,newItem,ppResult) ) 

#define ISVGTransformList_createSVGTransformFromMatrix(This,newItem,ppResult)	\
    ( (This)->lpVtbl -> createSVGTransformFromMatrix(This,newItem,ppResult) ) 

#define ISVGTransformList_consolidate(This,ppResult)	\
    ( (This)->lpVtbl -> consolidate(This,ppResult) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGTransformList_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGAnimatedTransformList;

#ifdef __cplusplus

class DECLSPEC_UUID("305105b1-98b5-11cf-bb82-00aa00bdce0b")
SVGAnimatedTransformList;
#endif

EXTERN_C const CLSID CLSID_SVGAnimatedBoolean;

#ifdef __cplusplus

class DECLSPEC_UUID("3051058b-98b5-11cf-bb82-00aa00bdce0b")
SVGAnimatedBoolean;
#endif

#ifndef __ISVGAnimatedEnumeration_INTERFACE_DEFINED__
#define __ISVGAnimatedEnumeration_INTERFACE_DEFINED__

/* interface ISVGAnimatedEnumeration */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGAnimatedEnumeration;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104c9-98b5-11cf-bb82-00aa00bdce0b")
    ISVGAnimatedEnumeration : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_baseVal( 
            /* [in] */ USHORT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_baseVal( 
            /* [out][retval] */ __RPC__out USHORT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_animVal( 
            /* [in] */ USHORT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_animVal( 
            /* [out][retval] */ __RPC__out USHORT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGAnimatedEnumerationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGAnimatedEnumeration * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGAnimatedEnumeration * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGAnimatedEnumeration * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGAnimatedEnumeration * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGAnimatedEnumeration * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGAnimatedEnumeration * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGAnimatedEnumeration * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_baseVal )( 
            __RPC__in ISVGAnimatedEnumeration * This,
            /* [in] */ USHORT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseVal )( 
            __RPC__in ISVGAnimatedEnumeration * This,
            /* [out][retval] */ __RPC__out USHORT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_animVal )( 
            __RPC__in ISVGAnimatedEnumeration * This,
            /* [in] */ USHORT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_animVal )( 
            __RPC__in ISVGAnimatedEnumeration * This,
            /* [out][retval] */ __RPC__out USHORT *p);
        
        END_INTERFACE
    } ISVGAnimatedEnumerationVtbl;

    interface ISVGAnimatedEnumeration
    {
        CONST_VTBL struct ISVGAnimatedEnumerationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGAnimatedEnumeration_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGAnimatedEnumeration_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGAnimatedEnumeration_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGAnimatedEnumeration_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGAnimatedEnumeration_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGAnimatedEnumeration_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGAnimatedEnumeration_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGAnimatedEnumeration_put_baseVal(This,v)	\
    ( (This)->lpVtbl -> put_baseVal(This,v) ) 

#define ISVGAnimatedEnumeration_get_baseVal(This,p)	\
    ( (This)->lpVtbl -> get_baseVal(This,p) ) 

#define ISVGAnimatedEnumeration_put_animVal(This,v)	\
    ( (This)->lpVtbl -> put_animVal(This,v) ) 

#define ISVGAnimatedEnumeration_get_animVal(This,p)	\
    ( (This)->lpVtbl -> get_animVal(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGAnimatedEnumeration_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGAnimatedEnumeration;

#ifdef __cplusplus

class DECLSPEC_UUID("3051058e-98b5-11cf-bb82-00aa00bdce0b")
SVGAnimatedEnumeration;
#endif

#ifndef __ISVGAnimatedInteger_INTERFACE_DEFINED__
#define __ISVGAnimatedInteger_INTERFACE_DEFINED__

/* interface ISVGAnimatedInteger */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGAnimatedInteger;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104ca-98b5-11cf-bb82-00aa00bdce0b")
    ISVGAnimatedInteger : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_baseVal( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_baseVal( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_animVal( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_animVal( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGAnimatedIntegerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGAnimatedInteger * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGAnimatedInteger * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGAnimatedInteger * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGAnimatedInteger * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGAnimatedInteger * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGAnimatedInteger * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGAnimatedInteger * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_baseVal )( 
            __RPC__in ISVGAnimatedInteger * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseVal )( 
            __RPC__in ISVGAnimatedInteger * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_animVal )( 
            __RPC__in ISVGAnimatedInteger * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_animVal )( 
            __RPC__in ISVGAnimatedInteger * This,
            /* [out][retval] */ __RPC__out long *p);
        
        END_INTERFACE
    } ISVGAnimatedIntegerVtbl;

    interface ISVGAnimatedInteger
    {
        CONST_VTBL struct ISVGAnimatedIntegerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGAnimatedInteger_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGAnimatedInteger_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGAnimatedInteger_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGAnimatedInteger_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGAnimatedInteger_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGAnimatedInteger_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGAnimatedInteger_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGAnimatedInteger_put_baseVal(This,v)	\
    ( (This)->lpVtbl -> put_baseVal(This,v) ) 

#define ISVGAnimatedInteger_get_baseVal(This,p)	\
    ( (This)->lpVtbl -> get_baseVal(This,p) ) 

#define ISVGAnimatedInteger_put_animVal(This,v)	\
    ( (This)->lpVtbl -> put_animVal(This,v) ) 

#define ISVGAnimatedInteger_get_animVal(This,p)	\
    ( (This)->lpVtbl -> get_animVal(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGAnimatedInteger_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGAnimatedInteger;

#ifdef __cplusplus

class DECLSPEC_UUID("3051058f-98b5-11cf-bb82-00aa00bdce0b")
SVGAnimatedInteger;
#endif

#ifndef __ISVGLength_INTERFACE_DEFINED__
#define __ISVGLength_INTERFACE_DEFINED__

/* interface ISVGLength */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGLength;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104cf-98b5-11cf-bb82-00aa00bdce0b")
    ISVGLength : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_unitType( 
            /* [in] */ short v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_unitType( 
            /* [out][retval] */ __RPC__out short *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_value( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_value( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_valueInSpecifiedUnits( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_valueInSpecifiedUnits( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_valueAsString( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_valueAsString( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE newValueSpecifiedUnits( 
            /* [in] */ short unitType,
            /* [in] */ float valueInSpecifiedUnits) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE convertToSpecifiedUnits( 
            /* [in] */ short unitType) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGLengthVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGLength * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGLength * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGLength * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGLength * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGLength * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGLength * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGLength * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_unitType )( 
            __RPC__in ISVGLength * This,
            /* [in] */ short v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unitType )( 
            __RPC__in ISVGLength * This,
            /* [out][retval] */ __RPC__out short *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_value )( 
            __RPC__in ISVGLength * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 
            __RPC__in ISVGLength * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_valueInSpecifiedUnits )( 
            __RPC__in ISVGLength * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_valueInSpecifiedUnits )( 
            __RPC__in ISVGLength * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_valueAsString )( 
            __RPC__in ISVGLength * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_valueAsString )( 
            __RPC__in ISVGLength * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *newValueSpecifiedUnits )( 
            __RPC__in ISVGLength * This,
            /* [in] */ short unitType,
            /* [in] */ float valueInSpecifiedUnits);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *convertToSpecifiedUnits )( 
            __RPC__in ISVGLength * This,
            /* [in] */ short unitType);
        
        END_INTERFACE
    } ISVGLengthVtbl;

    interface ISVGLength
    {
        CONST_VTBL struct ISVGLengthVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGLength_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGLength_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGLength_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGLength_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGLength_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGLength_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGLength_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGLength_put_unitType(This,v)	\
    ( (This)->lpVtbl -> put_unitType(This,v) ) 

#define ISVGLength_get_unitType(This,p)	\
    ( (This)->lpVtbl -> get_unitType(This,p) ) 

#define ISVGLength_put_value(This,v)	\
    ( (This)->lpVtbl -> put_value(This,v) ) 

#define ISVGLength_get_value(This,p)	\
    ( (This)->lpVtbl -> get_value(This,p) ) 

#define ISVGLength_put_valueInSpecifiedUnits(This,v)	\
    ( (This)->lpVtbl -> put_valueInSpecifiedUnits(This,v) ) 

#define ISVGLength_get_valueInSpecifiedUnits(This,p)	\
    ( (This)->lpVtbl -> get_valueInSpecifiedUnits(This,p) ) 

#define ISVGLength_put_valueAsString(This,v)	\
    ( (This)->lpVtbl -> put_valueAsString(This,v) ) 

#define ISVGLength_get_valueAsString(This,p)	\
    ( (This)->lpVtbl -> get_valueAsString(This,p) ) 

#define ISVGLength_newValueSpecifiedUnits(This,unitType,valueInSpecifiedUnits)	\
    ( (This)->lpVtbl -> newValueSpecifiedUnits(This,unitType,valueInSpecifiedUnits) ) 

#define ISVGLength_convertToSpecifiedUnits(This,unitType)	\
    ( (This)->lpVtbl -> convertToSpecifiedUnits(This,unitType) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGLength_INTERFACE_DEFINED__ */


#ifndef __ISVGAnimatedLength_INTERFACE_DEFINED__
#define __ISVGAnimatedLength_INTERFACE_DEFINED__

/* interface ISVGAnimatedLength */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGAnimatedLength;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104d0-98b5-11cf-bb82-00aa00bdce0b")
    ISVGAnimatedLength : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_baseVal( 
            /* [in] */ __RPC__in_opt ISVGLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_baseVal( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_animVal( 
            /* [in] */ __RPC__in_opt ISVGLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_animVal( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGLength **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGAnimatedLengthVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGAnimatedLength * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGAnimatedLength * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGAnimatedLength * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGAnimatedLength * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGAnimatedLength * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGAnimatedLength * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGAnimatedLength * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_baseVal )( 
            __RPC__in ISVGAnimatedLength * This,
            /* [in] */ __RPC__in_opt ISVGLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseVal )( 
            __RPC__in ISVGAnimatedLength * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_animVal )( 
            __RPC__in ISVGAnimatedLength * This,
            /* [in] */ __RPC__in_opt ISVGLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_animVal )( 
            __RPC__in ISVGAnimatedLength * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGLength **p);
        
        END_INTERFACE
    } ISVGAnimatedLengthVtbl;

    interface ISVGAnimatedLength
    {
        CONST_VTBL struct ISVGAnimatedLengthVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGAnimatedLength_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGAnimatedLength_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGAnimatedLength_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGAnimatedLength_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGAnimatedLength_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGAnimatedLength_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGAnimatedLength_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGAnimatedLength_putref_baseVal(This,v)	\
    ( (This)->lpVtbl -> putref_baseVal(This,v) ) 

#define ISVGAnimatedLength_get_baseVal(This,p)	\
    ( (This)->lpVtbl -> get_baseVal(This,p) ) 

#define ISVGAnimatedLength_putref_animVal(This,v)	\
    ( (This)->lpVtbl -> putref_animVal(This,v) ) 

#define ISVGAnimatedLength_get_animVal(This,p)	\
    ( (This)->lpVtbl -> get_animVal(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGAnimatedLength_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGAnimatedLength;

#ifdef __cplusplus

class DECLSPEC_UUID("30510581-98b5-11cf-bb82-00aa00bdce0b")
SVGAnimatedLength;
#endif

#ifndef __ISVGLengthList_INTERFACE_DEFINED__
#define __ISVGLengthList_INTERFACE_DEFINED__

/* interface ISVGLengthList */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGLengthList;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104d1-98b5-11cf-bb82-00aa00bdce0b")
    ISVGLengthList : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_numberOfItems( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_numberOfItems( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE clear( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE initialize( 
            /* [in] */ __RPC__in_opt ISVGLength *newItem,
            /* [out][retval] */ __RPC__deref_out_opt ISVGLength **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getItem( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGLength **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE insertItemBefore( 
            /* [in] */ __RPC__in_opt ISVGLength *newItem,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGLength **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE replaceItem( 
            /* [in] */ __RPC__in_opt ISVGLength *newItem,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGLength **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeItem( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGLength **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE appendItem( 
            /* [in] */ __RPC__in_opt ISVGLength *newItem,
            /* [out][retval] */ __RPC__deref_out_opt ISVGLength **ppResult) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGLengthListVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGLengthList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGLengthList * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGLengthList * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGLengthList * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGLengthList * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGLengthList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGLengthList * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_numberOfItems )( 
            __RPC__in ISVGLengthList * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfItems )( 
            __RPC__in ISVGLengthList * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *clear )( 
            __RPC__in ISVGLengthList * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *initialize )( 
            __RPC__in ISVGLengthList * This,
            /* [in] */ __RPC__in_opt ISVGLength *newItem,
            /* [out][retval] */ __RPC__deref_out_opt ISVGLength **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getItem )( 
            __RPC__in ISVGLengthList * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGLength **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *insertItemBefore )( 
            __RPC__in ISVGLengthList * This,
            /* [in] */ __RPC__in_opt ISVGLength *newItem,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGLength **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *replaceItem )( 
            __RPC__in ISVGLengthList * This,
            /* [in] */ __RPC__in_opt ISVGLength *newItem,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGLength **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeItem )( 
            __RPC__in ISVGLengthList * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGLength **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *appendItem )( 
            __RPC__in ISVGLengthList * This,
            /* [in] */ __RPC__in_opt ISVGLength *newItem,
            /* [out][retval] */ __RPC__deref_out_opt ISVGLength **ppResult);
        
        END_INTERFACE
    } ISVGLengthListVtbl;

    interface ISVGLengthList
    {
        CONST_VTBL struct ISVGLengthListVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGLengthList_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGLengthList_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGLengthList_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGLengthList_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGLengthList_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGLengthList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGLengthList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGLengthList_put_numberOfItems(This,v)	\
    ( (This)->lpVtbl -> put_numberOfItems(This,v) ) 

#define ISVGLengthList_get_numberOfItems(This,p)	\
    ( (This)->lpVtbl -> get_numberOfItems(This,p) ) 

#define ISVGLengthList_clear(This)	\
    ( (This)->lpVtbl -> clear(This) ) 

#define ISVGLengthList_initialize(This,newItem,ppResult)	\
    ( (This)->lpVtbl -> initialize(This,newItem,ppResult) ) 

#define ISVGLengthList_getItem(This,index,ppResult)	\
    ( (This)->lpVtbl -> getItem(This,index,ppResult) ) 

#define ISVGLengthList_insertItemBefore(This,newItem,index,ppResult)	\
    ( (This)->lpVtbl -> insertItemBefore(This,newItem,index,ppResult) ) 

#define ISVGLengthList_replaceItem(This,newItem,index,ppResult)	\
    ( (This)->lpVtbl -> replaceItem(This,newItem,index,ppResult) ) 

#define ISVGLengthList_removeItem(This,index,ppResult)	\
    ( (This)->lpVtbl -> removeItem(This,index,ppResult) ) 

#define ISVGLengthList_appendItem(This,newItem,ppResult)	\
    ( (This)->lpVtbl -> appendItem(This,newItem,ppResult) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGLengthList_INTERFACE_DEFINED__ */


#ifndef __ISVGAnimatedLengthList_INTERFACE_DEFINED__
#define __ISVGAnimatedLengthList_INTERFACE_DEFINED__

/* interface ISVGAnimatedLengthList */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGAnimatedLengthList;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104d2-98b5-11cf-bb82-00aa00bdce0b")
    ISVGAnimatedLengthList : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_baseVal( 
            /* [in] */ __RPC__in_opt ISVGLengthList *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_baseVal( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGLengthList **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_animVal( 
            /* [in] */ __RPC__in_opt ISVGLengthList *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_animVal( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGLengthList **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGAnimatedLengthListVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGAnimatedLengthList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGAnimatedLengthList * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGAnimatedLengthList * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGAnimatedLengthList * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGAnimatedLengthList * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGAnimatedLengthList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGAnimatedLengthList * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_baseVal )( 
            __RPC__in ISVGAnimatedLengthList * This,
            /* [in] */ __RPC__in_opt ISVGLengthList *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseVal )( 
            __RPC__in ISVGAnimatedLengthList * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGLengthList **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_animVal )( 
            __RPC__in ISVGAnimatedLengthList * This,
            /* [in] */ __RPC__in_opt ISVGLengthList *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_animVal )( 
            __RPC__in ISVGAnimatedLengthList * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGLengthList **p);
        
        END_INTERFACE
    } ISVGAnimatedLengthListVtbl;

    interface ISVGAnimatedLengthList
    {
        CONST_VTBL struct ISVGAnimatedLengthListVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGAnimatedLengthList_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGAnimatedLengthList_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGAnimatedLengthList_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGAnimatedLengthList_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGAnimatedLengthList_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGAnimatedLengthList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGAnimatedLengthList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGAnimatedLengthList_putref_baseVal(This,v)	\
    ( (This)->lpVtbl -> putref_baseVal(This,v) ) 

#define ISVGAnimatedLengthList_get_baseVal(This,p)	\
    ( (This)->lpVtbl -> get_baseVal(This,p) ) 

#define ISVGAnimatedLengthList_putref_animVal(This,v)	\
    ( (This)->lpVtbl -> putref_animVal(This,v) ) 

#define ISVGAnimatedLengthList_get_animVal(This,p)	\
    ( (This)->lpVtbl -> get_animVal(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGAnimatedLengthList_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGAnimatedLengthList;

#ifdef __cplusplus

class DECLSPEC_UUID("30510582-98b5-11cf-bb82-00aa00bdce0b")
SVGAnimatedLengthList;
#endif

#ifndef __ISVGNumber_INTERFACE_DEFINED__
#define __ISVGNumber_INTERFACE_DEFINED__

/* interface ISVGNumber */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGNumber;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104cb-98b5-11cf-bb82-00aa00bdce0b")
    ISVGNumber : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_value( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_value( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGNumberVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGNumber * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGNumber * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGNumber * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGNumber * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGNumber * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGNumber * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGNumber * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_value )( 
            __RPC__in ISVGNumber * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 
            __RPC__in ISVGNumber * This,
            /* [out][retval] */ __RPC__out float *p);
        
        END_INTERFACE
    } ISVGNumberVtbl;

    interface ISVGNumber
    {
        CONST_VTBL struct ISVGNumberVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGNumber_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGNumber_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGNumber_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGNumber_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGNumber_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGNumber_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGNumber_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGNumber_put_value(This,v)	\
    ( (This)->lpVtbl -> put_value(This,v) ) 

#define ISVGNumber_get_value(This,p)	\
    ( (This)->lpVtbl -> get_value(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGNumber_INTERFACE_DEFINED__ */


#ifndef __ISVGAnimatedNumber_INTERFACE_DEFINED__
#define __ISVGAnimatedNumber_INTERFACE_DEFINED__

/* interface ISVGAnimatedNumber */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGAnimatedNumber;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104cc-98b5-11cf-bb82-00aa00bdce0b")
    ISVGAnimatedNumber : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_baseVal( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_baseVal( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_animVal( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_animVal( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGAnimatedNumberVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGAnimatedNumber * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGAnimatedNumber * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGAnimatedNumber * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGAnimatedNumber * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGAnimatedNumber * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGAnimatedNumber * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGAnimatedNumber * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_baseVal )( 
            __RPC__in ISVGAnimatedNumber * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseVal )( 
            __RPC__in ISVGAnimatedNumber * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_animVal )( 
            __RPC__in ISVGAnimatedNumber * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_animVal )( 
            __RPC__in ISVGAnimatedNumber * This,
            /* [out][retval] */ __RPC__out float *p);
        
        END_INTERFACE
    } ISVGAnimatedNumberVtbl;

    interface ISVGAnimatedNumber
    {
        CONST_VTBL struct ISVGAnimatedNumberVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGAnimatedNumber_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGAnimatedNumber_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGAnimatedNumber_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGAnimatedNumber_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGAnimatedNumber_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGAnimatedNumber_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGAnimatedNumber_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGAnimatedNumber_put_baseVal(This,v)	\
    ( (This)->lpVtbl -> put_baseVal(This,v) ) 

#define ISVGAnimatedNumber_get_baseVal(This,p)	\
    ( (This)->lpVtbl -> get_baseVal(This,p) ) 

#define ISVGAnimatedNumber_put_animVal(This,v)	\
    ( (This)->lpVtbl -> put_animVal(This,v) ) 

#define ISVGAnimatedNumber_get_animVal(This,p)	\
    ( (This)->lpVtbl -> get_animVal(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGAnimatedNumber_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGAnimatedNumber;

#ifdef __cplusplus

class DECLSPEC_UUID("30510588-98b5-11cf-bb82-00aa00bdce0b")
SVGAnimatedNumber;
#endif

#ifndef __ISVGNumberList_INTERFACE_DEFINED__
#define __ISVGNumberList_INTERFACE_DEFINED__

/* interface ISVGNumberList */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGNumberList;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104cd-98b5-11cf-bb82-00aa00bdce0b")
    ISVGNumberList : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_numberOfItems( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_numberOfItems( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE clear( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE initialize( 
            /* [in] */ __RPC__in_opt ISVGNumber *newItem,
            /* [out][retval] */ __RPC__deref_out_opt ISVGNumber **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getItem( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGNumber **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE insertItemBefore( 
            /* [in] */ __RPC__in_opt ISVGNumber *newItem,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGNumber **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE replaceItem( 
            /* [in] */ __RPC__in_opt ISVGNumber *newItem,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGNumber **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeItem( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGNumber **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE appendItem( 
            /* [in] */ __RPC__in_opt ISVGNumber *newItem,
            /* [out][retval] */ __RPC__deref_out_opt ISVGNumber **ppResult) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGNumberListVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGNumberList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGNumberList * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGNumberList * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGNumberList * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGNumberList * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGNumberList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGNumberList * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_numberOfItems )( 
            __RPC__in ISVGNumberList * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfItems )( 
            __RPC__in ISVGNumberList * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *clear )( 
            __RPC__in ISVGNumberList * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *initialize )( 
            __RPC__in ISVGNumberList * This,
            /* [in] */ __RPC__in_opt ISVGNumber *newItem,
            /* [out][retval] */ __RPC__deref_out_opt ISVGNumber **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getItem )( 
            __RPC__in ISVGNumberList * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGNumber **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *insertItemBefore )( 
            __RPC__in ISVGNumberList * This,
            /* [in] */ __RPC__in_opt ISVGNumber *newItem,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGNumber **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *replaceItem )( 
            __RPC__in ISVGNumberList * This,
            /* [in] */ __RPC__in_opt ISVGNumber *newItem,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGNumber **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeItem )( 
            __RPC__in ISVGNumberList * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGNumber **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *appendItem )( 
            __RPC__in ISVGNumberList * This,
            /* [in] */ __RPC__in_opt ISVGNumber *newItem,
            /* [out][retval] */ __RPC__deref_out_opt ISVGNumber **ppResult);
        
        END_INTERFACE
    } ISVGNumberListVtbl;

    interface ISVGNumberList
    {
        CONST_VTBL struct ISVGNumberListVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGNumberList_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGNumberList_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGNumberList_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGNumberList_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGNumberList_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGNumberList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGNumberList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGNumberList_put_numberOfItems(This,v)	\
    ( (This)->lpVtbl -> put_numberOfItems(This,v) ) 

#define ISVGNumberList_get_numberOfItems(This,p)	\
    ( (This)->lpVtbl -> get_numberOfItems(This,p) ) 

#define ISVGNumberList_clear(This)	\
    ( (This)->lpVtbl -> clear(This) ) 

#define ISVGNumberList_initialize(This,newItem,ppResult)	\
    ( (This)->lpVtbl -> initialize(This,newItem,ppResult) ) 

#define ISVGNumberList_getItem(This,index,ppResult)	\
    ( (This)->lpVtbl -> getItem(This,index,ppResult) ) 

#define ISVGNumberList_insertItemBefore(This,newItem,index,ppResult)	\
    ( (This)->lpVtbl -> insertItemBefore(This,newItem,index,ppResult) ) 

#define ISVGNumberList_replaceItem(This,newItem,index,ppResult)	\
    ( (This)->lpVtbl -> replaceItem(This,newItem,index,ppResult) ) 

#define ISVGNumberList_removeItem(This,index,ppResult)	\
    ( (This)->lpVtbl -> removeItem(This,index,ppResult) ) 

#define ISVGNumberList_appendItem(This,newItem,ppResult)	\
    ( (This)->lpVtbl -> appendItem(This,newItem,ppResult) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGNumberList_INTERFACE_DEFINED__ */


#ifndef __ISVGAnimatedNumberList_INTERFACE_DEFINED__
#define __ISVGAnimatedNumberList_INTERFACE_DEFINED__

/* interface ISVGAnimatedNumberList */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGAnimatedNumberList;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104ce-98b5-11cf-bb82-00aa00bdce0b")
    ISVGAnimatedNumberList : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_baseVal( 
            /* [in] */ __RPC__in_opt ISVGNumberList *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_baseVal( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGNumberList **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_animVal( 
            /* [in] */ __RPC__in_opt ISVGNumberList *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_animVal( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGNumberList **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGAnimatedNumberListVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGAnimatedNumberList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGAnimatedNumberList * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGAnimatedNumberList * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGAnimatedNumberList * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGAnimatedNumberList * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGAnimatedNumberList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGAnimatedNumberList * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_baseVal )( 
            __RPC__in ISVGAnimatedNumberList * This,
            /* [in] */ __RPC__in_opt ISVGNumberList *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseVal )( 
            __RPC__in ISVGAnimatedNumberList * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGNumberList **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_animVal )( 
            __RPC__in ISVGAnimatedNumberList * This,
            /* [in] */ __RPC__in_opt ISVGNumberList *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_animVal )( 
            __RPC__in ISVGAnimatedNumberList * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGNumberList **p);
        
        END_INTERFACE
    } ISVGAnimatedNumberListVtbl;

    interface ISVGAnimatedNumberList
    {
        CONST_VTBL struct ISVGAnimatedNumberListVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGAnimatedNumberList_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGAnimatedNumberList_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGAnimatedNumberList_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGAnimatedNumberList_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGAnimatedNumberList_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGAnimatedNumberList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGAnimatedNumberList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGAnimatedNumberList_putref_baseVal(This,v)	\
    ( (This)->lpVtbl -> putref_baseVal(This,v) ) 

#define ISVGAnimatedNumberList_get_baseVal(This,p)	\
    ( (This)->lpVtbl -> get_baseVal(This,p) ) 

#define ISVGAnimatedNumberList_putref_animVal(This,v)	\
    ( (This)->lpVtbl -> putref_animVal(This,v) ) 

#define ISVGAnimatedNumberList_get_animVal(This,p)	\
    ( (This)->lpVtbl -> get_animVal(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGAnimatedNumberList_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGAnimatedNumberList;

#ifdef __cplusplus

class DECLSPEC_UUID("3051058a-98b5-11cf-bb82-00aa00bdce0b")
SVGAnimatedNumberList;
#endif

EXTERN_C const CLSID CLSID_SVGAnimatedRect;

#ifdef __cplusplus

class DECLSPEC_UUID("30510586-98b5-11cf-bb82-00aa00bdce0b")
SVGAnimatedRect;
#endif

EXTERN_C const CLSID CLSID_SVGAnimatedString;

#ifdef __cplusplus

class DECLSPEC_UUID("3051058c-98b5-11cf-bb82-00aa00bdce0b")
SVGAnimatedString;
#endif

#ifndef __ISVGClipPathElement_INTERFACE_DEFINED__
#define __ISVGClipPathElement_INTERFACE_DEFINED__

/* interface ISVGClipPathElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGClipPathElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051052d-98b5-11cf-bb82-00aa00bdce0b")
    ISVGClipPathElement : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_clipPathUnits( 
            /* [in] */ __RPC__in_opt ISVGAnimatedEnumeration *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_clipPathUnits( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedEnumeration **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGClipPathElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGClipPathElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGClipPathElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGClipPathElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGClipPathElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGClipPathElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGClipPathElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGClipPathElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_clipPathUnits )( 
            __RPC__in ISVGClipPathElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedEnumeration *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_clipPathUnits )( 
            __RPC__in ISVGClipPathElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedEnumeration **p);
        
        END_INTERFACE
    } ISVGClipPathElementVtbl;

    interface ISVGClipPathElement
    {
        CONST_VTBL struct ISVGClipPathElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGClipPathElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGClipPathElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGClipPathElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGClipPathElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGClipPathElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGClipPathElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGClipPathElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGClipPathElement_putref_clipPathUnits(This,v)	\
    ( (This)->lpVtbl -> putref_clipPathUnits(This,v) ) 

#define ISVGClipPathElement_get_clipPathUnits(This,p)	\
    ( (This)->lpVtbl -> get_clipPathUnits(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGClipPathElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGClipPathElement_DISPINTERFACE_DEFINED__
#define __DispSVGClipPathElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGClipPathElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGClipPathElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059003B-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGClipPathElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGClipPathElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGClipPathElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGClipPathElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGClipPathElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGClipPathElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGClipPathElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGClipPathElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGClipPathElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGClipPathElementVtbl;

    interface DispSVGClipPathElement
    {
        CONST_VTBL struct DispSVGClipPathElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGClipPathElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGClipPathElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGClipPathElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGClipPathElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGClipPathElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGClipPathElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGClipPathElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGClipPathElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGClipPathElement;

#ifdef __cplusplus

class DECLSPEC_UUID("305105e6-98b5-11cf-bb82-00aa00bdce0b")
SVGClipPathElement;
#endif

#ifndef __ISVGDocument_INTERFACE_DEFINED__
#define __ISVGDocument_INTERFACE_DEFINED__

/* interface ISVGDocument */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGDocument;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104e6-98b5-11cf-bb82-00aa00bdce0b")
    ISVGDocument : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_rootElement( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGSVGElement **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGDocumentVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGDocument * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGDocument * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGDocument * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGDocument * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGDocument * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGDocument * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGDocument * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rootElement )( 
            __RPC__in ISVGDocument * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGSVGElement **p);
        
        END_INTERFACE
    } ISVGDocumentVtbl;

    interface ISVGDocument
    {
        CONST_VTBL struct ISVGDocumentVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGDocument_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGDocument_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGDocument_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGDocument_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGDocument_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGDocument_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGDocument_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGDocument_get_rootElement(This,p)	\
    ( (This)->lpVtbl -> get_rootElement(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGDocument_INTERFACE_DEFINED__ */


#ifndef __IGetSVGDocument_INTERFACE_DEFINED__
#define __IGetSVGDocument_INTERFACE_DEFINED__

/* interface IGetSVGDocument */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IGetSVGDocument;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305105ab-98b5-11cf-bb82-00aa00bdce0b")
    IGetSVGDocument : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getSVGDocument( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppSVGDocument) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGetSVGDocumentVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IGetSVGDocument * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IGetSVGDocument * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IGetSVGDocument * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IGetSVGDocument * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IGetSVGDocument * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IGetSVGDocument * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGetSVGDocument * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getSVGDocument )( 
            __RPC__in IGetSVGDocument * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppSVGDocument);
        
        END_INTERFACE
    } IGetSVGDocumentVtbl;

    interface IGetSVGDocument
    {
        CONST_VTBL struct IGetSVGDocumentVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGetSVGDocument_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IGetSVGDocument_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IGetSVGDocument_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IGetSVGDocument_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGetSVGDocument_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGetSVGDocument_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGetSVGDocument_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGetSVGDocument_getSVGDocument(This,ppSVGDocument)	\
    ( (This)->lpVtbl -> getSVGDocument(This,ppSVGDocument) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGetSVGDocument_INTERFACE_DEFINED__ */


#ifndef __DispSVGElement_DISPINTERFACE_DEFINED__
#define __DispSVGElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590000-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGElementVtbl;

    interface DispSVGElement
    {
        CONST_VTBL struct DispSVGElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGElement;

#ifdef __cplusplus

class DECLSPEC_UUID("30510564-98b5-11cf-bb82-00aa00bdce0b")
SVGElement;
#endif

#ifndef __IICCSVGColor_INTERFACE_DEFINED__
#define __IICCSVGColor_INTERFACE_DEFINED__

/* interface IICCSVGColor */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IICCSVGColor;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104d6-98b5-11cf-bb82-00aa00bdce0b")
    IICCSVGColor : public IDispatch
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct IICCSVGColorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IICCSVGColor * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IICCSVGColor * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IICCSVGColor * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IICCSVGColor * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IICCSVGColor * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IICCSVGColor * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IICCSVGColor * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } IICCSVGColorVtbl;

    interface IICCSVGColor
    {
        CONST_VTBL struct IICCSVGColorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IICCSVGColor_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IICCSVGColor_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IICCSVGColor_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IICCSVGColor_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IICCSVGColor_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IICCSVGColor_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IICCSVGColor_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IICCSVGColor_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGLength;

#ifdef __cplusplus

class DECLSPEC_UUID("3051057e-98b5-11cf-bb82-00aa00bdce0b")
SVGLength;
#endif

EXTERN_C const CLSID CLSID_SVGLengthList;

#ifdef __cplusplus

class DECLSPEC_UUID("30510580-98b5-11cf-bb82-00aa00bdce0b")
SVGLengthList;
#endif

EXTERN_C const CLSID CLSID_SVGMatrix;

#ifdef __cplusplus

class DECLSPEC_UUID("305105ae-98b5-11cf-bb82-00aa00bdce0b")
SVGMatrix;
#endif

EXTERN_C const CLSID CLSID_SVGNumber;

#ifdef __cplusplus

class DECLSPEC_UUID("30510587-98b5-11cf-bb82-00aa00bdce0b")
SVGNumber;
#endif

EXTERN_C const CLSID CLSID_SVGNumberList;

#ifdef __cplusplus

class DECLSPEC_UUID("30510589-98b5-11cf-bb82-00aa00bdce0b")
SVGNumberList;
#endif

#ifndef __ISVGPaint_INTERFACE_DEFINED__
#define __ISVGPaint_INTERFACE_DEFINED__

/* interface ISVGPaint */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPaint;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510524-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPaint : public IDispatch
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPaintVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPaint * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPaint * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPaint * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPaint * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPaint * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPaint * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPaint * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } ISVGPaintVtbl;

    interface ISVGPaint
    {
        CONST_VTBL struct ISVGPaintVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPaint_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPaint_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPaint_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPaint_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPaint_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPaint_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPaint_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPaint_INTERFACE_DEFINED__ */


#ifndef __ISVGPatternElement_INTERFACE_DEFINED__
#define __ISVGPatternElement_INTERFACE_DEFINED__

/* interface ISVGPatternElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPatternElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051052c-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPatternElement : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_patternUnits( 
            /* [in] */ __RPC__in_opt ISVGAnimatedEnumeration *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_patternUnits( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedEnumeration **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_patternContentUnits( 
            /* [in] */ __RPC__in_opt ISVGAnimatedEnumeration *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_patternContentUnits( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedEnumeration **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_patternTransform( 
            /* [in] */ __RPC__in_opt ISVGAnimatedTransformList *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_patternTransform( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedTransformList **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_x( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_y( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_width( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_height( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPatternElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPatternElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPatternElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPatternElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPatternElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPatternElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPatternElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPatternElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_patternUnits )( 
            __RPC__in ISVGPatternElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedEnumeration *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_patternUnits )( 
            __RPC__in ISVGPatternElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedEnumeration **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_patternContentUnits )( 
            __RPC__in ISVGPatternElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedEnumeration *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_patternContentUnits )( 
            __RPC__in ISVGPatternElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedEnumeration **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_patternTransform )( 
            __RPC__in ISVGPatternElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedTransformList *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_patternTransform )( 
            __RPC__in ISVGPatternElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedTransformList **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_x )( 
            __RPC__in ISVGPatternElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in ISVGPatternElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_y )( 
            __RPC__in ISVGPatternElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in ISVGPatternElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_width )( 
            __RPC__in ISVGPatternElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in ISVGPatternElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_height )( 
            __RPC__in ISVGPatternElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in ISVGPatternElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        END_INTERFACE
    } ISVGPatternElementVtbl;

    interface ISVGPatternElement
    {
        CONST_VTBL struct ISVGPatternElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPatternElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPatternElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPatternElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPatternElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPatternElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPatternElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPatternElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGPatternElement_putref_patternUnits(This,v)	\
    ( (This)->lpVtbl -> putref_patternUnits(This,v) ) 

#define ISVGPatternElement_get_patternUnits(This,p)	\
    ( (This)->lpVtbl -> get_patternUnits(This,p) ) 

#define ISVGPatternElement_putref_patternContentUnits(This,v)	\
    ( (This)->lpVtbl -> putref_patternContentUnits(This,v) ) 

#define ISVGPatternElement_get_patternContentUnits(This,p)	\
    ( (This)->lpVtbl -> get_patternContentUnits(This,p) ) 

#define ISVGPatternElement_putref_patternTransform(This,v)	\
    ( (This)->lpVtbl -> putref_patternTransform(This,v) ) 

#define ISVGPatternElement_get_patternTransform(This,p)	\
    ( (This)->lpVtbl -> get_patternTransform(This,p) ) 

#define ISVGPatternElement_putref_x(This,v)	\
    ( (This)->lpVtbl -> putref_x(This,v) ) 

#define ISVGPatternElement_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#define ISVGPatternElement_putref_y(This,v)	\
    ( (This)->lpVtbl -> putref_y(This,v) ) 

#define ISVGPatternElement_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#define ISVGPatternElement_putref_width(This,v)	\
    ( (This)->lpVtbl -> putref_width(This,v) ) 

#define ISVGPatternElement_get_width(This,p)	\
    ( (This)->lpVtbl -> get_width(This,p) ) 

#define ISVGPatternElement_putref_height(This,v)	\
    ( (This)->lpVtbl -> putref_height(This,v) ) 

#define ISVGPatternElement_get_height(This,p)	\
    ( (This)->lpVtbl -> get_height(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPatternElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGPatternElement_DISPINTERFACE_DEFINED__
#define __DispSVGPatternElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGPatternElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGPatternElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059002c-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGPatternElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGPatternElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGPatternElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGPatternElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGPatternElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGPatternElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGPatternElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGPatternElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGPatternElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGPatternElementVtbl;

    interface DispSVGPatternElement
    {
        CONST_VTBL struct DispSVGPatternElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGPatternElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGPatternElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGPatternElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGPatternElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGPatternElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGPatternElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGPatternElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGPatternElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPatternElement;

#ifdef __cplusplus

class DECLSPEC_UUID("305105d4-98b5-11cf-bb82-00aa00bdce0b")
SVGPatternElement;
#endif

#ifndef __ISVGPathSeg_INTERFACE_DEFINED__
#define __ISVGPathSeg_INTERFACE_DEFINED__

/* interface ISVGPathSeg */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPathSeg;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104fc-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPathSeg : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_pathSegType( 
            /* [in] */ short v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_pathSegType( 
            /* [out][retval] */ __RPC__out short *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_pathSegTypeAsLetter( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPathSegVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPathSeg * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPathSeg * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPathSeg * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPathSeg * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPathSeg * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPathSeg * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPathSeg * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pathSegType )( 
            __RPC__in ISVGPathSeg * This,
            /* [in] */ short v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pathSegType )( 
            __RPC__in ISVGPathSeg * This,
            /* [out][retval] */ __RPC__out short *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pathSegTypeAsLetter )( 
            __RPC__in ISVGPathSeg * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } ISVGPathSegVtbl;

    interface ISVGPathSeg
    {
        CONST_VTBL struct ISVGPathSegVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPathSeg_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPathSeg_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPathSeg_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPathSeg_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPathSeg_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPathSeg_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPathSeg_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGPathSeg_put_pathSegType(This,v)	\
    ( (This)->lpVtbl -> put_pathSegType(This,v) ) 

#define ISVGPathSeg_get_pathSegType(This,p)	\
    ( (This)->lpVtbl -> get_pathSegType(This,p) ) 

#define ISVGPathSeg_get_pathSegTypeAsLetter(This,p)	\
    ( (This)->lpVtbl -> get_pathSegTypeAsLetter(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPathSeg_INTERFACE_DEFINED__ */


#ifndef __ISVGPathSegArcAbs_INTERFACE_DEFINED__
#define __ISVGPathSegArcAbs_INTERFACE_DEFINED__

/* interface ISVGPathSegArcAbs */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPathSegArcAbs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510506-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPathSegArcAbs : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_r1( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_r1( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_r2( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_r2( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_angle( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_angle( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_largeArcFlag( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_largeArcFlag( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_sweepFlag( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_sweepFlag( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPathSegArcAbsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPathSegArcAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPathSegArcAbs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPathSegArcAbs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPathSegArcAbs * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPathSegArcAbs * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPathSegArcAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPathSegArcAbs * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x )( 
            __RPC__in ISVGPathSegArcAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in ISVGPathSegArcAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y )( 
            __RPC__in ISVGPathSegArcAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in ISVGPathSegArcAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_r1 )( 
            __RPC__in ISVGPathSegArcAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_r1 )( 
            __RPC__in ISVGPathSegArcAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_r2 )( 
            __RPC__in ISVGPathSegArcAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_r2 )( 
            __RPC__in ISVGPathSegArcAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_angle )( 
            __RPC__in ISVGPathSegArcAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_angle )( 
            __RPC__in ISVGPathSegArcAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_largeArcFlag )( 
            __RPC__in ISVGPathSegArcAbs * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_largeArcFlag )( 
            __RPC__in ISVGPathSegArcAbs * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_sweepFlag )( 
            __RPC__in ISVGPathSegArcAbs * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sweepFlag )( 
            __RPC__in ISVGPathSegArcAbs * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        END_INTERFACE
    } ISVGPathSegArcAbsVtbl;

    interface ISVGPathSegArcAbs
    {
        CONST_VTBL struct ISVGPathSegArcAbsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPathSegArcAbs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPathSegArcAbs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPathSegArcAbs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPathSegArcAbs_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPathSegArcAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPathSegArcAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPathSegArcAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGPathSegArcAbs_put_x(This,v)	\
    ( (This)->lpVtbl -> put_x(This,v) ) 

#define ISVGPathSegArcAbs_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#define ISVGPathSegArcAbs_put_y(This,v)	\
    ( (This)->lpVtbl -> put_y(This,v) ) 

#define ISVGPathSegArcAbs_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#define ISVGPathSegArcAbs_put_r1(This,v)	\
    ( (This)->lpVtbl -> put_r1(This,v) ) 

#define ISVGPathSegArcAbs_get_r1(This,p)	\
    ( (This)->lpVtbl -> get_r1(This,p) ) 

#define ISVGPathSegArcAbs_put_r2(This,v)	\
    ( (This)->lpVtbl -> put_r2(This,v) ) 

#define ISVGPathSegArcAbs_get_r2(This,p)	\
    ( (This)->lpVtbl -> get_r2(This,p) ) 

#define ISVGPathSegArcAbs_put_angle(This,v)	\
    ( (This)->lpVtbl -> put_angle(This,v) ) 

#define ISVGPathSegArcAbs_get_angle(This,p)	\
    ( (This)->lpVtbl -> get_angle(This,p) ) 

#define ISVGPathSegArcAbs_put_largeArcFlag(This,v)	\
    ( (This)->lpVtbl -> put_largeArcFlag(This,v) ) 

#define ISVGPathSegArcAbs_get_largeArcFlag(This,p)	\
    ( (This)->lpVtbl -> get_largeArcFlag(This,p) ) 

#define ISVGPathSegArcAbs_put_sweepFlag(This,v)	\
    ( (This)->lpVtbl -> put_sweepFlag(This,v) ) 

#define ISVGPathSegArcAbs_get_sweepFlag(This,p)	\
    ( (This)->lpVtbl -> get_sweepFlag(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPathSegArcAbs_INTERFACE_DEFINED__ */


#ifndef __ISVGPathSegArcRel_INTERFACE_DEFINED__
#define __ISVGPathSegArcRel_INTERFACE_DEFINED__

/* interface ISVGPathSegArcRel */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPathSegArcRel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510507-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPathSegArcRel : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_r1( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_r1( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_r2( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_r2( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_angle( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_angle( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_largeArcFlag( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_largeArcFlag( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_sweepFlag( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_sweepFlag( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPathSegArcRelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPathSegArcRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPathSegArcRel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPathSegArcRel * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPathSegArcRel * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPathSegArcRel * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPathSegArcRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPathSegArcRel * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x )( 
            __RPC__in ISVGPathSegArcRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in ISVGPathSegArcRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y )( 
            __RPC__in ISVGPathSegArcRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in ISVGPathSegArcRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_r1 )( 
            __RPC__in ISVGPathSegArcRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_r1 )( 
            __RPC__in ISVGPathSegArcRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_r2 )( 
            __RPC__in ISVGPathSegArcRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_r2 )( 
            __RPC__in ISVGPathSegArcRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_angle )( 
            __RPC__in ISVGPathSegArcRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_angle )( 
            __RPC__in ISVGPathSegArcRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_largeArcFlag )( 
            __RPC__in ISVGPathSegArcRel * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_largeArcFlag )( 
            __RPC__in ISVGPathSegArcRel * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_sweepFlag )( 
            __RPC__in ISVGPathSegArcRel * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sweepFlag )( 
            __RPC__in ISVGPathSegArcRel * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        END_INTERFACE
    } ISVGPathSegArcRelVtbl;

    interface ISVGPathSegArcRel
    {
        CONST_VTBL struct ISVGPathSegArcRelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPathSegArcRel_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPathSegArcRel_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPathSegArcRel_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPathSegArcRel_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPathSegArcRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPathSegArcRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPathSegArcRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGPathSegArcRel_put_x(This,v)	\
    ( (This)->lpVtbl -> put_x(This,v) ) 

#define ISVGPathSegArcRel_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#define ISVGPathSegArcRel_put_y(This,v)	\
    ( (This)->lpVtbl -> put_y(This,v) ) 

#define ISVGPathSegArcRel_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#define ISVGPathSegArcRel_put_r1(This,v)	\
    ( (This)->lpVtbl -> put_r1(This,v) ) 

#define ISVGPathSegArcRel_get_r1(This,p)	\
    ( (This)->lpVtbl -> get_r1(This,p) ) 

#define ISVGPathSegArcRel_put_r2(This,v)	\
    ( (This)->lpVtbl -> put_r2(This,v) ) 

#define ISVGPathSegArcRel_get_r2(This,p)	\
    ( (This)->lpVtbl -> get_r2(This,p) ) 

#define ISVGPathSegArcRel_put_angle(This,v)	\
    ( (This)->lpVtbl -> put_angle(This,v) ) 

#define ISVGPathSegArcRel_get_angle(This,p)	\
    ( (This)->lpVtbl -> get_angle(This,p) ) 

#define ISVGPathSegArcRel_put_largeArcFlag(This,v)	\
    ( (This)->lpVtbl -> put_largeArcFlag(This,v) ) 

#define ISVGPathSegArcRel_get_largeArcFlag(This,p)	\
    ( (This)->lpVtbl -> get_largeArcFlag(This,p) ) 

#define ISVGPathSegArcRel_put_sweepFlag(This,v)	\
    ( (This)->lpVtbl -> put_sweepFlag(This,v) ) 

#define ISVGPathSegArcRel_get_sweepFlag(This,p)	\
    ( (This)->lpVtbl -> get_sweepFlag(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPathSegArcRel_INTERFACE_DEFINED__ */


#ifndef __ISVGPathSegClosePath_INTERFACE_DEFINED__
#define __ISVGPathSegClosePath_INTERFACE_DEFINED__

/* interface ISVGPathSegClosePath */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPathSegClosePath;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104fd-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPathSegClosePath : public IDispatch
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPathSegClosePathVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPathSegClosePath * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPathSegClosePath * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPathSegClosePath * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPathSegClosePath * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPathSegClosePath * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPathSegClosePath * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPathSegClosePath * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } ISVGPathSegClosePathVtbl;

    interface ISVGPathSegClosePath
    {
        CONST_VTBL struct ISVGPathSegClosePathVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPathSegClosePath_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPathSegClosePath_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPathSegClosePath_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPathSegClosePath_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPathSegClosePath_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPathSegClosePath_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPathSegClosePath_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPathSegClosePath_INTERFACE_DEFINED__ */


#ifndef __ISVGPathSegMovetoAbs_INTERFACE_DEFINED__
#define __ISVGPathSegMovetoAbs_INTERFACE_DEFINED__

/* interface ISVGPathSegMovetoAbs */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPathSegMovetoAbs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104fe-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPathSegMovetoAbs : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPathSegMovetoAbsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPathSegMovetoAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPathSegMovetoAbs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPathSegMovetoAbs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPathSegMovetoAbs * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPathSegMovetoAbs * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPathSegMovetoAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPathSegMovetoAbs * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x )( 
            __RPC__in ISVGPathSegMovetoAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in ISVGPathSegMovetoAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y )( 
            __RPC__in ISVGPathSegMovetoAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in ISVGPathSegMovetoAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        END_INTERFACE
    } ISVGPathSegMovetoAbsVtbl;

    interface ISVGPathSegMovetoAbs
    {
        CONST_VTBL struct ISVGPathSegMovetoAbsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPathSegMovetoAbs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPathSegMovetoAbs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPathSegMovetoAbs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPathSegMovetoAbs_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPathSegMovetoAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPathSegMovetoAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPathSegMovetoAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGPathSegMovetoAbs_put_x(This,v)	\
    ( (This)->lpVtbl -> put_x(This,v) ) 

#define ISVGPathSegMovetoAbs_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#define ISVGPathSegMovetoAbs_put_y(This,v)	\
    ( (This)->lpVtbl -> put_y(This,v) ) 

#define ISVGPathSegMovetoAbs_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPathSegMovetoAbs_INTERFACE_DEFINED__ */


#ifndef __ISVGPathSegMovetoRel_INTERFACE_DEFINED__
#define __ISVGPathSegMovetoRel_INTERFACE_DEFINED__

/* interface ISVGPathSegMovetoRel */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPathSegMovetoRel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104ff-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPathSegMovetoRel : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPathSegMovetoRelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPathSegMovetoRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPathSegMovetoRel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPathSegMovetoRel * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPathSegMovetoRel * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPathSegMovetoRel * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPathSegMovetoRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPathSegMovetoRel * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x )( 
            __RPC__in ISVGPathSegMovetoRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in ISVGPathSegMovetoRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y )( 
            __RPC__in ISVGPathSegMovetoRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in ISVGPathSegMovetoRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        END_INTERFACE
    } ISVGPathSegMovetoRelVtbl;

    interface ISVGPathSegMovetoRel
    {
        CONST_VTBL struct ISVGPathSegMovetoRelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPathSegMovetoRel_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPathSegMovetoRel_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPathSegMovetoRel_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPathSegMovetoRel_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPathSegMovetoRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPathSegMovetoRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPathSegMovetoRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGPathSegMovetoRel_put_x(This,v)	\
    ( (This)->lpVtbl -> put_x(This,v) ) 

#define ISVGPathSegMovetoRel_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#define ISVGPathSegMovetoRel_put_y(This,v)	\
    ( (This)->lpVtbl -> put_y(This,v) ) 

#define ISVGPathSegMovetoRel_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPathSegMovetoRel_INTERFACE_DEFINED__ */


#ifndef __ISVGPathSegLinetoAbs_INTERFACE_DEFINED__
#define __ISVGPathSegLinetoAbs_INTERFACE_DEFINED__

/* interface ISVGPathSegLinetoAbs */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPathSegLinetoAbs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510500-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPathSegLinetoAbs : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPathSegLinetoAbsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPathSegLinetoAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPathSegLinetoAbs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPathSegLinetoAbs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPathSegLinetoAbs * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPathSegLinetoAbs * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPathSegLinetoAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPathSegLinetoAbs * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x )( 
            __RPC__in ISVGPathSegLinetoAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in ISVGPathSegLinetoAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y )( 
            __RPC__in ISVGPathSegLinetoAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in ISVGPathSegLinetoAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        END_INTERFACE
    } ISVGPathSegLinetoAbsVtbl;

    interface ISVGPathSegLinetoAbs
    {
        CONST_VTBL struct ISVGPathSegLinetoAbsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPathSegLinetoAbs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPathSegLinetoAbs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPathSegLinetoAbs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPathSegLinetoAbs_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPathSegLinetoAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPathSegLinetoAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPathSegLinetoAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGPathSegLinetoAbs_put_x(This,v)	\
    ( (This)->lpVtbl -> put_x(This,v) ) 

#define ISVGPathSegLinetoAbs_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#define ISVGPathSegLinetoAbs_put_y(This,v)	\
    ( (This)->lpVtbl -> put_y(This,v) ) 

#define ISVGPathSegLinetoAbs_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPathSegLinetoAbs_INTERFACE_DEFINED__ */


#ifndef __ISVGPathSegLinetoRel_INTERFACE_DEFINED__
#define __ISVGPathSegLinetoRel_INTERFACE_DEFINED__

/* interface ISVGPathSegLinetoRel */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPathSegLinetoRel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510501-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPathSegLinetoRel : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPathSegLinetoRelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPathSegLinetoRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPathSegLinetoRel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPathSegLinetoRel * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPathSegLinetoRel * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPathSegLinetoRel * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPathSegLinetoRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPathSegLinetoRel * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x )( 
            __RPC__in ISVGPathSegLinetoRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in ISVGPathSegLinetoRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y )( 
            __RPC__in ISVGPathSegLinetoRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in ISVGPathSegLinetoRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        END_INTERFACE
    } ISVGPathSegLinetoRelVtbl;

    interface ISVGPathSegLinetoRel
    {
        CONST_VTBL struct ISVGPathSegLinetoRelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPathSegLinetoRel_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPathSegLinetoRel_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPathSegLinetoRel_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPathSegLinetoRel_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPathSegLinetoRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPathSegLinetoRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPathSegLinetoRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGPathSegLinetoRel_put_x(This,v)	\
    ( (This)->lpVtbl -> put_x(This,v) ) 

#define ISVGPathSegLinetoRel_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#define ISVGPathSegLinetoRel_put_y(This,v)	\
    ( (This)->lpVtbl -> put_y(This,v) ) 

#define ISVGPathSegLinetoRel_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPathSegLinetoRel_INTERFACE_DEFINED__ */


#ifndef __ISVGPathSegCurvetoCubicAbs_INTERFACE_DEFINED__
#define __ISVGPathSegCurvetoCubicAbs_INTERFACE_DEFINED__

/* interface ISVGPathSegCurvetoCubicAbs */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPathSegCurvetoCubicAbs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510502-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPathSegCurvetoCubicAbs : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x1( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x1( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y1( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y1( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x2( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x2( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y2( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y2( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPathSegCurvetoCubicAbsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPathSegCurvetoCubicAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPathSegCurvetoCubicAbs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPathSegCurvetoCubicAbs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPathSegCurvetoCubicAbs * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPathSegCurvetoCubicAbs * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPathSegCurvetoCubicAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPathSegCurvetoCubicAbs * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x )( 
            __RPC__in ISVGPathSegCurvetoCubicAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in ISVGPathSegCurvetoCubicAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y )( 
            __RPC__in ISVGPathSegCurvetoCubicAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in ISVGPathSegCurvetoCubicAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x1 )( 
            __RPC__in ISVGPathSegCurvetoCubicAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x1 )( 
            __RPC__in ISVGPathSegCurvetoCubicAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y1 )( 
            __RPC__in ISVGPathSegCurvetoCubicAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y1 )( 
            __RPC__in ISVGPathSegCurvetoCubicAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x2 )( 
            __RPC__in ISVGPathSegCurvetoCubicAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x2 )( 
            __RPC__in ISVGPathSegCurvetoCubicAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y2 )( 
            __RPC__in ISVGPathSegCurvetoCubicAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y2 )( 
            __RPC__in ISVGPathSegCurvetoCubicAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        END_INTERFACE
    } ISVGPathSegCurvetoCubicAbsVtbl;

    interface ISVGPathSegCurvetoCubicAbs
    {
        CONST_VTBL struct ISVGPathSegCurvetoCubicAbsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPathSegCurvetoCubicAbs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPathSegCurvetoCubicAbs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPathSegCurvetoCubicAbs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPathSegCurvetoCubicAbs_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPathSegCurvetoCubicAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPathSegCurvetoCubicAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPathSegCurvetoCubicAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGPathSegCurvetoCubicAbs_put_x(This,v)	\
    ( (This)->lpVtbl -> put_x(This,v) ) 

#define ISVGPathSegCurvetoCubicAbs_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#define ISVGPathSegCurvetoCubicAbs_put_y(This,v)	\
    ( (This)->lpVtbl -> put_y(This,v) ) 

#define ISVGPathSegCurvetoCubicAbs_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#define ISVGPathSegCurvetoCubicAbs_put_x1(This,v)	\
    ( (This)->lpVtbl -> put_x1(This,v) ) 

#define ISVGPathSegCurvetoCubicAbs_get_x1(This,p)	\
    ( (This)->lpVtbl -> get_x1(This,p) ) 

#define ISVGPathSegCurvetoCubicAbs_put_y1(This,v)	\
    ( (This)->lpVtbl -> put_y1(This,v) ) 

#define ISVGPathSegCurvetoCubicAbs_get_y1(This,p)	\
    ( (This)->lpVtbl -> get_y1(This,p) ) 

#define ISVGPathSegCurvetoCubicAbs_put_x2(This,v)	\
    ( (This)->lpVtbl -> put_x2(This,v) ) 

#define ISVGPathSegCurvetoCubicAbs_get_x2(This,p)	\
    ( (This)->lpVtbl -> get_x2(This,p) ) 

#define ISVGPathSegCurvetoCubicAbs_put_y2(This,v)	\
    ( (This)->lpVtbl -> put_y2(This,v) ) 

#define ISVGPathSegCurvetoCubicAbs_get_y2(This,p)	\
    ( (This)->lpVtbl -> get_y2(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPathSegCurvetoCubicAbs_INTERFACE_DEFINED__ */


#ifndef __ISVGPathSegCurvetoCubicRel_INTERFACE_DEFINED__
#define __ISVGPathSegCurvetoCubicRel_INTERFACE_DEFINED__

/* interface ISVGPathSegCurvetoCubicRel */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPathSegCurvetoCubicRel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510503-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPathSegCurvetoCubicRel : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x1( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x1( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y1( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y1( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x2( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x2( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y2( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y2( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPathSegCurvetoCubicRelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPathSegCurvetoCubicRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPathSegCurvetoCubicRel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPathSegCurvetoCubicRel * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPathSegCurvetoCubicRel * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPathSegCurvetoCubicRel * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPathSegCurvetoCubicRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPathSegCurvetoCubicRel * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x )( 
            __RPC__in ISVGPathSegCurvetoCubicRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in ISVGPathSegCurvetoCubicRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y )( 
            __RPC__in ISVGPathSegCurvetoCubicRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in ISVGPathSegCurvetoCubicRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x1 )( 
            __RPC__in ISVGPathSegCurvetoCubicRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x1 )( 
            __RPC__in ISVGPathSegCurvetoCubicRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y1 )( 
            __RPC__in ISVGPathSegCurvetoCubicRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y1 )( 
            __RPC__in ISVGPathSegCurvetoCubicRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x2 )( 
            __RPC__in ISVGPathSegCurvetoCubicRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x2 )( 
            __RPC__in ISVGPathSegCurvetoCubicRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y2 )( 
            __RPC__in ISVGPathSegCurvetoCubicRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y2 )( 
            __RPC__in ISVGPathSegCurvetoCubicRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        END_INTERFACE
    } ISVGPathSegCurvetoCubicRelVtbl;

    interface ISVGPathSegCurvetoCubicRel
    {
        CONST_VTBL struct ISVGPathSegCurvetoCubicRelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPathSegCurvetoCubicRel_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPathSegCurvetoCubicRel_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPathSegCurvetoCubicRel_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPathSegCurvetoCubicRel_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPathSegCurvetoCubicRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPathSegCurvetoCubicRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPathSegCurvetoCubicRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGPathSegCurvetoCubicRel_put_x(This,v)	\
    ( (This)->lpVtbl -> put_x(This,v) ) 

#define ISVGPathSegCurvetoCubicRel_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#define ISVGPathSegCurvetoCubicRel_put_y(This,v)	\
    ( (This)->lpVtbl -> put_y(This,v) ) 

#define ISVGPathSegCurvetoCubicRel_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#define ISVGPathSegCurvetoCubicRel_put_x1(This,v)	\
    ( (This)->lpVtbl -> put_x1(This,v) ) 

#define ISVGPathSegCurvetoCubicRel_get_x1(This,p)	\
    ( (This)->lpVtbl -> get_x1(This,p) ) 

#define ISVGPathSegCurvetoCubicRel_put_y1(This,v)	\
    ( (This)->lpVtbl -> put_y1(This,v) ) 

#define ISVGPathSegCurvetoCubicRel_get_y1(This,p)	\
    ( (This)->lpVtbl -> get_y1(This,p) ) 

#define ISVGPathSegCurvetoCubicRel_put_x2(This,v)	\
    ( (This)->lpVtbl -> put_x2(This,v) ) 

#define ISVGPathSegCurvetoCubicRel_get_x2(This,p)	\
    ( (This)->lpVtbl -> get_x2(This,p) ) 

#define ISVGPathSegCurvetoCubicRel_put_y2(This,v)	\
    ( (This)->lpVtbl -> put_y2(This,v) ) 

#define ISVGPathSegCurvetoCubicRel_get_y2(This,p)	\
    ( (This)->lpVtbl -> get_y2(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPathSegCurvetoCubicRel_INTERFACE_DEFINED__ */


#ifndef __ISVGPathSegCurvetoCubicSmoothAbs_INTERFACE_DEFINED__
#define __ISVGPathSegCurvetoCubicSmoothAbs_INTERFACE_DEFINED__

/* interface ISVGPathSegCurvetoCubicSmoothAbs */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPathSegCurvetoCubicSmoothAbs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051050c-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPathSegCurvetoCubicSmoothAbs : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x2( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x2( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y2( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y2( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPathSegCurvetoCubicSmoothAbsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothAbs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothAbs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothAbs * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothAbs * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPathSegCurvetoCubicSmoothAbs * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x2 )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x2 )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y2 )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y2 )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        END_INTERFACE
    } ISVGPathSegCurvetoCubicSmoothAbsVtbl;

    interface ISVGPathSegCurvetoCubicSmoothAbs
    {
        CONST_VTBL struct ISVGPathSegCurvetoCubicSmoothAbsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPathSegCurvetoCubicSmoothAbs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPathSegCurvetoCubicSmoothAbs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPathSegCurvetoCubicSmoothAbs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPathSegCurvetoCubicSmoothAbs_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPathSegCurvetoCubicSmoothAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPathSegCurvetoCubicSmoothAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPathSegCurvetoCubicSmoothAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGPathSegCurvetoCubicSmoothAbs_put_x(This,v)	\
    ( (This)->lpVtbl -> put_x(This,v) ) 

#define ISVGPathSegCurvetoCubicSmoothAbs_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#define ISVGPathSegCurvetoCubicSmoothAbs_put_y(This,v)	\
    ( (This)->lpVtbl -> put_y(This,v) ) 

#define ISVGPathSegCurvetoCubicSmoothAbs_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#define ISVGPathSegCurvetoCubicSmoothAbs_put_x2(This,v)	\
    ( (This)->lpVtbl -> put_x2(This,v) ) 

#define ISVGPathSegCurvetoCubicSmoothAbs_get_x2(This,p)	\
    ( (This)->lpVtbl -> get_x2(This,p) ) 

#define ISVGPathSegCurvetoCubicSmoothAbs_put_y2(This,v)	\
    ( (This)->lpVtbl -> put_y2(This,v) ) 

#define ISVGPathSegCurvetoCubicSmoothAbs_get_y2(This,p)	\
    ( (This)->lpVtbl -> get_y2(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPathSegCurvetoCubicSmoothAbs_INTERFACE_DEFINED__ */


#ifndef __ISVGPathSegCurvetoCubicSmoothRel_INTERFACE_DEFINED__
#define __ISVGPathSegCurvetoCubicSmoothRel_INTERFACE_DEFINED__

/* interface ISVGPathSegCurvetoCubicSmoothRel */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPathSegCurvetoCubicSmoothRel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051050d-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPathSegCurvetoCubicSmoothRel : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x2( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x2( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y2( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y2( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPathSegCurvetoCubicSmoothRelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothRel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothRel * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothRel * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothRel * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPathSegCurvetoCubicSmoothRel * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x2 )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x2 )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y2 )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y2 )( 
            __RPC__in ISVGPathSegCurvetoCubicSmoothRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        END_INTERFACE
    } ISVGPathSegCurvetoCubicSmoothRelVtbl;

    interface ISVGPathSegCurvetoCubicSmoothRel
    {
        CONST_VTBL struct ISVGPathSegCurvetoCubicSmoothRelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPathSegCurvetoCubicSmoothRel_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPathSegCurvetoCubicSmoothRel_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPathSegCurvetoCubicSmoothRel_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPathSegCurvetoCubicSmoothRel_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPathSegCurvetoCubicSmoothRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPathSegCurvetoCubicSmoothRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPathSegCurvetoCubicSmoothRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGPathSegCurvetoCubicSmoothRel_put_x(This,v)	\
    ( (This)->lpVtbl -> put_x(This,v) ) 

#define ISVGPathSegCurvetoCubicSmoothRel_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#define ISVGPathSegCurvetoCubicSmoothRel_put_y(This,v)	\
    ( (This)->lpVtbl -> put_y(This,v) ) 

#define ISVGPathSegCurvetoCubicSmoothRel_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#define ISVGPathSegCurvetoCubicSmoothRel_put_x2(This,v)	\
    ( (This)->lpVtbl -> put_x2(This,v) ) 

#define ISVGPathSegCurvetoCubicSmoothRel_get_x2(This,p)	\
    ( (This)->lpVtbl -> get_x2(This,p) ) 

#define ISVGPathSegCurvetoCubicSmoothRel_put_y2(This,v)	\
    ( (This)->lpVtbl -> put_y2(This,v) ) 

#define ISVGPathSegCurvetoCubicSmoothRel_get_y2(This,p)	\
    ( (This)->lpVtbl -> get_y2(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPathSegCurvetoCubicSmoothRel_INTERFACE_DEFINED__ */


#ifndef __ISVGPathSegCurvetoQuadraticAbs_INTERFACE_DEFINED__
#define __ISVGPathSegCurvetoQuadraticAbs_INTERFACE_DEFINED__

/* interface ISVGPathSegCurvetoQuadraticAbs */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPathSegCurvetoQuadraticAbs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510504-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPathSegCurvetoQuadraticAbs : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x1( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x1( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y1( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y1( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPathSegCurvetoQuadraticAbsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPathSegCurvetoQuadraticAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPathSegCurvetoQuadraticAbs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPathSegCurvetoQuadraticAbs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPathSegCurvetoQuadraticAbs * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPathSegCurvetoQuadraticAbs * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPathSegCurvetoQuadraticAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPathSegCurvetoQuadraticAbs * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x )( 
            __RPC__in ISVGPathSegCurvetoQuadraticAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in ISVGPathSegCurvetoQuadraticAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y )( 
            __RPC__in ISVGPathSegCurvetoQuadraticAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in ISVGPathSegCurvetoQuadraticAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x1 )( 
            __RPC__in ISVGPathSegCurvetoQuadraticAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x1 )( 
            __RPC__in ISVGPathSegCurvetoQuadraticAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y1 )( 
            __RPC__in ISVGPathSegCurvetoQuadraticAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y1 )( 
            __RPC__in ISVGPathSegCurvetoQuadraticAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        END_INTERFACE
    } ISVGPathSegCurvetoQuadraticAbsVtbl;

    interface ISVGPathSegCurvetoQuadraticAbs
    {
        CONST_VTBL struct ISVGPathSegCurvetoQuadraticAbsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPathSegCurvetoQuadraticAbs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPathSegCurvetoQuadraticAbs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPathSegCurvetoQuadraticAbs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPathSegCurvetoQuadraticAbs_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPathSegCurvetoQuadraticAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPathSegCurvetoQuadraticAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPathSegCurvetoQuadraticAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGPathSegCurvetoQuadraticAbs_put_x(This,v)	\
    ( (This)->lpVtbl -> put_x(This,v) ) 

#define ISVGPathSegCurvetoQuadraticAbs_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#define ISVGPathSegCurvetoQuadraticAbs_put_y(This,v)	\
    ( (This)->lpVtbl -> put_y(This,v) ) 

#define ISVGPathSegCurvetoQuadraticAbs_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#define ISVGPathSegCurvetoQuadraticAbs_put_x1(This,v)	\
    ( (This)->lpVtbl -> put_x1(This,v) ) 

#define ISVGPathSegCurvetoQuadraticAbs_get_x1(This,p)	\
    ( (This)->lpVtbl -> get_x1(This,p) ) 

#define ISVGPathSegCurvetoQuadraticAbs_put_y1(This,v)	\
    ( (This)->lpVtbl -> put_y1(This,v) ) 

#define ISVGPathSegCurvetoQuadraticAbs_get_y1(This,p)	\
    ( (This)->lpVtbl -> get_y1(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPathSegCurvetoQuadraticAbs_INTERFACE_DEFINED__ */


#ifndef __ISVGPathSegCurvetoQuadraticRel_INTERFACE_DEFINED__
#define __ISVGPathSegCurvetoQuadraticRel_INTERFACE_DEFINED__

/* interface ISVGPathSegCurvetoQuadraticRel */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPathSegCurvetoQuadraticRel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510505-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPathSegCurvetoQuadraticRel : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x1( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x1( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y1( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y1( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPathSegCurvetoQuadraticRelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPathSegCurvetoQuadraticRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPathSegCurvetoQuadraticRel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPathSegCurvetoQuadraticRel * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPathSegCurvetoQuadraticRel * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPathSegCurvetoQuadraticRel * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPathSegCurvetoQuadraticRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPathSegCurvetoQuadraticRel * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x )( 
            __RPC__in ISVGPathSegCurvetoQuadraticRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in ISVGPathSegCurvetoQuadraticRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y )( 
            __RPC__in ISVGPathSegCurvetoQuadraticRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in ISVGPathSegCurvetoQuadraticRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x1 )( 
            __RPC__in ISVGPathSegCurvetoQuadraticRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x1 )( 
            __RPC__in ISVGPathSegCurvetoQuadraticRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y1 )( 
            __RPC__in ISVGPathSegCurvetoQuadraticRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y1 )( 
            __RPC__in ISVGPathSegCurvetoQuadraticRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        END_INTERFACE
    } ISVGPathSegCurvetoQuadraticRelVtbl;

    interface ISVGPathSegCurvetoQuadraticRel
    {
        CONST_VTBL struct ISVGPathSegCurvetoQuadraticRelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPathSegCurvetoQuadraticRel_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPathSegCurvetoQuadraticRel_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPathSegCurvetoQuadraticRel_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPathSegCurvetoQuadraticRel_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPathSegCurvetoQuadraticRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPathSegCurvetoQuadraticRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPathSegCurvetoQuadraticRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGPathSegCurvetoQuadraticRel_put_x(This,v)	\
    ( (This)->lpVtbl -> put_x(This,v) ) 

#define ISVGPathSegCurvetoQuadraticRel_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#define ISVGPathSegCurvetoQuadraticRel_put_y(This,v)	\
    ( (This)->lpVtbl -> put_y(This,v) ) 

#define ISVGPathSegCurvetoQuadraticRel_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#define ISVGPathSegCurvetoQuadraticRel_put_x1(This,v)	\
    ( (This)->lpVtbl -> put_x1(This,v) ) 

#define ISVGPathSegCurvetoQuadraticRel_get_x1(This,p)	\
    ( (This)->lpVtbl -> get_x1(This,p) ) 

#define ISVGPathSegCurvetoQuadraticRel_put_y1(This,v)	\
    ( (This)->lpVtbl -> put_y1(This,v) ) 

#define ISVGPathSegCurvetoQuadraticRel_get_y1(This,p)	\
    ( (This)->lpVtbl -> get_y1(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPathSegCurvetoQuadraticRel_INTERFACE_DEFINED__ */


#ifndef __ISVGPathSegCurvetoQuadraticSmoothAbs_INTERFACE_DEFINED__
#define __ISVGPathSegCurvetoQuadraticSmoothAbs_INTERFACE_DEFINED__

/* interface ISVGPathSegCurvetoQuadraticSmoothAbs */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPathSegCurvetoQuadraticSmoothAbs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051050e-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPathSegCurvetoQuadraticSmoothAbs : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPathSegCurvetoQuadraticSmoothAbsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPathSegCurvetoQuadraticSmoothAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPathSegCurvetoQuadraticSmoothAbs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPathSegCurvetoQuadraticSmoothAbs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPathSegCurvetoQuadraticSmoothAbs * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPathSegCurvetoQuadraticSmoothAbs * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPathSegCurvetoQuadraticSmoothAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPathSegCurvetoQuadraticSmoothAbs * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x )( 
            __RPC__in ISVGPathSegCurvetoQuadraticSmoothAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in ISVGPathSegCurvetoQuadraticSmoothAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y )( 
            __RPC__in ISVGPathSegCurvetoQuadraticSmoothAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in ISVGPathSegCurvetoQuadraticSmoothAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        END_INTERFACE
    } ISVGPathSegCurvetoQuadraticSmoothAbsVtbl;

    interface ISVGPathSegCurvetoQuadraticSmoothAbs
    {
        CONST_VTBL struct ISVGPathSegCurvetoQuadraticSmoothAbsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPathSegCurvetoQuadraticSmoothAbs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPathSegCurvetoQuadraticSmoothAbs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPathSegCurvetoQuadraticSmoothAbs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPathSegCurvetoQuadraticSmoothAbs_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPathSegCurvetoQuadraticSmoothAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPathSegCurvetoQuadraticSmoothAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPathSegCurvetoQuadraticSmoothAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGPathSegCurvetoQuadraticSmoothAbs_put_x(This,v)	\
    ( (This)->lpVtbl -> put_x(This,v) ) 

#define ISVGPathSegCurvetoQuadraticSmoothAbs_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#define ISVGPathSegCurvetoQuadraticSmoothAbs_put_y(This,v)	\
    ( (This)->lpVtbl -> put_y(This,v) ) 

#define ISVGPathSegCurvetoQuadraticSmoothAbs_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPathSegCurvetoQuadraticSmoothAbs_INTERFACE_DEFINED__ */


#ifndef __ISVGPathSegCurvetoQuadraticSmoothRel_INTERFACE_DEFINED__
#define __ISVGPathSegCurvetoQuadraticSmoothRel_INTERFACE_DEFINED__

/* interface ISVGPathSegCurvetoQuadraticSmoothRel */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPathSegCurvetoQuadraticSmoothRel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051050f-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPathSegCurvetoQuadraticSmoothRel : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPathSegCurvetoQuadraticSmoothRelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPathSegCurvetoQuadraticSmoothRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPathSegCurvetoQuadraticSmoothRel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPathSegCurvetoQuadraticSmoothRel * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPathSegCurvetoQuadraticSmoothRel * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPathSegCurvetoQuadraticSmoothRel * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPathSegCurvetoQuadraticSmoothRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPathSegCurvetoQuadraticSmoothRel * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x )( 
            __RPC__in ISVGPathSegCurvetoQuadraticSmoothRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in ISVGPathSegCurvetoQuadraticSmoothRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y )( 
            __RPC__in ISVGPathSegCurvetoQuadraticSmoothRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in ISVGPathSegCurvetoQuadraticSmoothRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        END_INTERFACE
    } ISVGPathSegCurvetoQuadraticSmoothRelVtbl;

    interface ISVGPathSegCurvetoQuadraticSmoothRel
    {
        CONST_VTBL struct ISVGPathSegCurvetoQuadraticSmoothRelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPathSegCurvetoQuadraticSmoothRel_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPathSegCurvetoQuadraticSmoothRel_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPathSegCurvetoQuadraticSmoothRel_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPathSegCurvetoQuadraticSmoothRel_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPathSegCurvetoQuadraticSmoothRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPathSegCurvetoQuadraticSmoothRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPathSegCurvetoQuadraticSmoothRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGPathSegCurvetoQuadraticSmoothRel_put_x(This,v)	\
    ( (This)->lpVtbl -> put_x(This,v) ) 

#define ISVGPathSegCurvetoQuadraticSmoothRel_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#define ISVGPathSegCurvetoQuadraticSmoothRel_put_y(This,v)	\
    ( (This)->lpVtbl -> put_y(This,v) ) 

#define ISVGPathSegCurvetoQuadraticSmoothRel_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPathSegCurvetoQuadraticSmoothRel_INTERFACE_DEFINED__ */


#ifndef __ISVGPathSegLinetoHorizontalAbs_INTERFACE_DEFINED__
#define __ISVGPathSegLinetoHorizontalAbs_INTERFACE_DEFINED__

/* interface ISVGPathSegLinetoHorizontalAbs */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPathSegLinetoHorizontalAbs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510508-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPathSegLinetoHorizontalAbs : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPathSegLinetoHorizontalAbsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPathSegLinetoHorizontalAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPathSegLinetoHorizontalAbs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPathSegLinetoHorizontalAbs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPathSegLinetoHorizontalAbs * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPathSegLinetoHorizontalAbs * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPathSegLinetoHorizontalAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPathSegLinetoHorizontalAbs * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x )( 
            __RPC__in ISVGPathSegLinetoHorizontalAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in ISVGPathSegLinetoHorizontalAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        END_INTERFACE
    } ISVGPathSegLinetoHorizontalAbsVtbl;

    interface ISVGPathSegLinetoHorizontalAbs
    {
        CONST_VTBL struct ISVGPathSegLinetoHorizontalAbsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPathSegLinetoHorizontalAbs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPathSegLinetoHorizontalAbs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPathSegLinetoHorizontalAbs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPathSegLinetoHorizontalAbs_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPathSegLinetoHorizontalAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPathSegLinetoHorizontalAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPathSegLinetoHorizontalAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGPathSegLinetoHorizontalAbs_put_x(This,v)	\
    ( (This)->lpVtbl -> put_x(This,v) ) 

#define ISVGPathSegLinetoHorizontalAbs_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPathSegLinetoHorizontalAbs_INTERFACE_DEFINED__ */


#ifndef __ISVGPathSegLinetoHorizontalRel_INTERFACE_DEFINED__
#define __ISVGPathSegLinetoHorizontalRel_INTERFACE_DEFINED__

/* interface ISVGPathSegLinetoHorizontalRel */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPathSegLinetoHorizontalRel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510509-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPathSegLinetoHorizontalRel : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPathSegLinetoHorizontalRelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPathSegLinetoHorizontalRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPathSegLinetoHorizontalRel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPathSegLinetoHorizontalRel * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPathSegLinetoHorizontalRel * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPathSegLinetoHorizontalRel * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPathSegLinetoHorizontalRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPathSegLinetoHorizontalRel * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x )( 
            __RPC__in ISVGPathSegLinetoHorizontalRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in ISVGPathSegLinetoHorizontalRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        END_INTERFACE
    } ISVGPathSegLinetoHorizontalRelVtbl;

    interface ISVGPathSegLinetoHorizontalRel
    {
        CONST_VTBL struct ISVGPathSegLinetoHorizontalRelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPathSegLinetoHorizontalRel_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPathSegLinetoHorizontalRel_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPathSegLinetoHorizontalRel_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPathSegLinetoHorizontalRel_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPathSegLinetoHorizontalRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPathSegLinetoHorizontalRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPathSegLinetoHorizontalRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGPathSegLinetoHorizontalRel_put_x(This,v)	\
    ( (This)->lpVtbl -> put_x(This,v) ) 

#define ISVGPathSegLinetoHorizontalRel_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPathSegLinetoHorizontalRel_INTERFACE_DEFINED__ */


#ifndef __ISVGPathSegLinetoVerticalAbs_INTERFACE_DEFINED__
#define __ISVGPathSegLinetoVerticalAbs_INTERFACE_DEFINED__

/* interface ISVGPathSegLinetoVerticalAbs */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPathSegLinetoVerticalAbs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051050a-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPathSegLinetoVerticalAbs : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPathSegLinetoVerticalAbsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPathSegLinetoVerticalAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPathSegLinetoVerticalAbs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPathSegLinetoVerticalAbs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPathSegLinetoVerticalAbs * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPathSegLinetoVerticalAbs * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPathSegLinetoVerticalAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPathSegLinetoVerticalAbs * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y )( 
            __RPC__in ISVGPathSegLinetoVerticalAbs * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in ISVGPathSegLinetoVerticalAbs * This,
            /* [out][retval] */ __RPC__out float *p);
        
        END_INTERFACE
    } ISVGPathSegLinetoVerticalAbsVtbl;

    interface ISVGPathSegLinetoVerticalAbs
    {
        CONST_VTBL struct ISVGPathSegLinetoVerticalAbsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPathSegLinetoVerticalAbs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPathSegLinetoVerticalAbs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPathSegLinetoVerticalAbs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPathSegLinetoVerticalAbs_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPathSegLinetoVerticalAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPathSegLinetoVerticalAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPathSegLinetoVerticalAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGPathSegLinetoVerticalAbs_put_y(This,v)	\
    ( (This)->lpVtbl -> put_y(This,v) ) 

#define ISVGPathSegLinetoVerticalAbs_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPathSegLinetoVerticalAbs_INTERFACE_DEFINED__ */


#ifndef __ISVGPathSegLinetoVerticalRel_INTERFACE_DEFINED__
#define __ISVGPathSegLinetoVerticalRel_INTERFACE_DEFINED__

/* interface ISVGPathSegLinetoVerticalRel */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPathSegLinetoVerticalRel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051050b-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPathSegLinetoVerticalRel : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPathSegLinetoVerticalRelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPathSegLinetoVerticalRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPathSegLinetoVerticalRel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPathSegLinetoVerticalRel * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPathSegLinetoVerticalRel * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPathSegLinetoVerticalRel * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPathSegLinetoVerticalRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPathSegLinetoVerticalRel * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y )( 
            __RPC__in ISVGPathSegLinetoVerticalRel * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in ISVGPathSegLinetoVerticalRel * This,
            /* [out][retval] */ __RPC__out float *p);
        
        END_INTERFACE
    } ISVGPathSegLinetoVerticalRelVtbl;

    interface ISVGPathSegLinetoVerticalRel
    {
        CONST_VTBL struct ISVGPathSegLinetoVerticalRelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPathSegLinetoVerticalRel_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPathSegLinetoVerticalRel_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPathSegLinetoVerticalRel_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPathSegLinetoVerticalRel_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPathSegLinetoVerticalRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPathSegLinetoVerticalRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPathSegLinetoVerticalRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGPathSegLinetoVerticalRel_put_y(This,v)	\
    ( (This)->lpVtbl -> put_y(This,v) ) 

#define ISVGPathSegLinetoVerticalRel_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPathSegLinetoVerticalRel_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPathSeg;

#ifdef __cplusplus

class DECLSPEC_UUID("305105b3-98b5-11cf-bb82-00aa00bdce0b")
SVGPathSeg;
#endif

#ifndef __DispSVGPathSegArcAbs_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegArcAbs_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGPathSegArcAbs */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGPathSegArcAbs;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590013-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGPathSegArcAbs : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGPathSegArcAbsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGPathSegArcAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGPathSegArcAbs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGPathSegArcAbs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGPathSegArcAbs * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGPathSegArcAbs * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGPathSegArcAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGPathSegArcAbs * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGPathSegArcAbsVtbl;

    interface DispSVGPathSegArcAbs
    {
        CONST_VTBL struct DispSVGPathSegArcAbsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGPathSegArcAbs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGPathSegArcAbs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGPathSegArcAbs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGPathSegArcAbs_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGPathSegArcAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGPathSegArcAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGPathSegArcAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGPathSegArcAbs_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPathSegArcAbs;

#ifdef __cplusplus

class DECLSPEC_UUID("305105bb-98b5-11cf-bb82-00aa00bdce0b")
SVGPathSegArcAbs;
#endif

#ifndef __DispSVGPathSegArcRel_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegArcRel_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGPathSegArcRel */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGPathSegArcRel;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590014-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGPathSegArcRel : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGPathSegArcRelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGPathSegArcRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGPathSegArcRel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGPathSegArcRel * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGPathSegArcRel * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGPathSegArcRel * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGPathSegArcRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGPathSegArcRel * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGPathSegArcRelVtbl;

    interface DispSVGPathSegArcRel
    {
        CONST_VTBL struct DispSVGPathSegArcRelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGPathSegArcRel_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGPathSegArcRel_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGPathSegArcRel_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGPathSegArcRel_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGPathSegArcRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGPathSegArcRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGPathSegArcRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGPathSegArcRel_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPathSegArcRel;

#ifdef __cplusplus

class DECLSPEC_UUID("305105bc-98b5-11cf-bb82-00aa00bdce0b")
SVGPathSegArcRel;
#endif

#ifndef __DispSVGPathSegClosePath_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegClosePath_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGPathSegClosePath */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGPathSegClosePath;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590015-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGPathSegClosePath : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGPathSegClosePathVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGPathSegClosePath * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGPathSegClosePath * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGPathSegClosePath * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGPathSegClosePath * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGPathSegClosePath * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGPathSegClosePath * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGPathSegClosePath * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGPathSegClosePathVtbl;

    interface DispSVGPathSegClosePath
    {
        CONST_VTBL struct DispSVGPathSegClosePathVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGPathSegClosePath_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGPathSegClosePath_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGPathSegClosePath_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGPathSegClosePath_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGPathSegClosePath_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGPathSegClosePath_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGPathSegClosePath_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGPathSegClosePath_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPathSegClosePath;

#ifdef __cplusplus

class DECLSPEC_UUID("305105bd-98b5-11cf-bb82-00aa00bdce0b")
SVGPathSegClosePath;
#endif

#ifndef __DispSVGPathSegMovetoAbs_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegMovetoAbs_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGPathSegMovetoAbs */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGPathSegMovetoAbs;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590024-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGPathSegMovetoAbs : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGPathSegMovetoAbsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGPathSegMovetoAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGPathSegMovetoAbs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGPathSegMovetoAbs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGPathSegMovetoAbs * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGPathSegMovetoAbs * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGPathSegMovetoAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGPathSegMovetoAbs * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGPathSegMovetoAbsVtbl;

    interface DispSVGPathSegMovetoAbs
    {
        CONST_VTBL struct DispSVGPathSegMovetoAbsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGPathSegMovetoAbs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGPathSegMovetoAbs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGPathSegMovetoAbs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGPathSegMovetoAbs_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGPathSegMovetoAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGPathSegMovetoAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGPathSegMovetoAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGPathSegMovetoAbs_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPathSegMovetoAbs;

#ifdef __cplusplus

class DECLSPEC_UUID("305105cc-98b5-11cf-bb82-00aa00bdce0b")
SVGPathSegMovetoAbs;
#endif

#ifndef __DispSVGPathSegMovetoRel_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegMovetoRel_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGPathSegMovetoRel */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGPathSegMovetoRel;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590025-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGPathSegMovetoRel : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGPathSegMovetoRelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGPathSegMovetoRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGPathSegMovetoRel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGPathSegMovetoRel * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGPathSegMovetoRel * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGPathSegMovetoRel * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGPathSegMovetoRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGPathSegMovetoRel * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGPathSegMovetoRelVtbl;

    interface DispSVGPathSegMovetoRel
    {
        CONST_VTBL struct DispSVGPathSegMovetoRelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGPathSegMovetoRel_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGPathSegMovetoRel_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGPathSegMovetoRel_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGPathSegMovetoRel_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGPathSegMovetoRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGPathSegMovetoRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGPathSegMovetoRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGPathSegMovetoRel_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPathSegMovetoRel;

#ifdef __cplusplus

class DECLSPEC_UUID("305105cd-98b5-11cf-bb82-00aa00bdce0b")
SVGPathSegMovetoRel;
#endif

#ifndef __DispSVGPathSegLinetoAbs_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegLinetoAbs_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGPathSegLinetoAbs */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGPathSegLinetoAbs;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059001e-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGPathSegLinetoAbs : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGPathSegLinetoAbsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGPathSegLinetoAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGPathSegLinetoAbs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGPathSegLinetoAbs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGPathSegLinetoAbs * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGPathSegLinetoAbs * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGPathSegLinetoAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGPathSegLinetoAbs * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGPathSegLinetoAbsVtbl;

    interface DispSVGPathSegLinetoAbs
    {
        CONST_VTBL struct DispSVGPathSegLinetoAbsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGPathSegLinetoAbs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGPathSegLinetoAbs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGPathSegLinetoAbs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGPathSegLinetoAbs_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGPathSegLinetoAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGPathSegLinetoAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGPathSegLinetoAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGPathSegLinetoAbs_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPathSegLinetoAbs;

#ifdef __cplusplus

class DECLSPEC_UUID("305105c6-98b5-11cf-bb82-00aa00bdce0b")
SVGPathSegLinetoAbs;
#endif

#ifndef __DispSVGPathSegLinetoRel_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegLinetoRel_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGPathSegLinetoRel */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGPathSegLinetoRel;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590021-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGPathSegLinetoRel : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGPathSegLinetoRelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGPathSegLinetoRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGPathSegLinetoRel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGPathSegLinetoRel * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGPathSegLinetoRel * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGPathSegLinetoRel * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGPathSegLinetoRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGPathSegLinetoRel * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGPathSegLinetoRelVtbl;

    interface DispSVGPathSegLinetoRel
    {
        CONST_VTBL struct DispSVGPathSegLinetoRelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGPathSegLinetoRel_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGPathSegLinetoRel_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGPathSegLinetoRel_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGPathSegLinetoRel_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGPathSegLinetoRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGPathSegLinetoRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGPathSegLinetoRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGPathSegLinetoRel_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPathSegLinetoRel;

#ifdef __cplusplus

class DECLSPEC_UUID("305105c9-98b5-11cf-bb82-00aa00bdce0b")
SVGPathSegLinetoRel;
#endif

#ifndef __DispSVGPathSegCurvetoCubicAbs_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegCurvetoCubicAbs_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGPathSegCurvetoCubicAbs */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGPathSegCurvetoCubicAbs;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590016-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGPathSegCurvetoCubicAbs : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGPathSegCurvetoCubicAbsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGPathSegCurvetoCubicAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGPathSegCurvetoCubicAbs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGPathSegCurvetoCubicAbs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGPathSegCurvetoCubicAbs * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGPathSegCurvetoCubicAbs * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGPathSegCurvetoCubicAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGPathSegCurvetoCubicAbs * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGPathSegCurvetoCubicAbsVtbl;

    interface DispSVGPathSegCurvetoCubicAbs
    {
        CONST_VTBL struct DispSVGPathSegCurvetoCubicAbsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGPathSegCurvetoCubicAbs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGPathSegCurvetoCubicAbs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGPathSegCurvetoCubicAbs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGPathSegCurvetoCubicAbs_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGPathSegCurvetoCubicAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGPathSegCurvetoCubicAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGPathSegCurvetoCubicAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGPathSegCurvetoCubicAbs_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPathSegCurvetoCubicAbs;

#ifdef __cplusplus

class DECLSPEC_UUID("305105be-98b5-11cf-bb82-00aa00bdce0b")
SVGPathSegCurvetoCubicAbs;
#endif

#ifndef __DispSVGPathSegCurvetoCubicRel_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegCurvetoCubicRel_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGPathSegCurvetoCubicRel */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGPathSegCurvetoCubicRel;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590017-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGPathSegCurvetoCubicRel : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGPathSegCurvetoCubicRelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGPathSegCurvetoCubicRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGPathSegCurvetoCubicRel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGPathSegCurvetoCubicRel * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGPathSegCurvetoCubicRel * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGPathSegCurvetoCubicRel * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGPathSegCurvetoCubicRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGPathSegCurvetoCubicRel * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGPathSegCurvetoCubicRelVtbl;

    interface DispSVGPathSegCurvetoCubicRel
    {
        CONST_VTBL struct DispSVGPathSegCurvetoCubicRelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGPathSegCurvetoCubicRel_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGPathSegCurvetoCubicRel_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGPathSegCurvetoCubicRel_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGPathSegCurvetoCubicRel_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGPathSegCurvetoCubicRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGPathSegCurvetoCubicRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGPathSegCurvetoCubicRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGPathSegCurvetoCubicRel_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPathSegCurvetoCubicRel;

#ifdef __cplusplus

class DECLSPEC_UUID("305105bf-98b5-11cf-bb82-00aa00bdce0b")
SVGPathSegCurvetoCubicRel;
#endif

#ifndef __DispSVGPathSegCurvetoCubicSmoothAbs_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegCurvetoCubicSmoothAbs_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGPathSegCurvetoCubicSmoothAbs */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGPathSegCurvetoCubicSmoothAbs;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590018-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGPathSegCurvetoCubicSmoothAbs : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGPathSegCurvetoCubicSmoothAbsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGPathSegCurvetoCubicSmoothAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGPathSegCurvetoCubicSmoothAbs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGPathSegCurvetoCubicSmoothAbs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGPathSegCurvetoCubicSmoothAbs * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGPathSegCurvetoCubicSmoothAbs * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGPathSegCurvetoCubicSmoothAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGPathSegCurvetoCubicSmoothAbs * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGPathSegCurvetoCubicSmoothAbsVtbl;

    interface DispSVGPathSegCurvetoCubicSmoothAbs
    {
        CONST_VTBL struct DispSVGPathSegCurvetoCubicSmoothAbsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGPathSegCurvetoCubicSmoothAbs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGPathSegCurvetoCubicSmoothAbs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGPathSegCurvetoCubicSmoothAbs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGPathSegCurvetoCubicSmoothAbs_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGPathSegCurvetoCubicSmoothAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGPathSegCurvetoCubicSmoothAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGPathSegCurvetoCubicSmoothAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGPathSegCurvetoCubicSmoothAbs_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPathSegCurvetoCubicSmoothAbs;

#ifdef __cplusplus

class DECLSPEC_UUID("305105c0-98b5-11cf-bb82-00aa00bdce0b")
SVGPathSegCurvetoCubicSmoothAbs;
#endif

#ifndef __DispSVGPathSegCurvetoCubicSmoothRel_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegCurvetoCubicSmoothRel_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGPathSegCurvetoCubicSmoothRel */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGPathSegCurvetoCubicSmoothRel;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590019-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGPathSegCurvetoCubicSmoothRel : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGPathSegCurvetoCubicSmoothRelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGPathSegCurvetoCubicSmoothRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGPathSegCurvetoCubicSmoothRel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGPathSegCurvetoCubicSmoothRel * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGPathSegCurvetoCubicSmoothRel * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGPathSegCurvetoCubicSmoothRel * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGPathSegCurvetoCubicSmoothRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGPathSegCurvetoCubicSmoothRel * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGPathSegCurvetoCubicSmoothRelVtbl;

    interface DispSVGPathSegCurvetoCubicSmoothRel
    {
        CONST_VTBL struct DispSVGPathSegCurvetoCubicSmoothRelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGPathSegCurvetoCubicSmoothRel_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGPathSegCurvetoCubicSmoothRel_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGPathSegCurvetoCubicSmoothRel_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGPathSegCurvetoCubicSmoothRel_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGPathSegCurvetoCubicSmoothRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGPathSegCurvetoCubicSmoothRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGPathSegCurvetoCubicSmoothRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGPathSegCurvetoCubicSmoothRel_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPathSegCurvetoCubicSmoothRel;

#ifdef __cplusplus

class DECLSPEC_UUID("305105c1-98b5-11cf-bb82-00aa00bdce0b")
SVGPathSegCurvetoCubicSmoothRel;
#endif

#ifndef __DispSVGPathSegCurvetoQuadraticAbs_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegCurvetoQuadraticAbs_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGPathSegCurvetoQuadraticAbs */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGPathSegCurvetoQuadraticAbs;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059001a-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGPathSegCurvetoQuadraticAbs : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGPathSegCurvetoQuadraticAbsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGPathSegCurvetoQuadraticAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGPathSegCurvetoQuadraticAbs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGPathSegCurvetoQuadraticAbs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGPathSegCurvetoQuadraticAbs * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGPathSegCurvetoQuadraticAbs * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGPathSegCurvetoQuadraticAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGPathSegCurvetoQuadraticAbs * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGPathSegCurvetoQuadraticAbsVtbl;

    interface DispSVGPathSegCurvetoQuadraticAbs
    {
        CONST_VTBL struct DispSVGPathSegCurvetoQuadraticAbsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGPathSegCurvetoQuadraticAbs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGPathSegCurvetoQuadraticAbs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGPathSegCurvetoQuadraticAbs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGPathSegCurvetoQuadraticAbs_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGPathSegCurvetoQuadraticAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGPathSegCurvetoQuadraticAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGPathSegCurvetoQuadraticAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGPathSegCurvetoQuadraticAbs_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPathSegCurvetoQuadraticAbs;

#ifdef __cplusplus

class DECLSPEC_UUID("305105c2-98b5-11cf-bb82-00aa00bdce0b")
SVGPathSegCurvetoQuadraticAbs;
#endif

#ifndef __DispSVGPathSegCurvetoQuadraticRel_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegCurvetoQuadraticRel_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGPathSegCurvetoQuadraticRel */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGPathSegCurvetoQuadraticRel;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059001b-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGPathSegCurvetoQuadraticRel : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGPathSegCurvetoQuadraticRelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGPathSegCurvetoQuadraticRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGPathSegCurvetoQuadraticRel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGPathSegCurvetoQuadraticRel * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGPathSegCurvetoQuadraticRel * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGPathSegCurvetoQuadraticRel * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGPathSegCurvetoQuadraticRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGPathSegCurvetoQuadraticRel * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGPathSegCurvetoQuadraticRelVtbl;

    interface DispSVGPathSegCurvetoQuadraticRel
    {
        CONST_VTBL struct DispSVGPathSegCurvetoQuadraticRelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGPathSegCurvetoQuadraticRel_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGPathSegCurvetoQuadraticRel_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGPathSegCurvetoQuadraticRel_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGPathSegCurvetoQuadraticRel_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGPathSegCurvetoQuadraticRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGPathSegCurvetoQuadraticRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGPathSegCurvetoQuadraticRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGPathSegCurvetoQuadraticRel_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPathSegCurvetoQuadraticRel;

#ifdef __cplusplus

class DECLSPEC_UUID("305105c3-98b5-11cf-bb82-00aa00bdce0b")
SVGPathSegCurvetoQuadraticRel;
#endif

#ifndef __DispSVGPathSegCurvetoQuadraticSmoothAbs_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegCurvetoQuadraticSmoothAbs_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGPathSegCurvetoQuadraticSmoothAbs */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGPathSegCurvetoQuadraticSmoothAbs;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059001c-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGPathSegCurvetoQuadraticSmoothAbs : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGPathSegCurvetoQuadraticSmoothAbsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGPathSegCurvetoQuadraticSmoothAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGPathSegCurvetoQuadraticSmoothAbs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGPathSegCurvetoQuadraticSmoothAbs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGPathSegCurvetoQuadraticSmoothAbs * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGPathSegCurvetoQuadraticSmoothAbs * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGPathSegCurvetoQuadraticSmoothAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGPathSegCurvetoQuadraticSmoothAbs * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGPathSegCurvetoQuadraticSmoothAbsVtbl;

    interface DispSVGPathSegCurvetoQuadraticSmoothAbs
    {
        CONST_VTBL struct DispSVGPathSegCurvetoQuadraticSmoothAbsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGPathSegCurvetoQuadraticSmoothAbs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGPathSegCurvetoQuadraticSmoothAbs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGPathSegCurvetoQuadraticSmoothAbs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGPathSegCurvetoQuadraticSmoothAbs_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGPathSegCurvetoQuadraticSmoothAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGPathSegCurvetoQuadraticSmoothAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGPathSegCurvetoQuadraticSmoothAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGPathSegCurvetoQuadraticSmoothAbs_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPathSegCurvetoQuadraticSmoothAbs;

#ifdef __cplusplus

class DECLSPEC_UUID("305105c4-98b5-11cf-bb82-00aa00bdce0b")
SVGPathSegCurvetoQuadraticSmoothAbs;
#endif

#ifndef __DispSVGPathSegCurvetoQuadraticSmoothRel_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegCurvetoQuadraticSmoothRel_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGPathSegCurvetoQuadraticSmoothRel */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGPathSegCurvetoQuadraticSmoothRel;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059001d-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGPathSegCurvetoQuadraticSmoothRel : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGPathSegCurvetoQuadraticSmoothRelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGPathSegCurvetoQuadraticSmoothRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGPathSegCurvetoQuadraticSmoothRel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGPathSegCurvetoQuadraticSmoothRel * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGPathSegCurvetoQuadraticSmoothRel * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGPathSegCurvetoQuadraticSmoothRel * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGPathSegCurvetoQuadraticSmoothRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGPathSegCurvetoQuadraticSmoothRel * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGPathSegCurvetoQuadraticSmoothRelVtbl;

    interface DispSVGPathSegCurvetoQuadraticSmoothRel
    {
        CONST_VTBL struct DispSVGPathSegCurvetoQuadraticSmoothRelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGPathSegCurvetoQuadraticSmoothRel_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGPathSegCurvetoQuadraticSmoothRel_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGPathSegCurvetoQuadraticSmoothRel_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGPathSegCurvetoQuadraticSmoothRel_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGPathSegCurvetoQuadraticSmoothRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGPathSegCurvetoQuadraticSmoothRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGPathSegCurvetoQuadraticSmoothRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGPathSegCurvetoQuadraticSmoothRel_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPathSegCurvetoQuadraticSmoothRel;

#ifdef __cplusplus

class DECLSPEC_UUID("305105c5-98b5-11cf-bb82-00aa00bdce0b")
SVGPathSegCurvetoQuadraticSmoothRel;
#endif

#ifndef __DispSVGPathSegLinetoHorizontalAbs_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegLinetoHorizontalAbs_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGPathSegLinetoHorizontalAbs */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGPathSegLinetoHorizontalAbs;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059001f-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGPathSegLinetoHorizontalAbs : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGPathSegLinetoHorizontalAbsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGPathSegLinetoHorizontalAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGPathSegLinetoHorizontalAbs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGPathSegLinetoHorizontalAbs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGPathSegLinetoHorizontalAbs * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGPathSegLinetoHorizontalAbs * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGPathSegLinetoHorizontalAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGPathSegLinetoHorizontalAbs * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGPathSegLinetoHorizontalAbsVtbl;

    interface DispSVGPathSegLinetoHorizontalAbs
    {
        CONST_VTBL struct DispSVGPathSegLinetoHorizontalAbsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGPathSegLinetoHorizontalAbs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGPathSegLinetoHorizontalAbs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGPathSegLinetoHorizontalAbs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGPathSegLinetoHorizontalAbs_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGPathSegLinetoHorizontalAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGPathSegLinetoHorizontalAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGPathSegLinetoHorizontalAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGPathSegLinetoHorizontalAbs_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPathSegLinetoHorizontalAbs;

#ifdef __cplusplus

class DECLSPEC_UUID("305105c7-98b5-11cf-bb82-00aa00bdce0b")
SVGPathSegLinetoHorizontalAbs;
#endif

#ifndef __DispSVGPathSegLinetoHorizontalRel_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegLinetoHorizontalRel_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGPathSegLinetoHorizontalRel */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGPathSegLinetoHorizontalRel;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590020-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGPathSegLinetoHorizontalRel : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGPathSegLinetoHorizontalRelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGPathSegLinetoHorizontalRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGPathSegLinetoHorizontalRel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGPathSegLinetoHorizontalRel * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGPathSegLinetoHorizontalRel * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGPathSegLinetoHorizontalRel * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGPathSegLinetoHorizontalRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGPathSegLinetoHorizontalRel * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGPathSegLinetoHorizontalRelVtbl;

    interface DispSVGPathSegLinetoHorizontalRel
    {
        CONST_VTBL struct DispSVGPathSegLinetoHorizontalRelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGPathSegLinetoHorizontalRel_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGPathSegLinetoHorizontalRel_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGPathSegLinetoHorizontalRel_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGPathSegLinetoHorizontalRel_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGPathSegLinetoHorizontalRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGPathSegLinetoHorizontalRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGPathSegLinetoHorizontalRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGPathSegLinetoHorizontalRel_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPathSegLinetoHorizontalRel;

#ifdef __cplusplus

class DECLSPEC_UUID("305105c8-98b5-11cf-bb82-00aa00bdce0b")
SVGPathSegLinetoHorizontalRel;
#endif

#ifndef __DispSVGPathSegLinetoVerticalAbs_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegLinetoVerticalAbs_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGPathSegLinetoVerticalAbs */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGPathSegLinetoVerticalAbs;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590022-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGPathSegLinetoVerticalAbs : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGPathSegLinetoVerticalAbsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGPathSegLinetoVerticalAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGPathSegLinetoVerticalAbs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGPathSegLinetoVerticalAbs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGPathSegLinetoVerticalAbs * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGPathSegLinetoVerticalAbs * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGPathSegLinetoVerticalAbs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGPathSegLinetoVerticalAbs * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGPathSegLinetoVerticalAbsVtbl;

    interface DispSVGPathSegLinetoVerticalAbs
    {
        CONST_VTBL struct DispSVGPathSegLinetoVerticalAbsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGPathSegLinetoVerticalAbs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGPathSegLinetoVerticalAbs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGPathSegLinetoVerticalAbs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGPathSegLinetoVerticalAbs_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGPathSegLinetoVerticalAbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGPathSegLinetoVerticalAbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGPathSegLinetoVerticalAbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGPathSegLinetoVerticalAbs_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPathSegLinetoVerticalAbs;

#ifdef __cplusplus

class DECLSPEC_UUID("305105ca-98b5-11cf-bb82-00aa00bdce0b")
SVGPathSegLinetoVerticalAbs;
#endif

#ifndef __DispSVGPathSegLinetoVerticalRel_DISPINTERFACE_DEFINED__
#define __DispSVGPathSegLinetoVerticalRel_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGPathSegLinetoVerticalRel */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGPathSegLinetoVerticalRel;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590023-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGPathSegLinetoVerticalRel : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGPathSegLinetoVerticalRelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGPathSegLinetoVerticalRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGPathSegLinetoVerticalRel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGPathSegLinetoVerticalRel * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGPathSegLinetoVerticalRel * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGPathSegLinetoVerticalRel * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGPathSegLinetoVerticalRel * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGPathSegLinetoVerticalRel * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGPathSegLinetoVerticalRelVtbl;

    interface DispSVGPathSegLinetoVerticalRel
    {
        CONST_VTBL struct DispSVGPathSegLinetoVerticalRelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGPathSegLinetoVerticalRel_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGPathSegLinetoVerticalRel_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGPathSegLinetoVerticalRel_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGPathSegLinetoVerticalRel_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGPathSegLinetoVerticalRel_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGPathSegLinetoVerticalRel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGPathSegLinetoVerticalRel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGPathSegLinetoVerticalRel_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPathSegLinetoVerticalRel;

#ifdef __cplusplus

class DECLSPEC_UUID("305105cb-98b5-11cf-bb82-00aa00bdce0b")
SVGPathSegLinetoVerticalRel;
#endif

#ifndef __ISVGPathSegList_INTERFACE_DEFINED__
#define __ISVGPathSegList_INTERFACE_DEFINED__

/* interface ISVGPathSegList */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPathSegList;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510510-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPathSegList : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_numberOfItems( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_numberOfItems( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE clear( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE initialize( 
            /* [in] */ __RPC__in_opt ISVGPathSeg *newItem,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSeg **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getItem( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSeg **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE insertItemBefore( 
            /* [in] */ __RPC__in_opt ISVGPathSeg *newItem,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSeg **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE replaceItem( 
            /* [in] */ __RPC__in_opt ISVGPathSeg *newItem,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSeg **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeItem( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSeg **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE appendItem( 
            /* [in] */ __RPC__in_opt ISVGPathSeg *newItem,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSeg **ppResult) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPathSegListVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPathSegList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPathSegList * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPathSegList * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPathSegList * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPathSegList * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPathSegList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPathSegList * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_numberOfItems )( 
            __RPC__in ISVGPathSegList * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfItems )( 
            __RPC__in ISVGPathSegList * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *clear )( 
            __RPC__in ISVGPathSegList * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *initialize )( 
            __RPC__in ISVGPathSegList * This,
            /* [in] */ __RPC__in_opt ISVGPathSeg *newItem,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSeg **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getItem )( 
            __RPC__in ISVGPathSegList * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSeg **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *insertItemBefore )( 
            __RPC__in ISVGPathSegList * This,
            /* [in] */ __RPC__in_opt ISVGPathSeg *newItem,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSeg **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *replaceItem )( 
            __RPC__in ISVGPathSegList * This,
            /* [in] */ __RPC__in_opt ISVGPathSeg *newItem,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSeg **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeItem )( 
            __RPC__in ISVGPathSegList * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSeg **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *appendItem )( 
            __RPC__in ISVGPathSegList * This,
            /* [in] */ __RPC__in_opt ISVGPathSeg *newItem,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSeg **ppResult);
        
        END_INTERFACE
    } ISVGPathSegListVtbl;

    interface ISVGPathSegList
    {
        CONST_VTBL struct ISVGPathSegListVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPathSegList_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPathSegList_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPathSegList_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPathSegList_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPathSegList_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPathSegList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPathSegList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGPathSegList_put_numberOfItems(This,v)	\
    ( (This)->lpVtbl -> put_numberOfItems(This,v) ) 

#define ISVGPathSegList_get_numberOfItems(This,p)	\
    ( (This)->lpVtbl -> get_numberOfItems(This,p) ) 

#define ISVGPathSegList_clear(This)	\
    ( (This)->lpVtbl -> clear(This) ) 

#define ISVGPathSegList_initialize(This,newItem,ppResult)	\
    ( (This)->lpVtbl -> initialize(This,newItem,ppResult) ) 

#define ISVGPathSegList_getItem(This,index,ppResult)	\
    ( (This)->lpVtbl -> getItem(This,index,ppResult) ) 

#define ISVGPathSegList_insertItemBefore(This,newItem,index,ppResult)	\
    ( (This)->lpVtbl -> insertItemBefore(This,newItem,index,ppResult) ) 

#define ISVGPathSegList_replaceItem(This,newItem,index,ppResult)	\
    ( (This)->lpVtbl -> replaceItem(This,newItem,index,ppResult) ) 

#define ISVGPathSegList_removeItem(This,index,ppResult)	\
    ( (This)->lpVtbl -> removeItem(This,index,ppResult) ) 

#define ISVGPathSegList_appendItem(This,newItem,ppResult)	\
    ( (This)->lpVtbl -> appendItem(This,newItem,ppResult) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPathSegList_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPathSegList;

#ifdef __cplusplus

class DECLSPEC_UUID("305105b4-98b5-11cf-bb82-00aa00bdce0b")
SVGPathSegList;
#endif

#ifndef __ISVGPoint_INTERFACE_DEFINED__
#define __ISVGPoint_INTERFACE_DEFINED__

/* interface ISVGPoint */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPoint;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104f4-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPoint : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE matrixTransform( 
            /* [in] */ __RPC__in_opt ISVGMatrix *pMatrix,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **ppResult) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPointVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPoint * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPoint * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPoint * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPoint * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPoint * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPoint * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPoint * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x )( 
            __RPC__in ISVGPoint * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in ISVGPoint * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y )( 
            __RPC__in ISVGPoint * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in ISVGPoint * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *matrixTransform )( 
            __RPC__in ISVGPoint * This,
            /* [in] */ __RPC__in_opt ISVGMatrix *pMatrix,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **ppResult);
        
        END_INTERFACE
    } ISVGPointVtbl;

    interface ISVGPoint
    {
        CONST_VTBL struct ISVGPointVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPoint_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPoint_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPoint_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPoint_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPoint_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPoint_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPoint_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGPoint_put_x(This,v)	\
    ( (This)->lpVtbl -> put_x(This,v) ) 

#define ISVGPoint_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#define ISVGPoint_put_y(This,v)	\
    ( (This)->lpVtbl -> put_y(This,v) ) 

#define ISVGPoint_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#define ISVGPoint_matrixTransform(This,pMatrix,ppResult)	\
    ( (This)->lpVtbl -> matrixTransform(This,pMatrix,ppResult) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPoint_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPoint;

#ifdef __cplusplus

class DECLSPEC_UUID("305105ba-98b5-11cf-bb82-00aa00bdce0b")
SVGPoint;
#endif

#ifndef __ISVGPointList_INTERFACE_DEFINED__
#define __ISVGPointList_INTERFACE_DEFINED__

/* interface ISVGPointList */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPointList;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104f5-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPointList : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_numberOfItems( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_numberOfItems( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE clear( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE initialize( 
            /* [in] */ __RPC__in_opt ISVGPoint *pNewItem,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getItem( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE insertItemBefore( 
            /* [in] */ __RPC__in_opt ISVGPoint *pNewItem,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE replaceItem( 
            /* [in] */ __RPC__in_opt ISVGPoint *pNewItem,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeItem( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE appendItem( 
            /* [in] */ __RPC__in_opt ISVGPoint *pNewItem,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **ppResult) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPointListVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPointList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPointList * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPointList * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPointList * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPointList * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPointList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPointList * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_numberOfItems )( 
            __RPC__in ISVGPointList * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfItems )( 
            __RPC__in ISVGPointList * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *clear )( 
            __RPC__in ISVGPointList * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *initialize )( 
            __RPC__in ISVGPointList * This,
            /* [in] */ __RPC__in_opt ISVGPoint *pNewItem,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getItem )( 
            __RPC__in ISVGPointList * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *insertItemBefore )( 
            __RPC__in ISVGPointList * This,
            /* [in] */ __RPC__in_opt ISVGPoint *pNewItem,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *replaceItem )( 
            __RPC__in ISVGPointList * This,
            /* [in] */ __RPC__in_opt ISVGPoint *pNewItem,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *removeItem )( 
            __RPC__in ISVGPointList * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *appendItem )( 
            __RPC__in ISVGPointList * This,
            /* [in] */ __RPC__in_opt ISVGPoint *pNewItem,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **ppResult);
        
        END_INTERFACE
    } ISVGPointListVtbl;

    interface ISVGPointList
    {
        CONST_VTBL struct ISVGPointListVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPointList_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPointList_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPointList_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPointList_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPointList_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPointList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPointList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGPointList_put_numberOfItems(This,v)	\
    ( (This)->lpVtbl -> put_numberOfItems(This,v) ) 

#define ISVGPointList_get_numberOfItems(This,p)	\
    ( (This)->lpVtbl -> get_numberOfItems(This,p) ) 

#define ISVGPointList_clear(This)	\
    ( (This)->lpVtbl -> clear(This) ) 

#define ISVGPointList_initialize(This,pNewItem,ppResult)	\
    ( (This)->lpVtbl -> initialize(This,pNewItem,ppResult) ) 

#define ISVGPointList_getItem(This,index,ppResult)	\
    ( (This)->lpVtbl -> getItem(This,index,ppResult) ) 

#define ISVGPointList_insertItemBefore(This,pNewItem,index,ppResult)	\
    ( (This)->lpVtbl -> insertItemBefore(This,pNewItem,index,ppResult) ) 

#define ISVGPointList_replaceItem(This,pNewItem,index,ppResult)	\
    ( (This)->lpVtbl -> replaceItem(This,pNewItem,index,ppResult) ) 

#define ISVGPointList_removeItem(This,index,ppResult)	\
    ( (This)->lpVtbl -> removeItem(This,index,ppResult) ) 

#define ISVGPointList_appendItem(This,pNewItem,ppResult)	\
    ( (This)->lpVtbl -> appendItem(This,pNewItem,ppResult) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPointList_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPointList;

#ifdef __cplusplus

class DECLSPEC_UUID("305105b9-98b5-11cf-bb82-00aa00bdce0b")
SVGPointList;
#endif

EXTERN_C const CLSID CLSID_SVGRect;

#ifdef __cplusplus

class DECLSPEC_UUID("30510583-98b5-11cf-bb82-00aa00bdce0b")
SVGRect;
#endif

EXTERN_C const CLSID CLSID_SVGStringList;

#ifdef __cplusplus

class DECLSPEC_UUID("3051058d-98b5-11cf-bb82-00aa00bdce0b")
SVGStringList;
#endif

#ifndef __ISVGViewSpec_INTERFACE_DEFINED__
#define __ISVGViewSpec_INTERFACE_DEFINED__

/* interface ISVGViewSpec */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGViewSpec;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104e2-98b5-11cf-bb82-00aa00bdce0b")
    ISVGViewSpec : public IDispatch
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGViewSpecVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGViewSpec * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGViewSpec * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGViewSpec * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGViewSpec * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGViewSpec * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGViewSpec * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGViewSpec * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } ISVGViewSpecVtbl;

    interface ISVGViewSpec
    {
        CONST_VTBL struct ISVGViewSpecVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGViewSpec_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGViewSpec_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGViewSpec_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGViewSpec_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGViewSpec_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGViewSpec_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGViewSpec_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGViewSpec_INTERFACE_DEFINED__ */


#ifndef __ISVGTransform_INTERFACE_DEFINED__
#define __ISVGTransform_INTERFACE_DEFINED__

/* interface ISVGTransform */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGTransform;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104f7-98b5-11cf-bb82-00aa00bdce0b")
    ISVGTransform : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_type( 
            /* [in] */ short v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__out short *p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_matrix( 
            /* [in] */ __RPC__in_opt ISVGMatrix *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_matrix( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_angle( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_angle( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setMatrix( 
            /* [in] */ __RPC__in_opt ISVGMatrix *matrix) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setTranslate( 
            /* [in] */ float tx,
            /* [in] */ float ty) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setScale( 
            /* [in] */ float sx,
            /* [in] */ float sy) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setRotate( 
            /* [in] */ float angle,
            /* [in] */ float cx,
            /* [in] */ float cy) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setSkewX( 
            /* [in] */ float angle) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setSkewY( 
            /* [in] */ float angle) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGTransformVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGTransform * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGTransform * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGTransform * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGTransform * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGTransform * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGTransform * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGTransform * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_type )( 
            __RPC__in ISVGTransform * This,
            /* [in] */ short v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in ISVGTransform * This,
            /* [out][retval] */ __RPC__out short *p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_matrix )( 
            __RPC__in ISVGTransform * This,
            /* [in] */ __RPC__in_opt ISVGMatrix *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_matrix )( 
            __RPC__in ISVGTransform * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGMatrix **p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_angle )( 
            __RPC__in ISVGTransform * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_angle )( 
            __RPC__in ISVGTransform * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setMatrix )( 
            __RPC__in ISVGTransform * This,
            /* [in] */ __RPC__in_opt ISVGMatrix *matrix);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setTranslate )( 
            __RPC__in ISVGTransform * This,
            /* [in] */ float tx,
            /* [in] */ float ty);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setScale )( 
            __RPC__in ISVGTransform * This,
            /* [in] */ float sx,
            /* [in] */ float sy);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setRotate )( 
            __RPC__in ISVGTransform * This,
            /* [in] */ float angle,
            /* [in] */ float cx,
            /* [in] */ float cy);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setSkewX )( 
            __RPC__in ISVGTransform * This,
            /* [in] */ float angle);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setSkewY )( 
            __RPC__in ISVGTransform * This,
            /* [in] */ float angle);
        
        END_INTERFACE
    } ISVGTransformVtbl;

    interface ISVGTransform
    {
        CONST_VTBL struct ISVGTransformVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGTransform_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGTransform_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGTransform_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGTransform_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGTransform_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGTransform_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGTransform_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGTransform_put_type(This,v)	\
    ( (This)->lpVtbl -> put_type(This,v) ) 

#define ISVGTransform_get_type(This,p)	\
    ( (This)->lpVtbl -> get_type(This,p) ) 

#define ISVGTransform_putref_matrix(This,v)	\
    ( (This)->lpVtbl -> putref_matrix(This,v) ) 

#define ISVGTransform_get_matrix(This,p)	\
    ( (This)->lpVtbl -> get_matrix(This,p) ) 

#define ISVGTransform_put_angle(This,v)	\
    ( (This)->lpVtbl -> put_angle(This,v) ) 

#define ISVGTransform_get_angle(This,p)	\
    ( (This)->lpVtbl -> get_angle(This,p) ) 

#define ISVGTransform_setMatrix(This,matrix)	\
    ( (This)->lpVtbl -> setMatrix(This,matrix) ) 

#define ISVGTransform_setTranslate(This,tx,ty)	\
    ( (This)->lpVtbl -> setTranslate(This,tx,ty) ) 

#define ISVGTransform_setScale(This,sx,sy)	\
    ( (This)->lpVtbl -> setScale(This,sx,sy) ) 

#define ISVGTransform_setRotate(This,angle,cx,cy)	\
    ( (This)->lpVtbl -> setRotate(This,angle,cx,cy) ) 

#define ISVGTransform_setSkewX(This,angle)	\
    ( (This)->lpVtbl -> setSkewX(This,angle) ) 

#define ISVGTransform_setSkewY(This,angle)	\
    ( (This)->lpVtbl -> setSkewY(This,angle) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGTransform_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGTransform;

#ifdef __cplusplus

class DECLSPEC_UUID("305105af-98b5-11cf-bb82-00aa00bdce0b")
SVGTransform;
#endif

#ifndef __DispSVGSVGElement_DISPINTERFACE_DEFINED__
#define __DispSVGSVGElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGSVGElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGSVGElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590001-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGSVGElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGSVGElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGSVGElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGSVGElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGSVGElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGSVGElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGSVGElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGSVGElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGSVGElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGSVGElementVtbl;

    interface DispSVGSVGElement
    {
        CONST_VTBL struct DispSVGSVGElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGSVGElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGSVGElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGSVGElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGSVGElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGSVGElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGSVGElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGSVGElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGSVGElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGSVGElement;

#ifdef __cplusplus

class DECLSPEC_UUID("30510574-98b5-11cf-bb82-00aa00bdce0b")
SVGSVGElement;
#endif

#ifndef __ISVGElementInstance_INTERFACE_DEFINED__
#define __ISVGElementInstance_INTERFACE_DEFINED__

/* interface ISVGElementInstance */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGElementInstance;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104ee-98b5-11cf-bb82-00aa00bdce0b")
    ISVGElementInstance : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_correspondingElement( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGElement **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_correspondingUseElement( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGUseElement **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_parentNode( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGElementInstance **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_childNodes( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGElementInstanceList **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_firstChild( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGElementInstance **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_lastChild( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGElementInstance **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_previousSibling( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGElementInstance **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_nextSibling( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGElementInstance **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGElementInstanceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGElementInstance * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGElementInstance * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGElementInstance * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGElementInstance * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGElementInstance * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGElementInstance * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGElementInstance * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_correspondingElement )( 
            __RPC__in ISVGElementInstance * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGElement **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_correspondingUseElement )( 
            __RPC__in ISVGElementInstance * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGUseElement **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_parentNode )( 
            __RPC__in ISVGElementInstance * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGElementInstance **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_childNodes )( 
            __RPC__in ISVGElementInstance * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGElementInstanceList **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_firstChild )( 
            __RPC__in ISVGElementInstance * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGElementInstance **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastChild )( 
            __RPC__in ISVGElementInstance * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGElementInstance **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_previousSibling )( 
            __RPC__in ISVGElementInstance * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGElementInstance **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextSibling )( 
            __RPC__in ISVGElementInstance * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGElementInstance **p);
        
        END_INTERFACE
    } ISVGElementInstanceVtbl;

    interface ISVGElementInstance
    {
        CONST_VTBL struct ISVGElementInstanceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGElementInstance_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGElementInstance_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGElementInstance_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGElementInstance_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGElementInstance_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGElementInstance_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGElementInstance_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGElementInstance_get_correspondingElement(This,p)	\
    ( (This)->lpVtbl -> get_correspondingElement(This,p) ) 

#define ISVGElementInstance_get_correspondingUseElement(This,p)	\
    ( (This)->lpVtbl -> get_correspondingUseElement(This,p) ) 

#define ISVGElementInstance_get_parentNode(This,p)	\
    ( (This)->lpVtbl -> get_parentNode(This,p) ) 

#define ISVGElementInstance_get_childNodes(This,p)	\
    ( (This)->lpVtbl -> get_childNodes(This,p) ) 

#define ISVGElementInstance_get_firstChild(This,p)	\
    ( (This)->lpVtbl -> get_firstChild(This,p) ) 

#define ISVGElementInstance_get_lastChild(This,p)	\
    ( (This)->lpVtbl -> get_lastChild(This,p) ) 

#define ISVGElementInstance_get_previousSibling(This,p)	\
    ( (This)->lpVtbl -> get_previousSibling(This,p) ) 

#define ISVGElementInstance_get_nextSibling(This,p)	\
    ( (This)->lpVtbl -> get_nextSibling(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGElementInstance_INTERFACE_DEFINED__ */


#ifndef __ISVGUseElement_INTERFACE_DEFINED__
#define __ISVGUseElement_INTERFACE_DEFINED__

/* interface ISVGUseElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGUseElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104ed-98b5-11cf-bb82-00aa00bdce0b")
    ISVGUseElement : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_x( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_y( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_width( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_height( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_instanceRoot( 
            /* [in] */ __RPC__in_opt ISVGElementInstance *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_instanceRoot( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGElementInstance **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_animatedInstanceRoot( 
            /* [in] */ __RPC__in_opt ISVGElementInstance *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_animatedInstanceRoot( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGElementInstance **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGUseElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGUseElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGUseElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGUseElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGUseElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGUseElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGUseElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGUseElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_x )( 
            __RPC__in ISVGUseElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in ISVGUseElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_y )( 
            __RPC__in ISVGUseElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in ISVGUseElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_width )( 
            __RPC__in ISVGUseElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in ISVGUseElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_height )( 
            __RPC__in ISVGUseElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in ISVGUseElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_instanceRoot )( 
            __RPC__in ISVGUseElement * This,
            /* [in] */ __RPC__in_opt ISVGElementInstance *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_instanceRoot )( 
            __RPC__in ISVGUseElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGElementInstance **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_animatedInstanceRoot )( 
            __RPC__in ISVGUseElement * This,
            /* [in] */ __RPC__in_opt ISVGElementInstance *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_animatedInstanceRoot )( 
            __RPC__in ISVGUseElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGElementInstance **p);
        
        END_INTERFACE
    } ISVGUseElementVtbl;

    interface ISVGUseElement
    {
        CONST_VTBL struct ISVGUseElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGUseElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGUseElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGUseElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGUseElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGUseElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGUseElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGUseElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGUseElement_putref_x(This,v)	\
    ( (This)->lpVtbl -> putref_x(This,v) ) 

#define ISVGUseElement_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#define ISVGUseElement_putref_y(This,v)	\
    ( (This)->lpVtbl -> putref_y(This,v) ) 

#define ISVGUseElement_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#define ISVGUseElement_putref_width(This,v)	\
    ( (This)->lpVtbl -> putref_width(This,v) ) 

#define ISVGUseElement_get_width(This,p)	\
    ( (This)->lpVtbl -> get_width(This,p) ) 

#define ISVGUseElement_putref_height(This,v)	\
    ( (This)->lpVtbl -> putref_height(This,v) ) 

#define ISVGUseElement_get_height(This,p)	\
    ( (This)->lpVtbl -> get_height(This,p) ) 

#define ISVGUseElement_putref_instanceRoot(This,v)	\
    ( (This)->lpVtbl -> putref_instanceRoot(This,v) ) 

#define ISVGUseElement_get_instanceRoot(This,p)	\
    ( (This)->lpVtbl -> get_instanceRoot(This,p) ) 

#define ISVGUseElement_putref_animatedInstanceRoot(This,v)	\
    ( (This)->lpVtbl -> putref_animatedInstanceRoot(This,v) ) 

#define ISVGUseElement_get_animatedInstanceRoot(This,p)	\
    ( (This)->lpVtbl -> get_animatedInstanceRoot(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGUseElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGUseElement_DISPINTERFACE_DEFINED__
#define __DispSVGUseElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGUseElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGUseElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590010-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGUseElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGUseElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGUseElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGUseElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGUseElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGUseElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGUseElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGUseElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGUseElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGUseElementVtbl;

    interface DispSVGUseElement
    {
        CONST_VTBL struct DispSVGUseElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGUseElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGUseElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGUseElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGUseElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGUseElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGUseElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGUseElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGUseElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGUseElement;

#ifdef __cplusplus

class DECLSPEC_UUID("30510590-98b5-11cf-bb82-00aa00bdce0b")
SVGUseElement;
#endif

#ifndef __IHTMLStyleSheetRulesAppliedCollection_INTERFACE_DEFINED__
#define __IHTMLStyleSheetRulesAppliedCollection_INTERFACE_DEFINED__

/* interface IHTMLStyleSheetRulesAppliedCollection */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLStyleSheetRulesAppliedCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104c0-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLStyleSheetRulesAppliedCollection : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheetRule **ppHTMLStyleSheetRule) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE propertyAppliedBy( 
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheetRule **ppRule) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE propertyAppliedTrace( 
            /* [in] */ __RPC__in BSTR name,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheetRule **ppRule) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE propertyAppliedTraceLength( 
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__out long *pLength) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLStyleSheetRulesAppliedCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLStyleSheetRulesAppliedCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLStyleSheetRulesAppliedCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLStyleSheetRulesAppliedCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLStyleSheetRulesAppliedCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLStyleSheetRulesAppliedCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLStyleSheetRulesAppliedCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLStyleSheetRulesAppliedCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLStyleSheetRulesAppliedCollection * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLStyleSheetRulesAppliedCollection * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *propertyAppliedBy )( 
            __RPC__in IHTMLStyleSheetRulesAppliedCollection * This,
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheetRule **ppRule);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *propertyAppliedTrace )( 
            __RPC__in IHTMLStyleSheetRulesAppliedCollection * This,
            /* [in] */ __RPC__in BSTR name,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheetRule **ppRule);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *propertyAppliedTraceLength )( 
            __RPC__in IHTMLStyleSheetRulesAppliedCollection * This,
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__out long *pLength);
        
        END_INTERFACE
    } IHTMLStyleSheetRulesAppliedCollectionVtbl;

    interface IHTMLStyleSheetRulesAppliedCollection
    {
        CONST_VTBL struct IHTMLStyleSheetRulesAppliedCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLStyleSheetRulesAppliedCollection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLStyleSheetRulesAppliedCollection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLStyleSheetRulesAppliedCollection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLStyleSheetRulesAppliedCollection_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLStyleSheetRulesAppliedCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLStyleSheetRulesAppliedCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLStyleSheetRulesAppliedCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLStyleSheetRulesAppliedCollection_item(This,index,ppHTMLStyleSheetRule)	\
    ( (This)->lpVtbl -> item(This,index,ppHTMLStyleSheetRule) ) 

#define IHTMLStyleSheetRulesAppliedCollection_get_length(This,p)	\
    ( (This)->lpVtbl -> get_length(This,p) ) 

#define IHTMLStyleSheetRulesAppliedCollection_propertyAppliedBy(This,name,ppRule)	\
    ( (This)->lpVtbl -> propertyAppliedBy(This,name,ppRule) ) 

#define IHTMLStyleSheetRulesAppliedCollection_propertyAppliedTrace(This,name,index,ppRule)	\
    ( (This)->lpVtbl -> propertyAppliedTrace(This,name,index,ppRule) ) 

#define IHTMLStyleSheetRulesAppliedCollection_propertyAppliedTraceLength(This,name,pLength)	\
    ( (This)->lpVtbl -> propertyAppliedTraceLength(This,name,pLength) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLStyleSheetRulesAppliedCollection_INTERFACE_DEFINED__ */


#ifndef __IRulesApplied_INTERFACE_DEFINED__
#define __IRulesApplied_INTERFACE_DEFINED__

/* interface IRulesApplied */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IRulesApplied;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104bf-98b5-11cf-bb82-00aa00bdce0b")
    IRulesApplied : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_element( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_inlineStyles( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyle **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_appliedRules( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheetRulesAppliedCollection **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE propertyIsInline( 
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE propertyIsInheritable( 
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE hasInheritableProperty( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IRulesAppliedVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IRulesApplied * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IRulesApplied * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IRulesApplied * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IRulesApplied * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IRulesApplied * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IRulesApplied * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRulesApplied * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_element )( 
            __RPC__in IRulesApplied * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_inlineStyles )( 
            __RPC__in IRulesApplied * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyle **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_appliedRules )( 
            __RPC__in IRulesApplied * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLStyleSheetRulesAppliedCollection **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *propertyIsInline )( 
            __RPC__in IRulesApplied * This,
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *propertyIsInheritable )( 
            __RPC__in IRulesApplied * This,
            /* [in] */ __RPC__in BSTR name,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *hasInheritableProperty )( 
            __RPC__in IRulesApplied * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        END_INTERFACE
    } IRulesAppliedVtbl;

    interface IRulesApplied
    {
        CONST_VTBL struct IRulesAppliedVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRulesApplied_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IRulesApplied_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IRulesApplied_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IRulesApplied_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IRulesApplied_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IRulesApplied_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IRulesApplied_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IRulesApplied_get_element(This,p)	\
    ( (This)->lpVtbl -> get_element(This,p) ) 

#define IRulesApplied_get_inlineStyles(This,p)	\
    ( (This)->lpVtbl -> get_inlineStyles(This,p) ) 

#define IRulesApplied_get_appliedRules(This,p)	\
    ( (This)->lpVtbl -> get_appliedRules(This,p) ) 

#define IRulesApplied_propertyIsInline(This,name,p)	\
    ( (This)->lpVtbl -> propertyIsInline(This,name,p) ) 

#define IRulesApplied_propertyIsInheritable(This,name,p)	\
    ( (This)->lpVtbl -> propertyIsInheritable(This,name,p) ) 

#define IRulesApplied_hasInheritableProperty(This,p)	\
    ( (This)->lpVtbl -> hasInheritableProperty(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRulesApplied_INTERFACE_DEFINED__ */


#ifndef __DispHTMLStyleSheetRulesAppliedCollection_DISPINTERFACE_DEFINED__
#define __DispHTMLStyleSheetRulesAppliedCollection_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLStyleSheetRulesAppliedCollection */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLStyleSheetRulesAppliedCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f5a6-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLStyleSheetRulesAppliedCollection : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLStyleSheetRulesAppliedCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLStyleSheetRulesAppliedCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLStyleSheetRulesAppliedCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLStyleSheetRulesAppliedCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLStyleSheetRulesAppliedCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLStyleSheetRulesAppliedCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLStyleSheetRulesAppliedCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLStyleSheetRulesAppliedCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLStyleSheetRulesAppliedCollectionVtbl;

    interface DispHTMLStyleSheetRulesAppliedCollection
    {
        CONST_VTBL struct DispHTMLStyleSheetRulesAppliedCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLStyleSheetRulesAppliedCollection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLStyleSheetRulesAppliedCollection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLStyleSheetRulesAppliedCollection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLStyleSheetRulesAppliedCollection_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLStyleSheetRulesAppliedCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLStyleSheetRulesAppliedCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLStyleSheetRulesAppliedCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLStyleSheetRulesAppliedCollection_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLStyleSheetRulesAppliedCollection;

#ifdef __cplusplus

class DECLSPEC_UUID("eb36f845-2395-4719-b85c-d0d80e184bd9")
HTMLStyleSheetRulesAppliedCollection;
#endif

#ifndef __DispRulesApplied_DISPINTERFACE_DEFINED__
#define __DispRulesApplied_DISPINTERFACE_DEFINED__

/* dispinterface DispRulesApplied */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispRulesApplied;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f5a5-98b5-11cf-bb82-00aa00bdce0b")
    DispRulesApplied : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispRulesAppliedVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispRulesApplied * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispRulesApplied * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispRulesApplied * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispRulesApplied * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispRulesApplied * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispRulesApplied * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispRulesApplied * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispRulesAppliedVtbl;

    interface DispRulesApplied
    {
        CONST_VTBL struct DispRulesAppliedVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispRulesApplied_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispRulesApplied_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispRulesApplied_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispRulesApplied_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispRulesApplied_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispRulesApplied_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispRulesApplied_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispRulesApplied_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_RulesApplied;

#ifdef __cplusplus

class DECLSPEC_UUID("7c803920-7a53-4d26-98ac-fdd23e6b9e01")
RulesApplied;
#endif

#ifndef __DispRulesAppliedCollection_DISPINTERFACE_DEFINED__
#define __DispRulesAppliedCollection_DISPINTERFACE_DEFINED__

/* dispinterface DispRulesAppliedCollection */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispRulesAppliedCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f5a4-98b5-11cf-bb82-00aa00bdce0b")
    DispRulesAppliedCollection : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispRulesAppliedCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispRulesAppliedCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispRulesAppliedCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispRulesAppliedCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispRulesAppliedCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispRulesAppliedCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispRulesAppliedCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispRulesAppliedCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispRulesAppliedCollectionVtbl;

    interface DispRulesAppliedCollection
    {
        CONST_VTBL struct DispRulesAppliedCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispRulesAppliedCollection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispRulesAppliedCollection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispRulesAppliedCollection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispRulesAppliedCollection_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispRulesAppliedCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispRulesAppliedCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispRulesAppliedCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispRulesAppliedCollection_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_RulesAppliedCollection;

#ifdef __cplusplus

class DECLSPEC_UUID("671926ee-c3cf-40af-be8f-1cbaee6486e8")
RulesAppliedCollection;
#endif

#ifndef __DispHTMLW3CComputedStyle_DISPINTERFACE_DEFINED__
#define __DispHTMLW3CComputedStyle_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLW3CComputedStyle */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLW3CComputedStyle;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590070-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLW3CComputedStyle : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLW3CComputedStyleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLW3CComputedStyle * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLW3CComputedStyle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLW3CComputedStyle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLW3CComputedStyle * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLW3CComputedStyle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLW3CComputedStyle * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLW3CComputedStyle * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLW3CComputedStyleVtbl;

    interface DispHTMLW3CComputedStyle
    {
        CONST_VTBL struct DispHTMLW3CComputedStyleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLW3CComputedStyle_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLW3CComputedStyle_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLW3CComputedStyle_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLW3CComputedStyle_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLW3CComputedStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLW3CComputedStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLW3CComputedStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLW3CComputedStyle_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLW3CComputedStyle;

#ifdef __cplusplus

class DECLSPEC_UUID("305106c8-98b5-11cf-bb82-00aa00bdce0b")
HTMLW3CComputedStyle;
#endif

EXTERN_C const CLSID CLSID_SVGTransformList;

#ifdef __cplusplus

class DECLSPEC_UUID("305105b0-98b5-11cf-bb82-00aa00bdce0b")
SVGTransformList;
#endif

#ifndef __ISVGAnimatedPoints_INTERFACE_DEFINED__
#define __ISVGAnimatedPoints_INTERFACE_DEFINED__

/* interface ISVGAnimatedPoints */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGAnimatedPoints;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510517-98b5-11cf-bb82-00aa00bdce0b")
    ISVGAnimatedPoints : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_points( 
            /* [in] */ __RPC__in_opt ISVGPointList *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_points( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGPointList **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_animatedPoints( 
            /* [in] */ __RPC__in_opt ISVGPointList *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_animatedPoints( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGPointList **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGAnimatedPointsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGAnimatedPoints * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGAnimatedPoints * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGAnimatedPoints * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGAnimatedPoints * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGAnimatedPoints * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGAnimatedPoints * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGAnimatedPoints * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_points )( 
            __RPC__in ISVGAnimatedPoints * This,
            /* [in] */ __RPC__in_opt ISVGPointList *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_points )( 
            __RPC__in ISVGAnimatedPoints * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPointList **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_animatedPoints )( 
            __RPC__in ISVGAnimatedPoints * This,
            /* [in] */ __RPC__in_opt ISVGPointList *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_animatedPoints )( 
            __RPC__in ISVGAnimatedPoints * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPointList **p);
        
        END_INTERFACE
    } ISVGAnimatedPointsVtbl;

    interface ISVGAnimatedPoints
    {
        CONST_VTBL struct ISVGAnimatedPointsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGAnimatedPoints_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGAnimatedPoints_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGAnimatedPoints_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGAnimatedPoints_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGAnimatedPoints_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGAnimatedPoints_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGAnimatedPoints_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGAnimatedPoints_putref_points(This,v)	\
    ( (This)->lpVtbl -> putref_points(This,v) ) 

#define ISVGAnimatedPoints_get_points(This,p)	\
    ( (This)->lpVtbl -> get_points(This,p) ) 

#define ISVGAnimatedPoints_putref_animatedPoints(This,v)	\
    ( (This)->lpVtbl -> putref_animatedPoints(This,v) ) 

#define ISVGAnimatedPoints_get_animatedPoints(This,p)	\
    ( (This)->lpVtbl -> get_animatedPoints(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGAnimatedPoints_INTERFACE_DEFINED__ */


#ifndef __ISVGCircleElement_INTERFACE_DEFINED__
#define __ISVGCircleElement_INTERFACE_DEFINED__

/* interface ISVGCircleElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGCircleElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510514-98b5-11cf-bb82-00aa00bdce0b")
    ISVGCircleElement : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_cx( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cx( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_cy( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cy( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_r( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_r( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGCircleElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGCircleElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGCircleElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGCircleElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGCircleElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGCircleElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGCircleElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGCircleElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_cx )( 
            __RPC__in ISVGCircleElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cx )( 
            __RPC__in ISVGCircleElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_cy )( 
            __RPC__in ISVGCircleElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cy )( 
            __RPC__in ISVGCircleElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_r )( 
            __RPC__in ISVGCircleElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_r )( 
            __RPC__in ISVGCircleElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        END_INTERFACE
    } ISVGCircleElementVtbl;

    interface ISVGCircleElement
    {
        CONST_VTBL struct ISVGCircleElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGCircleElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGCircleElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGCircleElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGCircleElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGCircleElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGCircleElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGCircleElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGCircleElement_putref_cx(This,v)	\
    ( (This)->lpVtbl -> putref_cx(This,v) ) 

#define ISVGCircleElement_get_cx(This,p)	\
    ( (This)->lpVtbl -> get_cx(This,p) ) 

#define ISVGCircleElement_putref_cy(This,v)	\
    ( (This)->lpVtbl -> putref_cy(This,v) ) 

#define ISVGCircleElement_get_cy(This,p)	\
    ( (This)->lpVtbl -> get_cy(This,p) ) 

#define ISVGCircleElement_putref_r(This,v)	\
    ( (This)->lpVtbl -> putref_r(This,v) ) 

#define ISVGCircleElement_get_r(This,p)	\
    ( (This)->lpVtbl -> get_r(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGCircleElement_INTERFACE_DEFINED__ */


#ifndef __ISVGEllipseElement_INTERFACE_DEFINED__
#define __ISVGEllipseElement_INTERFACE_DEFINED__

/* interface ISVGEllipseElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGEllipseElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510515-98b5-11cf-bb82-00aa00bdce0b")
    ISVGEllipseElement : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_cx( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cx( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_cy( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cy( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_rx( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_rx( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_ry( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ry( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGEllipseElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGEllipseElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGEllipseElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGEllipseElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGEllipseElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGEllipseElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGEllipseElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGEllipseElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_cx )( 
            __RPC__in ISVGEllipseElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cx )( 
            __RPC__in ISVGEllipseElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_cy )( 
            __RPC__in ISVGEllipseElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cy )( 
            __RPC__in ISVGEllipseElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_rx )( 
            __RPC__in ISVGEllipseElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rx )( 
            __RPC__in ISVGEllipseElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_ry )( 
            __RPC__in ISVGEllipseElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ry )( 
            __RPC__in ISVGEllipseElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        END_INTERFACE
    } ISVGEllipseElementVtbl;

    interface ISVGEllipseElement
    {
        CONST_VTBL struct ISVGEllipseElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGEllipseElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGEllipseElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGEllipseElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGEllipseElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGEllipseElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGEllipseElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGEllipseElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGEllipseElement_putref_cx(This,v)	\
    ( (This)->lpVtbl -> putref_cx(This,v) ) 

#define ISVGEllipseElement_get_cx(This,p)	\
    ( (This)->lpVtbl -> get_cx(This,p) ) 

#define ISVGEllipseElement_putref_cy(This,v)	\
    ( (This)->lpVtbl -> putref_cy(This,v) ) 

#define ISVGEllipseElement_get_cy(This,p)	\
    ( (This)->lpVtbl -> get_cy(This,p) ) 

#define ISVGEllipseElement_putref_rx(This,v)	\
    ( (This)->lpVtbl -> putref_rx(This,v) ) 

#define ISVGEllipseElement_get_rx(This,p)	\
    ( (This)->lpVtbl -> get_rx(This,p) ) 

#define ISVGEllipseElement_putref_ry(This,v)	\
    ( (This)->lpVtbl -> putref_ry(This,v) ) 

#define ISVGEllipseElement_get_ry(This,p)	\
    ( (This)->lpVtbl -> get_ry(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGEllipseElement_INTERFACE_DEFINED__ */


#ifndef __ISVGLineElement_INTERFACE_DEFINED__
#define __ISVGLineElement_INTERFACE_DEFINED__

/* interface ISVGLineElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGLineElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510516-98b5-11cf-bb82-00aa00bdce0b")
    ISVGLineElement : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_x1( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x1( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_y1( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y1( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_x2( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x2( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_y2( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y2( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGLineElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGLineElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGLineElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGLineElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGLineElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGLineElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGLineElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGLineElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_x1 )( 
            __RPC__in ISVGLineElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x1 )( 
            __RPC__in ISVGLineElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_y1 )( 
            __RPC__in ISVGLineElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y1 )( 
            __RPC__in ISVGLineElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_x2 )( 
            __RPC__in ISVGLineElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x2 )( 
            __RPC__in ISVGLineElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_y2 )( 
            __RPC__in ISVGLineElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y2 )( 
            __RPC__in ISVGLineElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        END_INTERFACE
    } ISVGLineElementVtbl;

    interface ISVGLineElement
    {
        CONST_VTBL struct ISVGLineElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGLineElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGLineElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGLineElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGLineElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGLineElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGLineElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGLineElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGLineElement_putref_x1(This,v)	\
    ( (This)->lpVtbl -> putref_x1(This,v) ) 

#define ISVGLineElement_get_x1(This,p)	\
    ( (This)->lpVtbl -> get_x1(This,p) ) 

#define ISVGLineElement_putref_y1(This,v)	\
    ( (This)->lpVtbl -> putref_y1(This,v) ) 

#define ISVGLineElement_get_y1(This,p)	\
    ( (This)->lpVtbl -> get_y1(This,p) ) 

#define ISVGLineElement_putref_x2(This,v)	\
    ( (This)->lpVtbl -> putref_x2(This,v) ) 

#define ISVGLineElement_get_x2(This,p)	\
    ( (This)->lpVtbl -> get_x2(This,p) ) 

#define ISVGLineElement_putref_y2(This,v)	\
    ( (This)->lpVtbl -> putref_y2(This,v) ) 

#define ISVGLineElement_get_y2(This,p)	\
    ( (This)->lpVtbl -> get_y2(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGLineElement_INTERFACE_DEFINED__ */


#ifndef __ISVGRectElement_INTERFACE_DEFINED__
#define __ISVGRectElement_INTERFACE_DEFINED__

/* interface ISVGRectElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGRectElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510513-98b5-11cf-bb82-00aa00bdce0b")
    ISVGRectElement : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_x( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_y( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_width( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_height( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_rx( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_rx( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_ry( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ry( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGRectElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGRectElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGRectElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGRectElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGRectElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGRectElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGRectElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGRectElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_x )( 
            __RPC__in ISVGRectElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in ISVGRectElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_y )( 
            __RPC__in ISVGRectElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in ISVGRectElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_width )( 
            __RPC__in ISVGRectElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in ISVGRectElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_height )( 
            __RPC__in ISVGRectElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in ISVGRectElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_rx )( 
            __RPC__in ISVGRectElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rx )( 
            __RPC__in ISVGRectElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_ry )( 
            __RPC__in ISVGRectElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ry )( 
            __RPC__in ISVGRectElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        END_INTERFACE
    } ISVGRectElementVtbl;

    interface ISVGRectElement
    {
        CONST_VTBL struct ISVGRectElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGRectElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGRectElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGRectElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGRectElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGRectElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGRectElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGRectElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGRectElement_putref_x(This,v)	\
    ( (This)->lpVtbl -> putref_x(This,v) ) 

#define ISVGRectElement_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#define ISVGRectElement_putref_y(This,v)	\
    ( (This)->lpVtbl -> putref_y(This,v) ) 

#define ISVGRectElement_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#define ISVGRectElement_putref_width(This,v)	\
    ( (This)->lpVtbl -> putref_width(This,v) ) 

#define ISVGRectElement_get_width(This,p)	\
    ( (This)->lpVtbl -> get_width(This,p) ) 

#define ISVGRectElement_putref_height(This,v)	\
    ( (This)->lpVtbl -> putref_height(This,v) ) 

#define ISVGRectElement_get_height(This,p)	\
    ( (This)->lpVtbl -> get_height(This,p) ) 

#define ISVGRectElement_putref_rx(This,v)	\
    ( (This)->lpVtbl -> putref_rx(This,v) ) 

#define ISVGRectElement_get_rx(This,p)	\
    ( (This)->lpVtbl -> get_rx(This,p) ) 

#define ISVGRectElement_putref_ry(This,v)	\
    ( (This)->lpVtbl -> putref_ry(This,v) ) 

#define ISVGRectElement_get_ry(This,p)	\
    ( (This)->lpVtbl -> get_ry(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGRectElement_INTERFACE_DEFINED__ */


#ifndef __ISVGPolygonElement_INTERFACE_DEFINED__
#define __ISVGPolygonElement_INTERFACE_DEFINED__

/* interface ISVGPolygonElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPolygonElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510519-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPolygonElement : public IDispatch
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPolygonElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPolygonElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPolygonElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPolygonElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPolygonElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPolygonElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPolygonElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPolygonElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } ISVGPolygonElementVtbl;

    interface ISVGPolygonElement
    {
        CONST_VTBL struct ISVGPolygonElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPolygonElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPolygonElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPolygonElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPolygonElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPolygonElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPolygonElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPolygonElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPolygonElement_INTERFACE_DEFINED__ */


#ifndef __ISVGPolylineElement_INTERFACE_DEFINED__
#define __ISVGPolylineElement_INTERFACE_DEFINED__

/* interface ISVGPolylineElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPolylineElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510518-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPolylineElement : public IDispatch
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPolylineElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPolylineElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPolylineElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPolylineElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPolylineElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPolylineElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPolylineElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPolylineElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } ISVGPolylineElementVtbl;

    interface ISVGPolylineElement
    {
        CONST_VTBL struct ISVGPolylineElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPolylineElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPolylineElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPolylineElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPolylineElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPolylineElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPolylineElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPolylineElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPolylineElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGCircleElement_DISPINTERFACE_DEFINED__
#define __DispSVGCircleElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGCircleElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGCircleElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059000a-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGCircleElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGCircleElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGCircleElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGCircleElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGCircleElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGCircleElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGCircleElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGCircleElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGCircleElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGCircleElementVtbl;

    interface DispSVGCircleElement
    {
        CONST_VTBL struct DispSVGCircleElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGCircleElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGCircleElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGCircleElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGCircleElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGCircleElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGCircleElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGCircleElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGCircleElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGCircleElement;

#ifdef __cplusplus

class DECLSPEC_UUID("30510578-98b5-11cf-bb82-00aa00bdce0b")
SVGCircleElement;
#endif

#ifndef __DispSVGEllipseElement_DISPINTERFACE_DEFINED__
#define __DispSVGEllipseElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGEllipseElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGEllipseElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059000b-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGEllipseElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGEllipseElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGEllipseElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGEllipseElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGEllipseElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGEllipseElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGEllipseElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGEllipseElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGEllipseElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGEllipseElementVtbl;

    interface DispSVGEllipseElement
    {
        CONST_VTBL struct DispSVGEllipseElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGEllipseElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGEllipseElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGEllipseElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGEllipseElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGEllipseElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGEllipseElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGEllipseElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGEllipseElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGEllipseElement;

#ifdef __cplusplus

class DECLSPEC_UUID("30510579-98b5-11cf-bb82-00aa00bdce0b")
SVGEllipseElement;
#endif

#ifndef __DispSVGLineElement_DISPINTERFACE_DEFINED__
#define __DispSVGLineElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGLineElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGLineElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059000c-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGLineElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGLineElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGLineElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGLineElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGLineElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGLineElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGLineElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGLineElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGLineElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGLineElementVtbl;

    interface DispSVGLineElement
    {
        CONST_VTBL struct DispSVGLineElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGLineElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGLineElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGLineElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGLineElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGLineElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGLineElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGLineElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGLineElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGLineElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3051057a-98b5-11cf-bb82-00aa00bdce0b")
SVGLineElement;
#endif

#ifndef __DispSVGRectElement_DISPINTERFACE_DEFINED__
#define __DispSVGRectElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGRectElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGRectElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590009-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGRectElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGRectElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGRectElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGRectElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGRectElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGRectElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGRectElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGRectElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGRectElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGRectElementVtbl;

    interface DispSVGRectElement
    {
        CONST_VTBL struct DispSVGRectElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGRectElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGRectElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGRectElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGRectElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGRectElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGRectElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGRectElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGRectElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGRectElement;

#ifdef __cplusplus

class DECLSPEC_UUID("30510577-98b5-11cf-bb82-00aa00bdce0b")
SVGRectElement;
#endif

#ifndef __DispSVGPolygonElement_DISPINTERFACE_DEFINED__
#define __DispSVGPolygonElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGPolygonElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGPolygonElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059000d-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGPolygonElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGPolygonElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGPolygonElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGPolygonElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGPolygonElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGPolygonElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGPolygonElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGPolygonElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGPolygonElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGPolygonElementVtbl;

    interface DispSVGPolygonElement
    {
        CONST_VTBL struct DispSVGPolygonElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGPolygonElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGPolygonElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGPolygonElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGPolygonElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGPolygonElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGPolygonElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGPolygonElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGPolygonElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPolygonElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3051057b-98b5-11cf-bb82-00aa00bdce0b")
SVGPolygonElement;
#endif

#ifndef __DispSVGPolylineElement_DISPINTERFACE_DEFINED__
#define __DispSVGPolylineElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGPolylineElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGPolylineElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059000e-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGPolylineElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGPolylineElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGPolylineElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGPolylineElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGPolylineElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGPolylineElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGPolylineElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGPolylineElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGPolylineElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGPolylineElementVtbl;

    interface DispSVGPolylineElement
    {
        CONST_VTBL struct DispSVGPolylineElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGPolylineElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGPolylineElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGPolylineElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGPolylineElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGPolylineElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGPolylineElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGPolylineElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGPolylineElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPolylineElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3051057c-98b5-11cf-bb82-00aa00bdce0b")
SVGPolylineElement;
#endif

#ifndef __ISVGGElement_INTERFACE_DEFINED__
#define __ISVGGElement_INTERFACE_DEFINED__

/* interface ISVGGElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGGElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104e8-98b5-11cf-bb82-00aa00bdce0b")
    ISVGGElement : public IDispatch
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGGElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGGElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGGElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGGElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGGElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGGElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGGElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGGElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } ISVGGElementVtbl;

    interface ISVGGElement
    {
        CONST_VTBL struct ISVGGElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGGElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGGElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGGElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGGElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGGElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGGElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGGElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGGElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGGElement_DISPINTERFACE_DEFINED__
#define __DispSVGGElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGGElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGGElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590002-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGGElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGGElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGGElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGGElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGGElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGGElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGGElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGGElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGGElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGGElementVtbl;

    interface DispSVGGElement
    {
        CONST_VTBL struct DispSVGGElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGGElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGGElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGGElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGGElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGGElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGGElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGGElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGGElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGGElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3051056f-98b5-11cf-bb82-00aa00bdce0b")
SVGGElement;
#endif

#ifndef __ISVGSymbolElement_INTERFACE_DEFINED__
#define __ISVGSymbolElement_INTERFACE_DEFINED__

/* interface ISVGSymbolElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGSymbolElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104ec-98b5-11cf-bb82-00aa00bdce0b")
    ISVGSymbolElement : public IDispatch
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGSymbolElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGSymbolElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGSymbolElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGSymbolElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGSymbolElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGSymbolElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGSymbolElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGSymbolElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } ISVGSymbolElementVtbl;

    interface ISVGSymbolElement
    {
        CONST_VTBL struct ISVGSymbolElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGSymbolElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGSymbolElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGSymbolElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGSymbolElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGSymbolElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGSymbolElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGSymbolElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGSymbolElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGSymbolElement_DISPINTERFACE_DEFINED__
#define __DispSVGSymbolElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGSymbolElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGSymbolElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590004-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGSymbolElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGSymbolElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGSymbolElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGSymbolElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGSymbolElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGSymbolElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGSymbolElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGSymbolElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGSymbolElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGSymbolElementVtbl;

    interface DispSVGSymbolElement
    {
        CONST_VTBL struct DispSVGSymbolElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGSymbolElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGSymbolElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGSymbolElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGSymbolElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGSymbolElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGSymbolElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGSymbolElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGSymbolElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGSymbolElement;

#ifdef __cplusplus

class DECLSPEC_UUID("30510571-98b5-11cf-bb82-00aa00bdce0b")
SVGSymbolElement;
#endif

#ifndef __ISVGDefsElement_INTERFACE_DEFINED__
#define __ISVGDefsElement_INTERFACE_DEFINED__

/* interface ISVGDefsElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGDefsElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104e9-98b5-11cf-bb82-00aa00bdce0b")
    ISVGDefsElement : public IDispatch
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGDefsElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGDefsElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGDefsElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGDefsElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGDefsElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGDefsElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGDefsElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGDefsElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } ISVGDefsElementVtbl;

    interface ISVGDefsElement
    {
        CONST_VTBL struct ISVGDefsElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGDefsElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGDefsElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGDefsElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGDefsElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGDefsElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGDefsElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGDefsElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGDefsElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGDefsElement_DISPINTERFACE_DEFINED__
#define __DispSVGDefsElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGDefsElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGDefsElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590003-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGDefsElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGDefsElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGDefsElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGDefsElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGDefsElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGDefsElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGDefsElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGDefsElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGDefsElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGDefsElementVtbl;

    interface DispSVGDefsElement
    {
        CONST_VTBL struct DispSVGDefsElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGDefsElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGDefsElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGDefsElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGDefsElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGDefsElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGDefsElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGDefsElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGDefsElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGDefsElement;

#ifdef __cplusplus

class DECLSPEC_UUID("30510570-98b5-11cf-bb82-00aa00bdce0b")
SVGDefsElement;
#endif

#ifndef __ISVGAnimatedPathData_INTERFACE_DEFINED__
#define __ISVGAnimatedPathData_INTERFACE_DEFINED__

/* interface ISVGAnimatedPathData */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGAnimatedPathData;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510511-98b5-11cf-bb82-00aa00bdce0b")
    ISVGAnimatedPathData : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_pathSegList( 
            /* [in] */ __RPC__in_opt ISVGPathSegList *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_pathSegList( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegList **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_normalizedPathSegList( 
            /* [in] */ __RPC__in_opt ISVGPathSegList *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_normalizedPathSegList( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegList **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_animatedPathSegList( 
            /* [in] */ __RPC__in_opt ISVGPathSegList *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_animatedPathSegList( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegList **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_animatedNormalizedPathSegList( 
            /* [in] */ __RPC__in_opt ISVGPathSegList *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_animatedNormalizedPathSegList( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegList **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGAnimatedPathDataVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGAnimatedPathData * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGAnimatedPathData * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGAnimatedPathData * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGAnimatedPathData * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGAnimatedPathData * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGAnimatedPathData * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGAnimatedPathData * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_pathSegList )( 
            __RPC__in ISVGAnimatedPathData * This,
            /* [in] */ __RPC__in_opt ISVGPathSegList *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pathSegList )( 
            __RPC__in ISVGAnimatedPathData * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegList **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_normalizedPathSegList )( 
            __RPC__in ISVGAnimatedPathData * This,
            /* [in] */ __RPC__in_opt ISVGPathSegList *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_normalizedPathSegList )( 
            __RPC__in ISVGAnimatedPathData * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegList **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_animatedPathSegList )( 
            __RPC__in ISVGAnimatedPathData * This,
            /* [in] */ __RPC__in_opt ISVGPathSegList *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_animatedPathSegList )( 
            __RPC__in ISVGAnimatedPathData * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegList **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_animatedNormalizedPathSegList )( 
            __RPC__in ISVGAnimatedPathData * This,
            /* [in] */ __RPC__in_opt ISVGPathSegList *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_animatedNormalizedPathSegList )( 
            __RPC__in ISVGAnimatedPathData * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegList **p);
        
        END_INTERFACE
    } ISVGAnimatedPathDataVtbl;

    interface ISVGAnimatedPathData
    {
        CONST_VTBL struct ISVGAnimatedPathDataVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGAnimatedPathData_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGAnimatedPathData_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGAnimatedPathData_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGAnimatedPathData_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGAnimatedPathData_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGAnimatedPathData_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGAnimatedPathData_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGAnimatedPathData_putref_pathSegList(This,v)	\
    ( (This)->lpVtbl -> putref_pathSegList(This,v) ) 

#define ISVGAnimatedPathData_get_pathSegList(This,p)	\
    ( (This)->lpVtbl -> get_pathSegList(This,p) ) 

#define ISVGAnimatedPathData_putref_normalizedPathSegList(This,v)	\
    ( (This)->lpVtbl -> putref_normalizedPathSegList(This,v) ) 

#define ISVGAnimatedPathData_get_normalizedPathSegList(This,p)	\
    ( (This)->lpVtbl -> get_normalizedPathSegList(This,p) ) 

#define ISVGAnimatedPathData_putref_animatedPathSegList(This,v)	\
    ( (This)->lpVtbl -> putref_animatedPathSegList(This,v) ) 

#define ISVGAnimatedPathData_get_animatedPathSegList(This,p)	\
    ( (This)->lpVtbl -> get_animatedPathSegList(This,p) ) 

#define ISVGAnimatedPathData_putref_animatedNormalizedPathSegList(This,v)	\
    ( (This)->lpVtbl -> putref_animatedNormalizedPathSegList(This,v) ) 

#define ISVGAnimatedPathData_get_animatedNormalizedPathSegList(This,p)	\
    ( (This)->lpVtbl -> get_animatedNormalizedPathSegList(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGAnimatedPathData_INTERFACE_DEFINED__ */


#ifndef __ISVGPathElement_INTERFACE_DEFINED__
#define __ISVGPathElement_INTERFACE_DEFINED__

/* interface ISVGPathElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPathElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510512-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPathElement : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_pathLength( 
            /* [in] */ __RPC__in_opt ISVGAnimatedNumber *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_pathLength( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedNumber **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getTotalLength( 
            /* [out][retval] */ __RPC__out float *pfltResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getPointAtLength( 
            /* [in] */ float fltdistance,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **ppPointResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getPathSegAtLength( 
            /* [in] */ float fltdistance,
            /* [out][retval] */ __RPC__out long *plResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGPathSegClosePath( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegClosePath **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGPathSegMovetoAbs( 
            /* [in] */ float x,
            /* [in] */ float y,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegMovetoAbs **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGPathSegMovetoRel( 
            /* [in] */ float x,
            /* [in] */ float y,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegMovetoRel **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGPathSegLinetoAbs( 
            /* [in] */ float x,
            /* [in] */ float y,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegLinetoAbs **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGPathSegLinetoRel( 
            /* [in] */ float x,
            /* [in] */ float y,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegLinetoRel **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGPathSegCurvetoCubicAbs( 
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ float x1,
            /* [in] */ float y1,
            /* [in] */ float x2,
            /* [in] */ float y2,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegCurvetoCubicAbs **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGPathSegCurvetoCubicRel( 
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ float x1,
            /* [in] */ float y1,
            /* [in] */ float x2,
            /* [in] */ float y2,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegCurvetoCubicRel **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGPathSegCurvetoQuadraticAbs( 
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ float x1,
            /* [in] */ float y1,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegCurvetoQuadraticAbs **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGPathSegCurvetoQuadraticRel( 
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ float x1,
            /* [in] */ float y1,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegCurvetoQuadraticRel **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGPathSegArcAbs( 
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ float r1,
            /* [in] */ float r2,
            /* [in] */ float angle,
            /* [in] */ VARIANT_BOOL largeArcFlag,
            /* [in] */ VARIANT_BOOL sweepFlag,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegArcAbs **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGPathSegArcRel( 
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ float r1,
            /* [in] */ float r2,
            /* [in] */ float angle,
            /* [in] */ VARIANT_BOOL largeArcFlag,
            /* [in] */ VARIANT_BOOL sweepFlag,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegArcRel **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGPathSegLinetoHorizontalAbs( 
            /* [in] */ float x,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegLinetoHorizontalAbs **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGPathSegLinetoHorizontalRel( 
            /* [in] */ float x,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegLinetoHorizontalRel **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGPathSegLinetoVerticalAbs( 
            /* [in] */ float y,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegLinetoVerticalAbs **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGPathSegLinetoVerticalRel( 
            /* [in] */ float y,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegLinetoVerticalRel **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGPathSegCurvetoCubicSmoothAbs( 
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ float x2,
            /* [in] */ float y2,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegCurvetoCubicSmoothAbs **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGPathSegCurvetoCubicSmoothRel( 
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ float x2,
            /* [in] */ float y2,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegCurvetoCubicSmoothRel **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGPathSegCurvetoQuadraticSmoothAbs( 
            /* [in] */ float x,
            /* [in] */ float y,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegCurvetoQuadraticSmoothAbs **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createSVGPathSegCurvetoQuadraticSmoothRel( 
            /* [in] */ float x,
            /* [in] */ float y,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegCurvetoQuadraticSmoothRel **ppResult) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPathElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPathElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPathElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPathElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPathElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPathElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPathElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPathElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_pathLength )( 
            __RPC__in ISVGPathElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedNumber *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pathLength )( 
            __RPC__in ISVGPathElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedNumber **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getTotalLength )( 
            __RPC__in ISVGPathElement * This,
            /* [out][retval] */ __RPC__out float *pfltResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getPointAtLength )( 
            __RPC__in ISVGPathElement * This,
            /* [in] */ float fltdistance,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **ppPointResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getPathSegAtLength )( 
            __RPC__in ISVGPathElement * This,
            /* [in] */ float fltdistance,
            /* [out][retval] */ __RPC__out long *plResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGPathSegClosePath )( 
            __RPC__in ISVGPathElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegClosePath **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGPathSegMovetoAbs )( 
            __RPC__in ISVGPathElement * This,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegMovetoAbs **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGPathSegMovetoRel )( 
            __RPC__in ISVGPathElement * This,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegMovetoRel **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGPathSegLinetoAbs )( 
            __RPC__in ISVGPathElement * This,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegLinetoAbs **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGPathSegLinetoRel )( 
            __RPC__in ISVGPathElement * This,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegLinetoRel **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGPathSegCurvetoCubicAbs )( 
            __RPC__in ISVGPathElement * This,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ float x1,
            /* [in] */ float y1,
            /* [in] */ float x2,
            /* [in] */ float y2,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegCurvetoCubicAbs **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGPathSegCurvetoCubicRel )( 
            __RPC__in ISVGPathElement * This,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ float x1,
            /* [in] */ float y1,
            /* [in] */ float x2,
            /* [in] */ float y2,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegCurvetoCubicRel **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGPathSegCurvetoQuadraticAbs )( 
            __RPC__in ISVGPathElement * This,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ float x1,
            /* [in] */ float y1,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegCurvetoQuadraticAbs **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGPathSegCurvetoQuadraticRel )( 
            __RPC__in ISVGPathElement * This,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ float x1,
            /* [in] */ float y1,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegCurvetoQuadraticRel **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGPathSegArcAbs )( 
            __RPC__in ISVGPathElement * This,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ float r1,
            /* [in] */ float r2,
            /* [in] */ float angle,
            /* [in] */ VARIANT_BOOL largeArcFlag,
            /* [in] */ VARIANT_BOOL sweepFlag,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegArcAbs **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGPathSegArcRel )( 
            __RPC__in ISVGPathElement * This,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ float r1,
            /* [in] */ float r2,
            /* [in] */ float angle,
            /* [in] */ VARIANT_BOOL largeArcFlag,
            /* [in] */ VARIANT_BOOL sweepFlag,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegArcRel **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGPathSegLinetoHorizontalAbs )( 
            __RPC__in ISVGPathElement * This,
            /* [in] */ float x,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegLinetoHorizontalAbs **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGPathSegLinetoHorizontalRel )( 
            __RPC__in ISVGPathElement * This,
            /* [in] */ float x,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegLinetoHorizontalRel **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGPathSegLinetoVerticalAbs )( 
            __RPC__in ISVGPathElement * This,
            /* [in] */ float y,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegLinetoVerticalAbs **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGPathSegLinetoVerticalRel )( 
            __RPC__in ISVGPathElement * This,
            /* [in] */ float y,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegLinetoVerticalRel **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGPathSegCurvetoCubicSmoothAbs )( 
            __RPC__in ISVGPathElement * This,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ float x2,
            /* [in] */ float y2,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegCurvetoCubicSmoothAbs **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGPathSegCurvetoCubicSmoothRel )( 
            __RPC__in ISVGPathElement * This,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [in] */ float x2,
            /* [in] */ float y2,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegCurvetoCubicSmoothRel **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGPathSegCurvetoQuadraticSmoothAbs )( 
            __RPC__in ISVGPathElement * This,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegCurvetoQuadraticSmoothAbs **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createSVGPathSegCurvetoQuadraticSmoothRel )( 
            __RPC__in ISVGPathElement * This,
            /* [in] */ float x,
            /* [in] */ float y,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPathSegCurvetoQuadraticSmoothRel **ppResult);
        
        END_INTERFACE
    } ISVGPathElementVtbl;

    interface ISVGPathElement
    {
        CONST_VTBL struct ISVGPathElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPathElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPathElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPathElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPathElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPathElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPathElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPathElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGPathElement_putref_pathLength(This,v)	\
    ( (This)->lpVtbl -> putref_pathLength(This,v) ) 

#define ISVGPathElement_get_pathLength(This,p)	\
    ( (This)->lpVtbl -> get_pathLength(This,p) ) 

#define ISVGPathElement_getTotalLength(This,pfltResult)	\
    ( (This)->lpVtbl -> getTotalLength(This,pfltResult) ) 

#define ISVGPathElement_getPointAtLength(This,fltdistance,ppPointResult)	\
    ( (This)->lpVtbl -> getPointAtLength(This,fltdistance,ppPointResult) ) 

#define ISVGPathElement_getPathSegAtLength(This,fltdistance,plResult)	\
    ( (This)->lpVtbl -> getPathSegAtLength(This,fltdistance,plResult) ) 

#define ISVGPathElement_createSVGPathSegClosePath(This,ppResult)	\
    ( (This)->lpVtbl -> createSVGPathSegClosePath(This,ppResult) ) 

#define ISVGPathElement_createSVGPathSegMovetoAbs(This,x,y,ppResult)	\
    ( (This)->lpVtbl -> createSVGPathSegMovetoAbs(This,x,y,ppResult) ) 

#define ISVGPathElement_createSVGPathSegMovetoRel(This,x,y,ppResult)	\
    ( (This)->lpVtbl -> createSVGPathSegMovetoRel(This,x,y,ppResult) ) 

#define ISVGPathElement_createSVGPathSegLinetoAbs(This,x,y,ppResult)	\
    ( (This)->lpVtbl -> createSVGPathSegLinetoAbs(This,x,y,ppResult) ) 

#define ISVGPathElement_createSVGPathSegLinetoRel(This,x,y,ppResult)	\
    ( (This)->lpVtbl -> createSVGPathSegLinetoRel(This,x,y,ppResult) ) 

#define ISVGPathElement_createSVGPathSegCurvetoCubicAbs(This,x,y,x1,y1,x2,y2,ppResult)	\
    ( (This)->lpVtbl -> createSVGPathSegCurvetoCubicAbs(This,x,y,x1,y1,x2,y2,ppResult) ) 

#define ISVGPathElement_createSVGPathSegCurvetoCubicRel(This,x,y,x1,y1,x2,y2,ppResult)	\
    ( (This)->lpVtbl -> createSVGPathSegCurvetoCubicRel(This,x,y,x1,y1,x2,y2,ppResult) ) 

#define ISVGPathElement_createSVGPathSegCurvetoQuadraticAbs(This,x,y,x1,y1,ppResult)	\
    ( (This)->lpVtbl -> createSVGPathSegCurvetoQuadraticAbs(This,x,y,x1,y1,ppResult) ) 

#define ISVGPathElement_createSVGPathSegCurvetoQuadraticRel(This,x,y,x1,y1,ppResult)	\
    ( (This)->lpVtbl -> createSVGPathSegCurvetoQuadraticRel(This,x,y,x1,y1,ppResult) ) 

#define ISVGPathElement_createSVGPathSegArcAbs(This,x,y,r1,r2,angle,largeArcFlag,sweepFlag,ppResult)	\
    ( (This)->lpVtbl -> createSVGPathSegArcAbs(This,x,y,r1,r2,angle,largeArcFlag,sweepFlag,ppResult) ) 

#define ISVGPathElement_createSVGPathSegArcRel(This,x,y,r1,r2,angle,largeArcFlag,sweepFlag,ppResult)	\
    ( (This)->lpVtbl -> createSVGPathSegArcRel(This,x,y,r1,r2,angle,largeArcFlag,sweepFlag,ppResult) ) 

#define ISVGPathElement_createSVGPathSegLinetoHorizontalAbs(This,x,ppResult)	\
    ( (This)->lpVtbl -> createSVGPathSegLinetoHorizontalAbs(This,x,ppResult) ) 

#define ISVGPathElement_createSVGPathSegLinetoHorizontalRel(This,x,ppResult)	\
    ( (This)->lpVtbl -> createSVGPathSegLinetoHorizontalRel(This,x,ppResult) ) 

#define ISVGPathElement_createSVGPathSegLinetoVerticalAbs(This,y,ppResult)	\
    ( (This)->lpVtbl -> createSVGPathSegLinetoVerticalAbs(This,y,ppResult) ) 

#define ISVGPathElement_createSVGPathSegLinetoVerticalRel(This,y,ppResult)	\
    ( (This)->lpVtbl -> createSVGPathSegLinetoVerticalRel(This,y,ppResult) ) 

#define ISVGPathElement_createSVGPathSegCurvetoCubicSmoothAbs(This,x,y,x2,y2,ppResult)	\
    ( (This)->lpVtbl -> createSVGPathSegCurvetoCubicSmoothAbs(This,x,y,x2,y2,ppResult) ) 

#define ISVGPathElement_createSVGPathSegCurvetoCubicSmoothRel(This,x,y,x2,y2,ppResult)	\
    ( (This)->lpVtbl -> createSVGPathSegCurvetoCubicSmoothRel(This,x,y,x2,y2,ppResult) ) 

#define ISVGPathElement_createSVGPathSegCurvetoQuadraticSmoothAbs(This,x,y,ppResult)	\
    ( (This)->lpVtbl -> createSVGPathSegCurvetoQuadraticSmoothAbs(This,x,y,ppResult) ) 

#define ISVGPathElement_createSVGPathSegCurvetoQuadraticSmoothRel(This,x,y,ppResult)	\
    ( (This)->lpVtbl -> createSVGPathSegCurvetoQuadraticSmoothRel(This,x,y,ppResult) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPathElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGPathElement_DISPINTERFACE_DEFINED__
#define __DispSVGPathElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGPathElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGPathElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590011-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGPathElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGPathElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGPathElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGPathElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGPathElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGPathElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGPathElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGPathElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGPathElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGPathElementVtbl;

    interface DispSVGPathElement
    {
        CONST_VTBL struct DispSVGPathElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGPathElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGPathElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGPathElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGPathElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGPathElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGPathElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGPathElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGPathElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPathElement;

#ifdef __cplusplus

class DECLSPEC_UUID("305105b2-98b5-11cf-bb82-00aa00bdce0b")
SVGPathElement;
#endif

#ifndef __ISVGPreserveAspectRatio_INTERFACE_DEFINED__
#define __ISVGPreserveAspectRatio_INTERFACE_DEFINED__

/* interface ISVGPreserveAspectRatio */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGPreserveAspectRatio;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104fa-98b5-11cf-bb82-00aa00bdce0b")
    ISVGPreserveAspectRatio : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_align( 
            /* [in] */ short v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_align( 
            /* [out][retval] */ __RPC__out short *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_meetOrSlice( 
            /* [in] */ short v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_meetOrSlice( 
            /* [out][retval] */ __RPC__out short *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGPreserveAspectRatioVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGPreserveAspectRatio * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGPreserveAspectRatio * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGPreserveAspectRatio * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGPreserveAspectRatio * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGPreserveAspectRatio * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGPreserveAspectRatio * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGPreserveAspectRatio * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_align )( 
            __RPC__in ISVGPreserveAspectRatio * This,
            /* [in] */ short v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_align )( 
            __RPC__in ISVGPreserveAspectRatio * This,
            /* [out][retval] */ __RPC__out short *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_meetOrSlice )( 
            __RPC__in ISVGPreserveAspectRatio * This,
            /* [in] */ short v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_meetOrSlice )( 
            __RPC__in ISVGPreserveAspectRatio * This,
            /* [out][retval] */ __RPC__out short *p);
        
        END_INTERFACE
    } ISVGPreserveAspectRatioVtbl;

    interface ISVGPreserveAspectRatio
    {
        CONST_VTBL struct ISVGPreserveAspectRatioVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGPreserveAspectRatio_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGPreserveAspectRatio_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGPreserveAspectRatio_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGPreserveAspectRatio_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGPreserveAspectRatio_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGPreserveAspectRatio_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGPreserveAspectRatio_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGPreserveAspectRatio_put_align(This,v)	\
    ( (This)->lpVtbl -> put_align(This,v) ) 

#define ISVGPreserveAspectRatio_get_align(This,p)	\
    ( (This)->lpVtbl -> get_align(This,p) ) 

#define ISVGPreserveAspectRatio_put_meetOrSlice(This,v)	\
    ( (This)->lpVtbl -> put_meetOrSlice(This,v) ) 

#define ISVGPreserveAspectRatio_get_meetOrSlice(This,p)	\
    ( (This)->lpVtbl -> get_meetOrSlice(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGPreserveAspectRatio_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGPreserveAspectRatio;

#ifdef __cplusplus

class DECLSPEC_UUID("305105d0-98b5-11cf-bb82-00aa00bdce0b")
SVGPreserveAspectRatio;
#endif

#ifndef __ISVGTextElement_INTERFACE_DEFINED__
#define __ISVGTextElement_INTERFACE_DEFINED__

/* interface ISVGTextElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGTextElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051051c-98b5-11cf-bb82-00aa00bdce0b")
    ISVGTextElement : public IDispatch
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGTextElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGTextElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGTextElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGTextElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGTextElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGTextElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGTextElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGTextElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } ISVGTextElementVtbl;

    interface ISVGTextElement
    {
        CONST_VTBL struct ISVGTextElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGTextElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGTextElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGTextElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGTextElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGTextElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGTextElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGTextElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGTextElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGTextElement_DISPINTERFACE_DEFINED__
#define __DispSVGTextElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGTextElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGTextElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590037-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGTextElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGTextElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGTextElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGTextElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGTextElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGTextElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGTextElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGTextElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGTextElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGTextElementVtbl;

    interface DispSVGTextElement
    {
        CONST_VTBL struct DispSVGTextElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGTextElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGTextElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGTextElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGTextElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGTextElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGTextElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGTextElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGTextElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGTextElement;

#ifdef __cplusplus

class DECLSPEC_UUID("305105df-98b5-11cf-bb82-00aa00bdce0b")
SVGTextElement;
#endif

EXTERN_C const CLSID CLSID_SVGAnimatedPreserveAspectRatio;

#ifdef __cplusplus

class DECLSPEC_UUID("305105ce-98b5-11cf-bb82-00aa00bdce0b")
SVGAnimatedPreserveAspectRatio;
#endif

#ifndef __ISVGImageElement_INTERFACE_DEFINED__
#define __ISVGImageElement_INTERFACE_DEFINED__

/* interface ISVGImageElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGImageElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104f0-98b5-11cf-bb82-00aa00bdce0b")
    ISVGImageElement : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_x( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_y( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_width( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_height( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGImageElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGImageElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGImageElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGImageElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGImageElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGImageElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGImageElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGImageElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_x )( 
            __RPC__in ISVGImageElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in ISVGImageElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_y )( 
            __RPC__in ISVGImageElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in ISVGImageElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_width )( 
            __RPC__in ISVGImageElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in ISVGImageElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_height )( 
            __RPC__in ISVGImageElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in ISVGImageElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        END_INTERFACE
    } ISVGImageElementVtbl;

    interface ISVGImageElement
    {
        CONST_VTBL struct ISVGImageElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGImageElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGImageElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGImageElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGImageElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGImageElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGImageElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGImageElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGImageElement_putref_x(This,v)	\
    ( (This)->lpVtbl -> putref_x(This,v) ) 

#define ISVGImageElement_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#define ISVGImageElement_putref_y(This,v)	\
    ( (This)->lpVtbl -> putref_y(This,v) ) 

#define ISVGImageElement_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#define ISVGImageElement_putref_width(This,v)	\
    ( (This)->lpVtbl -> putref_width(This,v) ) 

#define ISVGImageElement_get_width(This,p)	\
    ( (This)->lpVtbl -> get_width(This,p) ) 

#define ISVGImageElement_putref_height(This,v)	\
    ( (This)->lpVtbl -> putref_height(This,v) ) 

#define ISVGImageElement_get_height(This,p)	\
    ( (This)->lpVtbl -> get_height(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGImageElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGImageElement_DISPINTERFACE_DEFINED__
#define __DispSVGImageElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGImageElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGImageElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590027-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGImageElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGImageElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGImageElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGImageElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGImageElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGImageElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGImageElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGImageElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGImageElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGImageElementVtbl;

    interface DispSVGImageElement
    {
        CONST_VTBL struct DispSVGImageElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGImageElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGImageElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGImageElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGImageElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGImageElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGImageElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGImageElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGImageElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGImageElement;

#ifdef __cplusplus

class DECLSPEC_UUID("305105cf-98b5-11cf-bb82-00aa00bdce0b")
SVGImageElement;
#endif

#ifndef __ISVGStopElement_INTERFACE_DEFINED__
#define __ISVGStopElement_INTERFACE_DEFINED__

/* interface ISVGStopElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGStopElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051052b-98b5-11cf-bb82-00aa00bdce0b")
    ISVGStopElement : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_offset( 
            /* [in] */ __RPC__in_opt ISVGAnimatedNumber *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_offset( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedNumber **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGStopElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGStopElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGStopElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGStopElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGStopElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGStopElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGStopElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGStopElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_offset )( 
            __RPC__in ISVGStopElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedNumber *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offset )( 
            __RPC__in ISVGStopElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedNumber **p);
        
        END_INTERFACE
    } ISVGStopElementVtbl;

    interface ISVGStopElement
    {
        CONST_VTBL struct ISVGStopElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGStopElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGStopElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGStopElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGStopElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGStopElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGStopElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGStopElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGStopElement_putref_offset(This,v)	\
    ( (This)->lpVtbl -> putref_offset(This,v) ) 

#define ISVGStopElement_get_offset(This,p)	\
    ( (This)->lpVtbl -> get_offset(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGStopElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGStopElement_DISPINTERFACE_DEFINED__
#define __DispSVGStopElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGStopElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGStopElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059002d-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGStopElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGStopElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGStopElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGStopElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGStopElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGStopElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGStopElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGStopElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGStopElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGStopElementVtbl;

    interface DispSVGStopElement
    {
        CONST_VTBL struct DispSVGStopElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGStopElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGStopElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGStopElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGStopElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGStopElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGStopElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGStopElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGStopElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGStopElement;

#ifdef __cplusplus

class DECLSPEC_UUID("305105d5-98b5-11cf-bb82-00aa00bdce0b")
SVGStopElement;
#endif

#ifndef __ISVGGradientElement_INTERFACE_DEFINED__
#define __ISVGGradientElement_INTERFACE_DEFINED__

/* interface ISVGGradientElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGGradientElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510528-98b5-11cf-bb82-00aa00bdce0b")
    ISVGGradientElement : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_gradientUnits( 
            /* [in] */ __RPC__in_opt ISVGAnimatedEnumeration *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_gradientUnits( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedEnumeration **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_gradientTransform( 
            /* [in] */ __RPC__in_opt ISVGAnimatedTransformList *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_gradientTransform( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedTransformList **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_spreadMethod( 
            /* [in] */ __RPC__in_opt ISVGAnimatedEnumeration *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_spreadMethod( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedEnumeration **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGGradientElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGGradientElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGGradientElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGGradientElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGGradientElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGGradientElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGGradientElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGGradientElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_gradientUnits )( 
            __RPC__in ISVGGradientElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedEnumeration *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_gradientUnits )( 
            __RPC__in ISVGGradientElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedEnumeration **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_gradientTransform )( 
            __RPC__in ISVGGradientElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedTransformList *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_gradientTransform )( 
            __RPC__in ISVGGradientElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedTransformList **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_spreadMethod )( 
            __RPC__in ISVGGradientElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedEnumeration *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_spreadMethod )( 
            __RPC__in ISVGGradientElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedEnumeration **p);
        
        END_INTERFACE
    } ISVGGradientElementVtbl;

    interface ISVGGradientElement
    {
        CONST_VTBL struct ISVGGradientElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGGradientElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGGradientElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGGradientElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGGradientElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGGradientElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGGradientElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGGradientElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGGradientElement_putref_gradientUnits(This,v)	\
    ( (This)->lpVtbl -> putref_gradientUnits(This,v) ) 

#define ISVGGradientElement_get_gradientUnits(This,p)	\
    ( (This)->lpVtbl -> get_gradientUnits(This,p) ) 

#define ISVGGradientElement_putref_gradientTransform(This,v)	\
    ( (This)->lpVtbl -> putref_gradientTransform(This,v) ) 

#define ISVGGradientElement_get_gradientTransform(This,p)	\
    ( (This)->lpVtbl -> get_gradientTransform(This,p) ) 

#define ISVGGradientElement_putref_spreadMethod(This,v)	\
    ( (This)->lpVtbl -> putref_spreadMethod(This,v) ) 

#define ISVGGradientElement_get_spreadMethod(This,p)	\
    ( (This)->lpVtbl -> get_spreadMethod(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGGradientElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGGradientElement_DISPINTERFACE_DEFINED__
#define __DispSVGGradientElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGGradientElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGGradientElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059002e-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGGradientElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGGradientElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGGradientElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGGradientElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGGradientElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGGradientElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGGradientElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGGradientElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGGradientElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGGradientElementVtbl;

    interface DispSVGGradientElement
    {
        CONST_VTBL struct DispSVGGradientElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGGradientElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGGradientElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGGradientElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGGradientElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGGradientElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGGradientElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGGradientElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGGradientElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGGradientElement;

#ifdef __cplusplus

class DECLSPEC_UUID("305105d6-98b5-11cf-bb82-00aa00bdce0b")
SVGGradientElement;
#endif

#ifndef __ISVGLinearGradientElement_INTERFACE_DEFINED__
#define __ISVGLinearGradientElement_INTERFACE_DEFINED__

/* interface ISVGLinearGradientElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGLinearGradientElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510529-98b5-11cf-bb82-00aa00bdce0b")
    ISVGLinearGradientElement : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_x1( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x1( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_y1( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y1( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_x2( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x2( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_y2( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y2( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGLinearGradientElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGLinearGradientElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGLinearGradientElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGLinearGradientElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGLinearGradientElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGLinearGradientElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGLinearGradientElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGLinearGradientElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_x1 )( 
            __RPC__in ISVGLinearGradientElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x1 )( 
            __RPC__in ISVGLinearGradientElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_y1 )( 
            __RPC__in ISVGLinearGradientElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y1 )( 
            __RPC__in ISVGLinearGradientElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_x2 )( 
            __RPC__in ISVGLinearGradientElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x2 )( 
            __RPC__in ISVGLinearGradientElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_y2 )( 
            __RPC__in ISVGLinearGradientElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y2 )( 
            __RPC__in ISVGLinearGradientElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        END_INTERFACE
    } ISVGLinearGradientElementVtbl;

    interface ISVGLinearGradientElement
    {
        CONST_VTBL struct ISVGLinearGradientElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGLinearGradientElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGLinearGradientElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGLinearGradientElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGLinearGradientElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGLinearGradientElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGLinearGradientElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGLinearGradientElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGLinearGradientElement_putref_x1(This,v)	\
    ( (This)->lpVtbl -> putref_x1(This,v) ) 

#define ISVGLinearGradientElement_get_x1(This,p)	\
    ( (This)->lpVtbl -> get_x1(This,p) ) 

#define ISVGLinearGradientElement_putref_y1(This,v)	\
    ( (This)->lpVtbl -> putref_y1(This,v) ) 

#define ISVGLinearGradientElement_get_y1(This,p)	\
    ( (This)->lpVtbl -> get_y1(This,p) ) 

#define ISVGLinearGradientElement_putref_x2(This,v)	\
    ( (This)->lpVtbl -> putref_x2(This,v) ) 

#define ISVGLinearGradientElement_get_x2(This,p)	\
    ( (This)->lpVtbl -> get_x2(This,p) ) 

#define ISVGLinearGradientElement_putref_y2(This,v)	\
    ( (This)->lpVtbl -> putref_y2(This,v) ) 

#define ISVGLinearGradientElement_get_y2(This,p)	\
    ( (This)->lpVtbl -> get_y2(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGLinearGradientElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGLinearGradientElement_DISPINTERFACE_DEFINED__
#define __DispSVGLinearGradientElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGLinearGradientElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGLinearGradientElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059002a-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGLinearGradientElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGLinearGradientElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGLinearGradientElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGLinearGradientElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGLinearGradientElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGLinearGradientElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGLinearGradientElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGLinearGradientElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGLinearGradientElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGLinearGradientElementVtbl;

    interface DispSVGLinearGradientElement
    {
        CONST_VTBL struct DispSVGLinearGradientElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGLinearGradientElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGLinearGradientElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGLinearGradientElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGLinearGradientElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGLinearGradientElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGLinearGradientElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGLinearGradientElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGLinearGradientElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGLinearGradientElement;

#ifdef __cplusplus

class DECLSPEC_UUID("305105d2-98b5-11cf-bb82-00aa00bdce0b")
SVGLinearGradientElement;
#endif

#ifndef __ISVGRadialGradientElement_INTERFACE_DEFINED__
#define __ISVGRadialGradientElement_INTERFACE_DEFINED__

/* interface ISVGRadialGradientElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGRadialGradientElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051052a-98b5-11cf-bb82-00aa00bdce0b")
    ISVGRadialGradientElement : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_cx( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cx( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_cy( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cy( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_r( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_r( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_fx( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_fx( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_fy( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_fy( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGRadialGradientElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGRadialGradientElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGRadialGradientElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGRadialGradientElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGRadialGradientElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGRadialGradientElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGRadialGradientElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGRadialGradientElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_cx )( 
            __RPC__in ISVGRadialGradientElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cx )( 
            __RPC__in ISVGRadialGradientElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_cy )( 
            __RPC__in ISVGRadialGradientElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cy )( 
            __RPC__in ISVGRadialGradientElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_r )( 
            __RPC__in ISVGRadialGradientElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_r )( 
            __RPC__in ISVGRadialGradientElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_fx )( 
            __RPC__in ISVGRadialGradientElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fx )( 
            __RPC__in ISVGRadialGradientElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_fy )( 
            __RPC__in ISVGRadialGradientElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fy )( 
            __RPC__in ISVGRadialGradientElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        END_INTERFACE
    } ISVGRadialGradientElementVtbl;

    interface ISVGRadialGradientElement
    {
        CONST_VTBL struct ISVGRadialGradientElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGRadialGradientElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGRadialGradientElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGRadialGradientElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGRadialGradientElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGRadialGradientElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGRadialGradientElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGRadialGradientElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGRadialGradientElement_putref_cx(This,v)	\
    ( (This)->lpVtbl -> putref_cx(This,v) ) 

#define ISVGRadialGradientElement_get_cx(This,p)	\
    ( (This)->lpVtbl -> get_cx(This,p) ) 

#define ISVGRadialGradientElement_putref_cy(This,v)	\
    ( (This)->lpVtbl -> putref_cy(This,v) ) 

#define ISVGRadialGradientElement_get_cy(This,p)	\
    ( (This)->lpVtbl -> get_cy(This,p) ) 

#define ISVGRadialGradientElement_putref_r(This,v)	\
    ( (This)->lpVtbl -> putref_r(This,v) ) 

#define ISVGRadialGradientElement_get_r(This,p)	\
    ( (This)->lpVtbl -> get_r(This,p) ) 

#define ISVGRadialGradientElement_putref_fx(This,v)	\
    ( (This)->lpVtbl -> putref_fx(This,v) ) 

#define ISVGRadialGradientElement_get_fx(This,p)	\
    ( (This)->lpVtbl -> get_fx(This,p) ) 

#define ISVGRadialGradientElement_putref_fy(This,v)	\
    ( (This)->lpVtbl -> putref_fy(This,v) ) 

#define ISVGRadialGradientElement_get_fy(This,p)	\
    ( (This)->lpVtbl -> get_fy(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGRadialGradientElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGRadialGradientElement_DISPINTERFACE_DEFINED__
#define __DispSVGRadialGradientElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGRadialGradientElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGRadialGradientElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059002b-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGRadialGradientElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGRadialGradientElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGRadialGradientElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGRadialGradientElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGRadialGradientElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGRadialGradientElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGRadialGradientElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGRadialGradientElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGRadialGradientElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGRadialGradientElementVtbl;

    interface DispSVGRadialGradientElement
    {
        CONST_VTBL struct DispSVGRadialGradientElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGRadialGradientElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGRadialGradientElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGRadialGradientElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGRadialGradientElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGRadialGradientElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGRadialGradientElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGRadialGradientElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGRadialGradientElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGRadialGradientElement;

#ifdef __cplusplus

class DECLSPEC_UUID("305105d3-98b5-11cf-bb82-00aa00bdce0b")
SVGRadialGradientElement;
#endif

#ifndef __ISVGMaskElement_INTERFACE_DEFINED__
#define __ISVGMaskElement_INTERFACE_DEFINED__

/* interface ISVGMaskElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGMaskElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051052e-98b5-11cf-bb82-00aa00bdce0b")
    ISVGMaskElement : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_maskUnits( 
            /* [in] */ __RPC__in_opt ISVGAnimatedEnumeration *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_maskUnits( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedEnumeration **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_maskContentUnits( 
            /* [in] */ __RPC__in_opt ISVGAnimatedEnumeration *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_maskContentUnits( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedEnumeration **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_x( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_y( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_width( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_height( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGMaskElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGMaskElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGMaskElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGMaskElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGMaskElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGMaskElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGMaskElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGMaskElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_maskUnits )( 
            __RPC__in ISVGMaskElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedEnumeration *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_maskUnits )( 
            __RPC__in ISVGMaskElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedEnumeration **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_maskContentUnits )( 
            __RPC__in ISVGMaskElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedEnumeration *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_maskContentUnits )( 
            __RPC__in ISVGMaskElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedEnumeration **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_x )( 
            __RPC__in ISVGMaskElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in ISVGMaskElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_y )( 
            __RPC__in ISVGMaskElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in ISVGMaskElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_width )( 
            __RPC__in ISVGMaskElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in ISVGMaskElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_height )( 
            __RPC__in ISVGMaskElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in ISVGMaskElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        END_INTERFACE
    } ISVGMaskElementVtbl;

    interface ISVGMaskElement
    {
        CONST_VTBL struct ISVGMaskElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGMaskElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGMaskElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGMaskElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGMaskElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGMaskElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGMaskElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGMaskElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGMaskElement_putref_maskUnits(This,v)	\
    ( (This)->lpVtbl -> putref_maskUnits(This,v) ) 

#define ISVGMaskElement_get_maskUnits(This,p)	\
    ( (This)->lpVtbl -> get_maskUnits(This,p) ) 

#define ISVGMaskElement_putref_maskContentUnits(This,v)	\
    ( (This)->lpVtbl -> putref_maskContentUnits(This,v) ) 

#define ISVGMaskElement_get_maskContentUnits(This,p)	\
    ( (This)->lpVtbl -> get_maskContentUnits(This,p) ) 

#define ISVGMaskElement_putref_x(This,v)	\
    ( (This)->lpVtbl -> putref_x(This,v) ) 

#define ISVGMaskElement_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#define ISVGMaskElement_putref_y(This,v)	\
    ( (This)->lpVtbl -> putref_y(This,v) ) 

#define ISVGMaskElement_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#define ISVGMaskElement_putref_width(This,v)	\
    ( (This)->lpVtbl -> putref_width(This,v) ) 

#define ISVGMaskElement_get_width(This,p)	\
    ( (This)->lpVtbl -> get_width(This,p) ) 

#define ISVGMaskElement_putref_height(This,v)	\
    ( (This)->lpVtbl -> putref_height(This,v) ) 

#define ISVGMaskElement_get_height(This,p)	\
    ( (This)->lpVtbl -> get_height(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGMaskElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGMaskElement_DISPINTERFACE_DEFINED__
#define __DispSVGMaskElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGMaskElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGMaskElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059003C-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGMaskElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGMaskElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGMaskElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGMaskElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGMaskElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGMaskElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGMaskElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGMaskElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGMaskElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGMaskElementVtbl;

    interface DispSVGMaskElement
    {
        CONST_VTBL struct DispSVGMaskElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGMaskElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGMaskElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGMaskElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGMaskElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGMaskElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGMaskElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGMaskElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGMaskElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGMaskElement;

#ifdef __cplusplus

class DECLSPEC_UUID("305105e7-98b5-11cf-bb82-00aa00bdce0b")
SVGMaskElement;
#endif

#ifndef __ISVGMarkerElement_INTERFACE_DEFINED__
#define __ISVGMarkerElement_INTERFACE_DEFINED__

/* interface ISVGMarkerElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGMarkerElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510525-98b5-11cf-bb82-00aa00bdce0b")
    ISVGMarkerElement : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_refX( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_refX( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_refY( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_refY( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_markerUnits( 
            /* [in] */ __RPC__in_opt ISVGAnimatedEnumeration *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_markerUnits( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedEnumeration **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_markerWidth( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_markerWidth( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_markerHeight( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_markerHeight( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_orientType( 
            /* [in] */ __RPC__in_opt ISVGAnimatedEnumeration *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_orientType( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedEnumeration **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_orientAngle( 
            /* [in] */ __RPC__in_opt ISVGAnimatedAngle *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_orientAngle( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedAngle **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setOrientToAuto( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setOrientToAngle( 
            /* [in] */ __RPC__in_opt ISVGAngle *pSVGAngle) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGMarkerElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGMarkerElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGMarkerElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGMarkerElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGMarkerElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGMarkerElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGMarkerElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGMarkerElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_refX )( 
            __RPC__in ISVGMarkerElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_refX )( 
            __RPC__in ISVGMarkerElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_refY )( 
            __RPC__in ISVGMarkerElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_refY )( 
            __RPC__in ISVGMarkerElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_markerUnits )( 
            __RPC__in ISVGMarkerElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedEnumeration *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_markerUnits )( 
            __RPC__in ISVGMarkerElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedEnumeration **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_markerWidth )( 
            __RPC__in ISVGMarkerElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_markerWidth )( 
            __RPC__in ISVGMarkerElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_markerHeight )( 
            __RPC__in ISVGMarkerElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_markerHeight )( 
            __RPC__in ISVGMarkerElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_orientType )( 
            __RPC__in ISVGMarkerElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedEnumeration *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_orientType )( 
            __RPC__in ISVGMarkerElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedEnumeration **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_orientAngle )( 
            __RPC__in ISVGMarkerElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedAngle *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_orientAngle )( 
            __RPC__in ISVGMarkerElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedAngle **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setOrientToAuto )( 
            __RPC__in ISVGMarkerElement * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setOrientToAngle )( 
            __RPC__in ISVGMarkerElement * This,
            /* [in] */ __RPC__in_opt ISVGAngle *pSVGAngle);
        
        END_INTERFACE
    } ISVGMarkerElementVtbl;

    interface ISVGMarkerElement
    {
        CONST_VTBL struct ISVGMarkerElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGMarkerElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGMarkerElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGMarkerElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGMarkerElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGMarkerElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGMarkerElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGMarkerElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGMarkerElement_putref_refX(This,v)	\
    ( (This)->lpVtbl -> putref_refX(This,v) ) 

#define ISVGMarkerElement_get_refX(This,p)	\
    ( (This)->lpVtbl -> get_refX(This,p) ) 

#define ISVGMarkerElement_putref_refY(This,v)	\
    ( (This)->lpVtbl -> putref_refY(This,v) ) 

#define ISVGMarkerElement_get_refY(This,p)	\
    ( (This)->lpVtbl -> get_refY(This,p) ) 

#define ISVGMarkerElement_putref_markerUnits(This,v)	\
    ( (This)->lpVtbl -> putref_markerUnits(This,v) ) 

#define ISVGMarkerElement_get_markerUnits(This,p)	\
    ( (This)->lpVtbl -> get_markerUnits(This,p) ) 

#define ISVGMarkerElement_putref_markerWidth(This,v)	\
    ( (This)->lpVtbl -> putref_markerWidth(This,v) ) 

#define ISVGMarkerElement_get_markerWidth(This,p)	\
    ( (This)->lpVtbl -> get_markerWidth(This,p) ) 

#define ISVGMarkerElement_putref_markerHeight(This,v)	\
    ( (This)->lpVtbl -> putref_markerHeight(This,v) ) 

#define ISVGMarkerElement_get_markerHeight(This,p)	\
    ( (This)->lpVtbl -> get_markerHeight(This,p) ) 

#define ISVGMarkerElement_putref_orientType(This,v)	\
    ( (This)->lpVtbl -> putref_orientType(This,v) ) 

#define ISVGMarkerElement_get_orientType(This,p)	\
    ( (This)->lpVtbl -> get_orientType(This,p) ) 

#define ISVGMarkerElement_putref_orientAngle(This,v)	\
    ( (This)->lpVtbl -> putref_orientAngle(This,v) ) 

#define ISVGMarkerElement_get_orientAngle(This,p)	\
    ( (This)->lpVtbl -> get_orientAngle(This,p) ) 

#define ISVGMarkerElement_setOrientToAuto(This)	\
    ( (This)->lpVtbl -> setOrientToAuto(This) ) 

#define ISVGMarkerElement_setOrientToAngle(This,pSVGAngle)	\
    ( (This)->lpVtbl -> setOrientToAngle(This,pSVGAngle) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGMarkerElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGMarkerElement_DISPINTERFACE_DEFINED__
#define __DispSVGMarkerElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGMarkerElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGMarkerElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590036-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGMarkerElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGMarkerElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGMarkerElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGMarkerElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGMarkerElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGMarkerElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGMarkerElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGMarkerElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGMarkerElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGMarkerElementVtbl;

    interface DispSVGMarkerElement
    {
        CONST_VTBL struct DispSVGMarkerElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGMarkerElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGMarkerElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGMarkerElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGMarkerElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGMarkerElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGMarkerElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGMarkerElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGMarkerElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGMarkerElement;

#ifdef __cplusplus

class DECLSPEC_UUID("305105de-98b5-11cf-bb82-00aa00bdce0b")
SVGMarkerElement;
#endif

#ifndef __ISVGZoomEvent_INTERFACE_DEFINED__
#define __ISVGZoomEvent_INTERFACE_DEFINED__

/* interface ISVGZoomEvent */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGZoomEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051054e-98b5-11cf-bb82-00aa00bdce0b")
    ISVGZoomEvent : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_zoomRectScreen( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGRect **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_previousScale( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_previousTranslate( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_newScale( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_newTranslate( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGZoomEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGZoomEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGZoomEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGZoomEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGZoomEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGZoomEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGZoomEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGZoomEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_zoomRectScreen )( 
            __RPC__in ISVGZoomEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGRect **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_previousScale )( 
            __RPC__in ISVGZoomEvent * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_previousTranslate )( 
            __RPC__in ISVGZoomEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_newScale )( 
            __RPC__in ISVGZoomEvent * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_newTranslate )( 
            __RPC__in ISVGZoomEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **p);
        
        END_INTERFACE
    } ISVGZoomEventVtbl;

    interface ISVGZoomEvent
    {
        CONST_VTBL struct ISVGZoomEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGZoomEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGZoomEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGZoomEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGZoomEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGZoomEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGZoomEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGZoomEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGZoomEvent_get_zoomRectScreen(This,p)	\
    ( (This)->lpVtbl -> get_zoomRectScreen(This,p) ) 

#define ISVGZoomEvent_get_previousScale(This,p)	\
    ( (This)->lpVtbl -> get_previousScale(This,p) ) 

#define ISVGZoomEvent_get_previousTranslate(This,p)	\
    ( (This)->lpVtbl -> get_previousTranslate(This,p) ) 

#define ISVGZoomEvent_get_newScale(This,p)	\
    ( (This)->lpVtbl -> get_newScale(This,p) ) 

#define ISVGZoomEvent_get_newTranslate(This,p)	\
    ( (This)->lpVtbl -> get_newTranslate(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGZoomEvent_INTERFACE_DEFINED__ */


#ifndef __DispSVGZoomEvent_DISPINTERFACE_DEFINED__
#define __DispSVGZoomEvent_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGZoomEvent */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGZoomEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590031-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGZoomEvent : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGZoomEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGZoomEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGZoomEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGZoomEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGZoomEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGZoomEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGZoomEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGZoomEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGZoomEventVtbl;

    interface DispSVGZoomEvent
    {
        CONST_VTBL struct DispSVGZoomEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGZoomEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGZoomEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGZoomEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGZoomEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGZoomEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGZoomEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGZoomEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGZoomEvent_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGZoomEvent;

#ifdef __cplusplus

class DECLSPEC_UUID("305105d9-98b5-11cf-bb82-00aa00bdce0b")
SVGZoomEvent;
#endif

#ifndef __ISVGAElement_INTERFACE_DEFINED__
#define __ISVGAElement_INTERFACE_DEFINED__

/* interface ISVGAElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGAElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051054b-98b5-11cf-bb82-00aa00bdce0b")
    ISVGAElement : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_target( 
            /* [in] */ __RPC__in_opt ISVGAnimatedString *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_target( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedString **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGAElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGAElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGAElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGAElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGAElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGAElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGAElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGAElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_target )( 
            __RPC__in ISVGAElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedString *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_target )( 
            __RPC__in ISVGAElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedString **p);
        
        END_INTERFACE
    } ISVGAElementVtbl;

    interface ISVGAElement
    {
        CONST_VTBL struct ISVGAElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGAElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGAElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGAElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGAElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGAElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGAElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGAElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGAElement_putref_target(This,v)	\
    ( (This)->lpVtbl -> putref_target(This,v) ) 

#define ISVGAElement_get_target(This,p)	\
    ( (This)->lpVtbl -> get_target(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGAElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGAElement_DISPINTERFACE_DEFINED__
#define __DispSVGAElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGAElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGAElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590033-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGAElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGAElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGAElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGAElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGAElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGAElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGAElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGAElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGAElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGAElementVtbl;

    interface DispSVGAElement
    {
        CONST_VTBL struct DispSVGAElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGAElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGAElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGAElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGAElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGAElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGAElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGAElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGAElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGAElement;

#ifdef __cplusplus

class DECLSPEC_UUID("305105db-98b5-11cf-bb82-00aa00bdce0b")
SVGAElement;
#endif

#ifndef __ISVGViewElement_INTERFACE_DEFINED__
#define __ISVGViewElement_INTERFACE_DEFINED__

/* interface ISVGViewElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGViewElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051054c-98b5-11cf-bb82-00aa00bdce0b")
    ISVGViewElement : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_viewTarget( 
            /* [in] */ __RPC__in_opt ISVGStringList *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_viewTarget( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGStringList **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGViewElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGViewElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGViewElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGViewElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGViewElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGViewElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGViewElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGViewElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_viewTarget )( 
            __RPC__in ISVGViewElement * This,
            /* [in] */ __RPC__in_opt ISVGStringList *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_viewTarget )( 
            __RPC__in ISVGViewElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGStringList **p);
        
        END_INTERFACE
    } ISVGViewElementVtbl;

    interface ISVGViewElement
    {
        CONST_VTBL struct ISVGViewElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGViewElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGViewElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGViewElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGViewElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGViewElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGViewElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGViewElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGViewElement_putref_viewTarget(This,v)	\
    ( (This)->lpVtbl -> putref_viewTarget(This,v) ) 

#define ISVGViewElement_get_viewTarget(This,p)	\
    ( (This)->lpVtbl -> get_viewTarget(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGViewElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGViewElement_DISPINTERFACE_DEFINED__
#define __DispSVGViewElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGViewElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGViewElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590034-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGViewElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGViewElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGViewElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGViewElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGViewElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGViewElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGViewElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGViewElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGViewElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGViewElementVtbl;

    interface DispSVGViewElement
    {
        CONST_VTBL struct DispSVGViewElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGViewElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGViewElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGViewElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGViewElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGViewElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGViewElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGViewElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGViewElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGViewElement;

#ifdef __cplusplus

class DECLSPEC_UUID("305105dc-98b5-11cf-bb82-00aa00bdce0b")
SVGViewElement;
#endif

#ifndef __IHTMLMediaError_INTERFACE_DEFINED__
#define __IHTMLMediaError_INTERFACE_DEFINED__

/* interface IHTMLMediaError */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLMediaError;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510704-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLMediaError : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_code( 
            /* [out][retval] */ __RPC__out short *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLMediaErrorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLMediaError * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLMediaError * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLMediaError * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLMediaError * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLMediaError * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLMediaError * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLMediaError * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_code )( 
            __RPC__in IHTMLMediaError * This,
            /* [out][retval] */ __RPC__out short *p);
        
        END_INTERFACE
    } IHTMLMediaErrorVtbl;

    interface IHTMLMediaError
    {
        CONST_VTBL struct IHTMLMediaErrorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLMediaError_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLMediaError_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLMediaError_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLMediaError_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLMediaError_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLMediaError_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLMediaError_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLMediaError_get_code(This,p)	\
    ( (This)->lpVtbl -> get_code(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLMediaError_INTERFACE_DEFINED__ */


#ifndef __IHTMLTimeRanges_INTERFACE_DEFINED__
#define __IHTMLTimeRanges_INTERFACE_DEFINED__

/* interface IHTMLTimeRanges */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTimeRanges;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510705-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTimeRanges : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE start( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__out float *startTime) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE end( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__out float *endTime) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTimeRangesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTimeRanges * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTimeRanges * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTimeRanges * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTimeRanges * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTimeRanges * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTimeRanges * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTimeRanges * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLTimeRanges * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *start )( 
            __RPC__in IHTMLTimeRanges * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__out float *startTime);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *end )( 
            __RPC__in IHTMLTimeRanges * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__out float *endTime);
        
        END_INTERFACE
    } IHTMLTimeRangesVtbl;

    interface IHTMLTimeRanges
    {
        CONST_VTBL struct IHTMLTimeRangesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLTimeRanges_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLTimeRanges_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLTimeRanges_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLTimeRanges_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLTimeRanges_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLTimeRanges_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLTimeRanges_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLTimeRanges_get_length(This,p)	\
    ( (This)->lpVtbl -> get_length(This,p) ) 

#define IHTMLTimeRanges_start(This,index,startTime)	\
    ( (This)->lpVtbl -> start(This,index,startTime) ) 

#define IHTMLTimeRanges_end(This,index,endTime)	\
    ( (This)->lpVtbl -> end(This,index,endTime) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTimeRanges_INTERFACE_DEFINED__ */


#ifndef __IHTMLTimeRanges2_INTERFACE_DEFINED__
#define __IHTMLTimeRanges2_INTERFACE_DEFINED__

/* interface IHTMLTimeRanges2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLTimeRanges2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051080B-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLTimeRanges2 : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE startDouble( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__out double *startTime) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE endDouble( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__out double *endTime) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLTimeRanges2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLTimeRanges2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLTimeRanges2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLTimeRanges2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLTimeRanges2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLTimeRanges2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLTimeRanges2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLTimeRanges2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *startDouble )( 
            __RPC__in IHTMLTimeRanges2 * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__out double *startTime);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *endDouble )( 
            __RPC__in IHTMLTimeRanges2 * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__out double *endTime);
        
        END_INTERFACE
    } IHTMLTimeRanges2Vtbl;

    interface IHTMLTimeRanges2
    {
        CONST_VTBL struct IHTMLTimeRanges2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLTimeRanges2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLTimeRanges2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLTimeRanges2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLTimeRanges2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLTimeRanges2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLTimeRanges2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLTimeRanges2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLTimeRanges2_startDouble(This,index,startTime)	\
    ( (This)->lpVtbl -> startDouble(This,index,startTime) ) 

#define IHTMLTimeRanges2_endDouble(This,index,endTime)	\
    ( (This)->lpVtbl -> endDouble(This,index,endTime) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLTimeRanges2_INTERFACE_DEFINED__ */


#ifndef __IHTMLMediaElement_INTERFACE_DEFINED__
#define __IHTMLMediaElement_INTERFACE_DEFINED__

/* interface IHTMLMediaElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLMediaElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510706-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLMediaElement : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_error( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLMediaError **p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_src( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_src( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_currentSrc( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_networkState( 
            /* [out][retval] */ __RPC__out USHORT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_preload( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_preload( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_buffered( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTimeRanges **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE load( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE canPlayType( 
            /* [in] */ __RPC__in BSTR type,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *canPlay) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_seeking( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_currentTime( 
            /* [in] */ float v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_currentTime( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_initialTime( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_duration( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_paused( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_defaultPlaybackRate( 
            /* [in] */ float v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_defaultPlaybackRate( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_playbackRate( 
            /* [in] */ float v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_playbackRate( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_played( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTimeRanges **p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_seekable( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTimeRanges **p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_ended( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_autoplay( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_autoplay( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_loop( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_loop( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE play( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE pause( void) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_controls( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_controls( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_volume( 
            /* [in] */ float v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_volume( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_muted( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_muted( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_autobuffer( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_autobuffer( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLMediaElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLMediaElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLMediaElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLMediaElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLMediaElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLMediaElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLMediaElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLMediaElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_error )( 
            __RPC__in IHTMLMediaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLMediaError **p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_src )( 
            __RPC__in IHTMLMediaElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_src )( 
            __RPC__in IHTMLMediaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentSrc )( 
            __RPC__in IHTMLMediaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_networkState )( 
            __RPC__in IHTMLMediaElement * This,
            /* [out][retval] */ __RPC__out USHORT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_preload )( 
            __RPC__in IHTMLMediaElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_preload )( 
            __RPC__in IHTMLMediaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_buffered )( 
            __RPC__in IHTMLMediaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTimeRanges **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *load )( 
            __RPC__in IHTMLMediaElement * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *canPlayType )( 
            __RPC__in IHTMLMediaElement * This,
            /* [in] */ __RPC__in BSTR type,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *canPlay);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_seeking )( 
            __RPC__in IHTMLMediaElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_currentTime )( 
            __RPC__in IHTMLMediaElement * This,
            /* [in] */ float v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentTime )( 
            __RPC__in IHTMLMediaElement * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_initialTime )( 
            __RPC__in IHTMLMediaElement * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_duration )( 
            __RPC__in IHTMLMediaElement * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_paused )( 
            __RPC__in IHTMLMediaElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_defaultPlaybackRate )( 
            __RPC__in IHTMLMediaElement * This,
            /* [in] */ float v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_defaultPlaybackRate )( 
            __RPC__in IHTMLMediaElement * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_playbackRate )( 
            __RPC__in IHTMLMediaElement * This,
            /* [in] */ float v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_playbackRate )( 
            __RPC__in IHTMLMediaElement * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_played )( 
            __RPC__in IHTMLMediaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTimeRanges **p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_seekable )( 
            __RPC__in IHTMLMediaElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLTimeRanges **p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ended )( 
            __RPC__in IHTMLMediaElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_autoplay )( 
            __RPC__in IHTMLMediaElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_autoplay )( 
            __RPC__in IHTMLMediaElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_loop )( 
            __RPC__in IHTMLMediaElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_loop )( 
            __RPC__in IHTMLMediaElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *play )( 
            __RPC__in IHTMLMediaElement * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *pause )( 
            __RPC__in IHTMLMediaElement * This);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_controls )( 
            __RPC__in IHTMLMediaElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_controls )( 
            __RPC__in IHTMLMediaElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_volume )( 
            __RPC__in IHTMLMediaElement * This,
            /* [in] */ float v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_volume )( 
            __RPC__in IHTMLMediaElement * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_muted )( 
            __RPC__in IHTMLMediaElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_muted )( 
            __RPC__in IHTMLMediaElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_autobuffer )( 
            __RPC__in IHTMLMediaElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_autobuffer )( 
            __RPC__in IHTMLMediaElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        END_INTERFACE
    } IHTMLMediaElementVtbl;

    interface IHTMLMediaElement
    {
        CONST_VTBL struct IHTMLMediaElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLMediaElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLMediaElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLMediaElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLMediaElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLMediaElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLMediaElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLMediaElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLMediaElement_get_error(This,p)	\
    ( (This)->lpVtbl -> get_error(This,p) ) 

#define IHTMLMediaElement_put_src(This,v)	\
    ( (This)->lpVtbl -> put_src(This,v) ) 

#define IHTMLMediaElement_get_src(This,p)	\
    ( (This)->lpVtbl -> get_src(This,p) ) 

#define IHTMLMediaElement_get_currentSrc(This,p)	\
    ( (This)->lpVtbl -> get_currentSrc(This,p) ) 

#define IHTMLMediaElement_get_networkState(This,p)	\
    ( (This)->lpVtbl -> get_networkState(This,p) ) 

#define IHTMLMediaElement_put_preload(This,v)	\
    ( (This)->lpVtbl -> put_preload(This,v) ) 

#define IHTMLMediaElement_get_preload(This,p)	\
    ( (This)->lpVtbl -> get_preload(This,p) ) 

#define IHTMLMediaElement_get_buffered(This,p)	\
    ( (This)->lpVtbl -> get_buffered(This,p) ) 

#define IHTMLMediaElement_load(This)	\
    ( (This)->lpVtbl -> load(This) ) 

#define IHTMLMediaElement_canPlayType(This,type,canPlay)	\
    ( (This)->lpVtbl -> canPlayType(This,type,canPlay) ) 

#define IHTMLMediaElement_get_seeking(This,p)	\
    ( (This)->lpVtbl -> get_seeking(This,p) ) 

#define IHTMLMediaElement_put_currentTime(This,v)	\
    ( (This)->lpVtbl -> put_currentTime(This,v) ) 

#define IHTMLMediaElement_get_currentTime(This,p)	\
    ( (This)->lpVtbl -> get_currentTime(This,p) ) 

#define IHTMLMediaElement_get_initialTime(This,p)	\
    ( (This)->lpVtbl -> get_initialTime(This,p) ) 

#define IHTMLMediaElement_get_duration(This,p)	\
    ( (This)->lpVtbl -> get_duration(This,p) ) 

#define IHTMLMediaElement_get_paused(This,p)	\
    ( (This)->lpVtbl -> get_paused(This,p) ) 

#define IHTMLMediaElement_put_defaultPlaybackRate(This,v)	\
    ( (This)->lpVtbl -> put_defaultPlaybackRate(This,v) ) 

#define IHTMLMediaElement_get_defaultPlaybackRate(This,p)	\
    ( (This)->lpVtbl -> get_defaultPlaybackRate(This,p) ) 

#define IHTMLMediaElement_put_playbackRate(This,v)	\
    ( (This)->lpVtbl -> put_playbackRate(This,v) ) 

#define IHTMLMediaElement_get_playbackRate(This,p)	\
    ( (This)->lpVtbl -> get_playbackRate(This,p) ) 

#define IHTMLMediaElement_get_played(This,p)	\
    ( (This)->lpVtbl -> get_played(This,p) ) 

#define IHTMLMediaElement_get_seekable(This,p)	\
    ( (This)->lpVtbl -> get_seekable(This,p) ) 

#define IHTMLMediaElement_get_ended(This,p)	\
    ( (This)->lpVtbl -> get_ended(This,p) ) 

#define IHTMLMediaElement_put_autoplay(This,v)	\
    ( (This)->lpVtbl -> put_autoplay(This,v) ) 

#define IHTMLMediaElement_get_autoplay(This,p)	\
    ( (This)->lpVtbl -> get_autoplay(This,p) ) 

#define IHTMLMediaElement_put_loop(This,v)	\
    ( (This)->lpVtbl -> put_loop(This,v) ) 

#define IHTMLMediaElement_get_loop(This,p)	\
    ( (This)->lpVtbl -> get_loop(This,p) ) 

#define IHTMLMediaElement_play(This)	\
    ( (This)->lpVtbl -> play(This) ) 

#define IHTMLMediaElement_pause(This)	\
    ( (This)->lpVtbl -> pause(This) ) 

#define IHTMLMediaElement_put_controls(This,v)	\
    ( (This)->lpVtbl -> put_controls(This,v) ) 

#define IHTMLMediaElement_get_controls(This,p)	\
    ( (This)->lpVtbl -> get_controls(This,p) ) 

#define IHTMLMediaElement_put_volume(This,v)	\
    ( (This)->lpVtbl -> put_volume(This,v) ) 

#define IHTMLMediaElement_get_volume(This,p)	\
    ( (This)->lpVtbl -> get_volume(This,p) ) 

#define IHTMLMediaElement_put_muted(This,v)	\
    ( (This)->lpVtbl -> put_muted(This,v) ) 

#define IHTMLMediaElement_get_muted(This,p)	\
    ( (This)->lpVtbl -> get_muted(This,p) ) 

#define IHTMLMediaElement_put_autobuffer(This,v)	\
    ( (This)->lpVtbl -> put_autobuffer(This,v) ) 

#define IHTMLMediaElement_get_autobuffer(This,p)	\
    ( (This)->lpVtbl -> get_autobuffer(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLMediaElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLMediaElement2_INTERFACE_DEFINED__
#define __IHTMLMediaElement2_INTERFACE_DEFINED__

/* interface IHTMLMediaElement2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLMediaElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510809-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLMediaElement2 : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_currentTimeDouble( 
            /* [in] */ double v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_currentTimeDouble( 
            /* [out][retval] */ __RPC__out double *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_initialTimeDouble( 
            /* [out][retval] */ __RPC__out double *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_durationDouble( 
            /* [out][retval] */ __RPC__out double *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_defaultPlaybackRateDouble( 
            /* [in] */ double v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_defaultPlaybackRateDouble( 
            /* [out][retval] */ __RPC__out double *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_playbackRateDouble( 
            /* [in] */ double v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_playbackRateDouble( 
            /* [out][retval] */ __RPC__out double *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_volumeDouble( 
            /* [in] */ double v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_volumeDouble( 
            /* [out][retval] */ __RPC__out double *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLMediaElement2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLMediaElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLMediaElement2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLMediaElement2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLMediaElement2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLMediaElement2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLMediaElement2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLMediaElement2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_currentTimeDouble )( 
            __RPC__in IHTMLMediaElement2 * This,
            /* [in] */ double v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentTimeDouble )( 
            __RPC__in IHTMLMediaElement2 * This,
            /* [out][retval] */ __RPC__out double *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_initialTimeDouble )( 
            __RPC__in IHTMLMediaElement2 * This,
            /* [out][retval] */ __RPC__out double *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_durationDouble )( 
            __RPC__in IHTMLMediaElement2 * This,
            /* [out][retval] */ __RPC__out double *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_defaultPlaybackRateDouble )( 
            __RPC__in IHTMLMediaElement2 * This,
            /* [in] */ double v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_defaultPlaybackRateDouble )( 
            __RPC__in IHTMLMediaElement2 * This,
            /* [out][retval] */ __RPC__out double *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_playbackRateDouble )( 
            __RPC__in IHTMLMediaElement2 * This,
            /* [in] */ double v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_playbackRateDouble )( 
            __RPC__in IHTMLMediaElement2 * This,
            /* [out][retval] */ __RPC__out double *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_volumeDouble )( 
            __RPC__in IHTMLMediaElement2 * This,
            /* [in] */ double v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_volumeDouble )( 
            __RPC__in IHTMLMediaElement2 * This,
            /* [out][retval] */ __RPC__out double *p);
        
        END_INTERFACE
    } IHTMLMediaElement2Vtbl;

    interface IHTMLMediaElement2
    {
        CONST_VTBL struct IHTMLMediaElement2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLMediaElement2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLMediaElement2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLMediaElement2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLMediaElement2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLMediaElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLMediaElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLMediaElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLMediaElement2_put_currentTimeDouble(This,v)	\
    ( (This)->lpVtbl -> put_currentTimeDouble(This,v) ) 

#define IHTMLMediaElement2_get_currentTimeDouble(This,p)	\
    ( (This)->lpVtbl -> get_currentTimeDouble(This,p) ) 

#define IHTMLMediaElement2_get_initialTimeDouble(This,p)	\
    ( (This)->lpVtbl -> get_initialTimeDouble(This,p) ) 

#define IHTMLMediaElement2_get_durationDouble(This,p)	\
    ( (This)->lpVtbl -> get_durationDouble(This,p) ) 

#define IHTMLMediaElement2_put_defaultPlaybackRateDouble(This,v)	\
    ( (This)->lpVtbl -> put_defaultPlaybackRateDouble(This,v) ) 

#define IHTMLMediaElement2_get_defaultPlaybackRateDouble(This,p)	\
    ( (This)->lpVtbl -> get_defaultPlaybackRateDouble(This,p) ) 

#define IHTMLMediaElement2_put_playbackRateDouble(This,v)	\
    ( (This)->lpVtbl -> put_playbackRateDouble(This,v) ) 

#define IHTMLMediaElement2_get_playbackRateDouble(This,p)	\
    ( (This)->lpVtbl -> get_playbackRateDouble(This,p) ) 

#define IHTMLMediaElement2_put_volumeDouble(This,v)	\
    ( (This)->lpVtbl -> put_volumeDouble(This,v) ) 

#define IHTMLMediaElement2_get_volumeDouble(This,p)	\
    ( (This)->lpVtbl -> get_volumeDouble(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLMediaElement2_INTERFACE_DEFINED__ */


#ifndef __IHTMLMSMediaElement_INTERFACE_DEFINED__
#define __IHTMLMSMediaElement_INTERFACE_DEFINED__

/* interface IHTMLMSMediaElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLMSMediaElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510792-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLMSMediaElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msPlayToDisabled( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msPlayToDisabled( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_msPlayToPrimary( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_msPlayToPrimary( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLMSMediaElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLMSMediaElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLMSMediaElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLMSMediaElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLMSMediaElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLMSMediaElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLMSMediaElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLMSMediaElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msPlayToDisabled )( 
            __RPC__in IHTMLMSMediaElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msPlayToDisabled )( 
            __RPC__in IHTMLMSMediaElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_msPlayToPrimary )( 
            __RPC__in IHTMLMSMediaElement * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msPlayToPrimary )( 
            __RPC__in IHTMLMSMediaElement * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        END_INTERFACE
    } IHTMLMSMediaElementVtbl;

    interface IHTMLMSMediaElement
    {
        CONST_VTBL struct IHTMLMSMediaElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLMSMediaElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLMSMediaElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLMSMediaElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLMSMediaElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLMSMediaElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLMSMediaElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLMSMediaElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLMSMediaElement_put_msPlayToDisabled(This,v)	\
    ( (This)->lpVtbl -> put_msPlayToDisabled(This,v) ) 

#define IHTMLMSMediaElement_get_msPlayToDisabled(This,p)	\
    ( (This)->lpVtbl -> get_msPlayToDisabled(This,p) ) 

#define IHTMLMSMediaElement_put_msPlayToPrimary(This,v)	\
    ( (This)->lpVtbl -> put_msPlayToPrimary(This,v) ) 

#define IHTMLMSMediaElement_get_msPlayToPrimary(This,p)	\
    ( (This)->lpVtbl -> get_msPlayToPrimary(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLMSMediaElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLSourceElement_INTERFACE_DEFINED__
#define __IHTMLSourceElement_INTERFACE_DEFINED__

/* interface IHTMLSourceElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLSourceElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510707-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLSourceElement : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_src( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_src( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_type( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_media( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_media( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLSourceElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLSourceElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLSourceElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLSourceElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLSourceElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLSourceElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLSourceElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLSourceElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_src )( 
            __RPC__in IHTMLSourceElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_src )( 
            __RPC__in IHTMLSourceElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_type )( 
            __RPC__in IHTMLSourceElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLSourceElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_media )( 
            __RPC__in IHTMLSourceElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_media )( 
            __RPC__in IHTMLSourceElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLSourceElementVtbl;

    interface IHTMLSourceElement
    {
        CONST_VTBL struct IHTMLSourceElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLSourceElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLSourceElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLSourceElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLSourceElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLSourceElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLSourceElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLSourceElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLSourceElement_put_src(This,v)	\
    ( (This)->lpVtbl -> put_src(This,v) ) 

#define IHTMLSourceElement_get_src(This,p)	\
    ( (This)->lpVtbl -> get_src(This,p) ) 

#define IHTMLSourceElement_put_type(This,v)	\
    ( (This)->lpVtbl -> put_type(This,v) ) 

#define IHTMLSourceElement_get_type(This,p)	\
    ( (This)->lpVtbl -> get_type(This,p) ) 

#define IHTMLSourceElement_put_media(This,v)	\
    ( (This)->lpVtbl -> put_media(This,v) ) 

#define IHTMLSourceElement_get_media(This,p)	\
    ( (This)->lpVtbl -> get_media(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLSourceElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLAudioElement_INTERFACE_DEFINED__
#define __IHTMLAudioElement_INTERFACE_DEFINED__

/* interface IHTMLAudioElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLAudioElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510708-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLAudioElement : public IDispatch
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLAudioElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLAudioElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLAudioElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLAudioElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLAudioElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLAudioElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLAudioElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLAudioElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } IHTMLAudioElementVtbl;

    interface IHTMLAudioElement
    {
        CONST_VTBL struct IHTMLAudioElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLAudioElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLAudioElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLAudioElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLAudioElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLAudioElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLAudioElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLAudioElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLAudioElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLVideoElement_INTERFACE_DEFINED__
#define __IHTMLVideoElement_INTERFACE_DEFINED__

/* interface IHTMLVideoElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLVideoElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510709-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLVideoElement : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_width( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_height( 
            /* [in] */ long v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_videoWidth( 
            /* [out][retval] */ __RPC__out ULONG *p) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_videoHeight( 
            /* [out][retval] */ __RPC__out ULONG *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_poster( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_poster( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLVideoElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLVideoElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLVideoElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLVideoElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLVideoElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLVideoElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLVideoElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLVideoElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_width )( 
            __RPC__in IHTMLVideoElement * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in IHTMLVideoElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_height )( 
            __RPC__in IHTMLVideoElement * This,
            /* [in] */ long v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in IHTMLVideoElement * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_videoWidth )( 
            __RPC__in IHTMLVideoElement * This,
            /* [out][retval] */ __RPC__out ULONG *p);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_videoHeight )( 
            __RPC__in IHTMLVideoElement * This,
            /* [out][retval] */ __RPC__out ULONG *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_poster )( 
            __RPC__in IHTMLVideoElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_poster )( 
            __RPC__in IHTMLVideoElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLVideoElementVtbl;

    interface IHTMLVideoElement
    {
        CONST_VTBL struct IHTMLVideoElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLVideoElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLVideoElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLVideoElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLVideoElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLVideoElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLVideoElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLVideoElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLVideoElement_put_width(This,v)	\
    ( (This)->lpVtbl -> put_width(This,v) ) 

#define IHTMLVideoElement_get_width(This,p)	\
    ( (This)->lpVtbl -> get_width(This,p) ) 

#define IHTMLVideoElement_put_height(This,v)	\
    ( (This)->lpVtbl -> put_height(This,v) ) 

#define IHTMLVideoElement_get_height(This,p)	\
    ( (This)->lpVtbl -> get_height(This,p) ) 

#define IHTMLVideoElement_get_videoWidth(This,p)	\
    ( (This)->lpVtbl -> get_videoWidth(This,p) ) 

#define IHTMLVideoElement_get_videoHeight(This,p)	\
    ( (This)->lpVtbl -> get_videoHeight(This,p) ) 

#define IHTMLVideoElement_put_poster(This,v)	\
    ( (This)->lpVtbl -> put_poster(This,v) ) 

#define IHTMLVideoElement_get_poster(This,p)	\
    ( (This)->lpVtbl -> get_poster(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLVideoElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLAudioElementFactory_INTERFACE_DEFINED__
#define __IHTMLAudioElementFactory_INTERFACE_DEFINED__

/* interface IHTMLAudioElementFactory */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLAudioElementFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305107eb-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLAudioElementFactory : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE create( 
            /* [in][optional] */ VARIANT src,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLAudioElement **__MIDL__IHTMLAudioElementFactory0000) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLAudioElementFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLAudioElementFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLAudioElementFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLAudioElementFactory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLAudioElementFactory * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLAudioElementFactory * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLAudioElementFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLAudioElementFactory * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *create )( 
            __RPC__in IHTMLAudioElementFactory * This,
            /* [in][optional] */ VARIANT src,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLAudioElement **__MIDL__IHTMLAudioElementFactory0000);
        
        END_INTERFACE
    } IHTMLAudioElementFactoryVtbl;

    interface IHTMLAudioElementFactory
    {
        CONST_VTBL struct IHTMLAudioElementFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLAudioElementFactory_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLAudioElementFactory_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLAudioElementFactory_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLAudioElementFactory_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLAudioElementFactory_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLAudioElementFactory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLAudioElementFactory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLAudioElementFactory_create(This,src,__MIDL__IHTMLAudioElementFactory0000)	\
    ( (This)->lpVtbl -> create(This,src,__MIDL__IHTMLAudioElementFactory0000) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLAudioElementFactory_INTERFACE_DEFINED__ */


#ifndef __DispHTMLMediaError_DISPINTERFACE_DEFINED__
#define __DispHTMLMediaError_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLMediaError */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLMediaError;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590086-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLMediaError : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLMediaErrorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLMediaError * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLMediaError * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLMediaError * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLMediaError * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLMediaError * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLMediaError * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLMediaError * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLMediaErrorVtbl;

    interface DispHTMLMediaError
    {
        CONST_VTBL struct DispHTMLMediaErrorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLMediaError_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLMediaError_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLMediaError_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLMediaError_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLMediaError_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLMediaError_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLMediaError_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLMediaError_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLMediaError;

#ifdef __cplusplus

class DECLSPEC_UUID("3051070a-98b5-11cf-bb82-00aa00bdce0b")
HTMLMediaError;
#endif

#ifndef __DispHTMLTimeRanges_DISPINTERFACE_DEFINED__
#define __DispHTMLTimeRanges_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLTimeRanges */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLTimeRanges;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590087-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLTimeRanges : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLTimeRangesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLTimeRanges * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLTimeRanges * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLTimeRanges * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLTimeRanges * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLTimeRanges * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLTimeRanges * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLTimeRanges * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLTimeRangesVtbl;

    interface DispHTMLTimeRanges
    {
        CONST_VTBL struct DispHTMLTimeRangesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLTimeRanges_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLTimeRanges_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLTimeRanges_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLTimeRanges_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLTimeRanges_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLTimeRanges_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLTimeRanges_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLTimeRanges_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLTimeRanges;

#ifdef __cplusplus

class DECLSPEC_UUID("3051070b-98b5-11cf-bb82-00aa00bdce0b")
HTMLTimeRanges;
#endif

#ifndef __DispHTMLMediaElement_DISPINTERFACE_DEFINED__
#define __DispHTMLMediaElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLMediaElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLMediaElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590088-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLMediaElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLMediaElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLMediaElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLMediaElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLMediaElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLMediaElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLMediaElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLMediaElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLMediaElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLMediaElementVtbl;

    interface DispHTMLMediaElement
    {
        CONST_VTBL struct DispHTMLMediaElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLMediaElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLMediaElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLMediaElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLMediaElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLMediaElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLMediaElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLMediaElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLMediaElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLMediaElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3051070c-98b5-11cf-bb82-00aa00bdce0b")
HTMLMediaElement;
#endif

#ifndef __DispHTMLSourceElement_DISPINTERFACE_DEFINED__
#define __DispHTMLSourceElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLSourceElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLSourceElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590089-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLSourceElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLSourceElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLSourceElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLSourceElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLSourceElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLSourceElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLSourceElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLSourceElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLSourceElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLSourceElementVtbl;

    interface DispHTMLSourceElement
    {
        CONST_VTBL struct DispHTMLSourceElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLSourceElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLSourceElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLSourceElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLSourceElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLSourceElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLSourceElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLSourceElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLSourceElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLSourceElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3051070d-98b5-11cf-bb82-00aa00bdce0b")
HTMLSourceElement;
#endif

#ifndef __DispHTMLAudioElement_DISPINTERFACE_DEFINED__
#define __DispHTMLAudioElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLAudioElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLAudioElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059008a-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLAudioElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLAudioElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLAudioElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLAudioElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLAudioElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLAudioElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLAudioElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLAudioElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLAudioElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLAudioElementVtbl;

    interface DispHTMLAudioElement
    {
        CONST_VTBL struct DispHTMLAudioElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLAudioElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLAudioElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLAudioElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLAudioElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLAudioElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLAudioElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLAudioElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLAudioElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLAudioElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3051070e-98b5-11cf-bb82-00aa00bdce0b")
HTMLAudioElement;
#endif

EXTERN_C const CLSID CLSID_HTMLAudioElementFactory;

#ifdef __cplusplus

class DECLSPEC_UUID("305107ec-98b5-11cf-bb82-00aa00bdce0b")
HTMLAudioElementFactory;
#endif

#ifndef __DispHTMLVideoElement_DISPINTERFACE_DEFINED__
#define __DispHTMLVideoElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLVideoElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLVideoElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059008b-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLVideoElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLVideoElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLVideoElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLVideoElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLVideoElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLVideoElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLVideoElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLVideoElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLVideoElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLVideoElementVtbl;

    interface DispHTMLVideoElement
    {
        CONST_VTBL struct DispHTMLVideoElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLVideoElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLVideoElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLVideoElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLVideoElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLVideoElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLVideoElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLVideoElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLVideoElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLVideoElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3051070f-98b5-11cf-bb82-00aa00bdce0b")
HTMLVideoElement;
#endif

#ifndef __ISVGSwitchElement_INTERFACE_DEFINED__
#define __ISVGSwitchElement_INTERFACE_DEFINED__

/* interface ISVGSwitchElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGSwitchElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104f1-98b5-11cf-bb82-00aa00bdce0b")
    ISVGSwitchElement : public IDispatch
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGSwitchElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGSwitchElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGSwitchElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGSwitchElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGSwitchElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGSwitchElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGSwitchElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGSwitchElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } ISVGSwitchElementVtbl;

    interface ISVGSwitchElement
    {
        CONST_VTBL struct ISVGSwitchElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGSwitchElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGSwitchElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGSwitchElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGSwitchElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGSwitchElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGSwitchElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGSwitchElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGSwitchElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGSwitchElement_DISPINTERFACE_DEFINED__
#define __DispSVGSwitchElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGSwitchElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGSwitchElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590030-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGSwitchElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGSwitchElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGSwitchElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGSwitchElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGSwitchElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGSwitchElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGSwitchElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGSwitchElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGSwitchElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGSwitchElementVtbl;

    interface DispSVGSwitchElement
    {
        CONST_VTBL struct DispSVGSwitchElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGSwitchElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGSwitchElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGSwitchElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGSwitchElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGSwitchElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGSwitchElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGSwitchElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGSwitchElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGSwitchElement;

#ifdef __cplusplus

class DECLSPEC_UUID("305105d8-98b5-11cf-bb82-00aa00bdce0b")
SVGSwitchElement;
#endif

#ifndef __ISVGDescElement_INTERFACE_DEFINED__
#define __ISVGDescElement_INTERFACE_DEFINED__

/* interface ISVGDescElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGDescElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104ea-98b5-11cf-bb82-00aa00bdce0b")
    ISVGDescElement : public IDispatch
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGDescElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGDescElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGDescElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGDescElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGDescElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGDescElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGDescElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGDescElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } ISVGDescElementVtbl;

    interface ISVGDescElement
    {
        CONST_VTBL struct ISVGDescElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGDescElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGDescElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGDescElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGDescElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGDescElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGDescElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGDescElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGDescElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGDescElement_DISPINTERFACE_DEFINED__
#define __DispSVGDescElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGDescElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGDescElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590005-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGDescElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGDescElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGDescElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGDescElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGDescElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGDescElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGDescElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGDescElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGDescElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGDescElementVtbl;

    interface DispSVGDescElement
    {
        CONST_VTBL struct DispSVGDescElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGDescElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGDescElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGDescElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGDescElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGDescElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGDescElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGDescElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGDescElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGDescElement;

#ifdef __cplusplus

class DECLSPEC_UUID("30510572-98b5-11cf-bb82-00aa00bdce0b")
SVGDescElement;
#endif

#ifndef __ISVGTitleElement_INTERFACE_DEFINED__
#define __ISVGTitleElement_INTERFACE_DEFINED__

/* interface ISVGTitleElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGTitleElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104eb-98b5-11cf-bb82-00aa00bdce0b")
    ISVGTitleElement : public IDispatch
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGTitleElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGTitleElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGTitleElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGTitleElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGTitleElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGTitleElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGTitleElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGTitleElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } ISVGTitleElementVtbl;

    interface ISVGTitleElement
    {
        CONST_VTBL struct ISVGTitleElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGTitleElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGTitleElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGTitleElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGTitleElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGTitleElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGTitleElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGTitleElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGTitleElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGTitleElement_DISPINTERFACE_DEFINED__
#define __DispSVGTitleElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGTitleElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGTitleElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590006-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGTitleElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGTitleElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGTitleElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGTitleElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGTitleElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGTitleElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGTitleElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGTitleElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGTitleElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGTitleElementVtbl;

    interface DispSVGTitleElement
    {
        CONST_VTBL struct DispSVGTitleElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGTitleElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGTitleElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGTitleElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGTitleElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGTitleElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGTitleElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGTitleElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGTitleElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGTitleElement;

#ifdef __cplusplus

class DECLSPEC_UUID("30510573-98b5-11cf-bb82-00aa00bdce0b")
SVGTitleElement;
#endif

#ifndef __ISVGMetadataElement_INTERFACE_DEFINED__
#define __ISVGMetadataElement_INTERFACE_DEFINED__

/* interface ISVGMetadataElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGMetadataElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510560-98b5-11cf-bb82-00aa00bdce0b")
    ISVGMetadataElement : public IDispatch
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGMetadataElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGMetadataElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGMetadataElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGMetadataElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGMetadataElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGMetadataElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGMetadataElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGMetadataElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } ISVGMetadataElementVtbl;

    interface ISVGMetadataElement
    {
        CONST_VTBL struct ISVGMetadataElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGMetadataElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGMetadataElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGMetadataElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGMetadataElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGMetadataElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGMetadataElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGMetadataElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGMetadataElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGMetadataElement_DISPINTERFACE_DEFINED__
#define __DispSVGMetadataElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGMetadataElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGMetadataElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059002f-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGMetadataElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGMetadataElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGMetadataElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGMetadataElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGMetadataElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGMetadataElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGMetadataElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGMetadataElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGMetadataElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGMetadataElementVtbl;

    interface DispSVGMetadataElement
    {
        CONST_VTBL struct DispSVGMetadataElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGMetadataElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGMetadataElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGMetadataElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGMetadataElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGMetadataElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGMetadataElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGMetadataElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGMetadataElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGMetadataElement;

#ifdef __cplusplus

class DECLSPEC_UUID("305105d7-98b5-11cf-bb82-00aa00bdce0b")
SVGMetadataElement;
#endif

#ifndef __ISVGElementInstanceList_INTERFACE_DEFINED__
#define __ISVGElementInstanceList_INTERFACE_DEFINED__

/* interface ISVGElementInstanceList */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGElementInstanceList;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104ef-98b5-11cf-bb82-00aa00bdce0b")
    ISVGElementInstanceList : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGElementInstance **ppResult) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGElementInstanceListVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGElementInstanceList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGElementInstanceList * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGElementInstanceList * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGElementInstanceList * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGElementInstanceList * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGElementInstanceList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGElementInstanceList * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in ISVGElementInstanceList * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in ISVGElementInstanceList * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt ISVGElementInstance **ppResult);
        
        END_INTERFACE
    } ISVGElementInstanceListVtbl;

    interface ISVGElementInstanceList
    {
        CONST_VTBL struct ISVGElementInstanceListVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGElementInstanceList_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGElementInstanceList_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGElementInstanceList_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGElementInstanceList_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGElementInstanceList_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGElementInstanceList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGElementInstanceList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGElementInstanceList_get_length(This,p)	\
    ( (This)->lpVtbl -> get_length(This,p) ) 

#define ISVGElementInstanceList_item(This,index,ppResult)	\
    ( (This)->lpVtbl -> item(This,index,ppResult) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGElementInstanceList_INTERFACE_DEFINED__ */


#ifndef __DispSVGElementInstance_DISPINTERFACE_DEFINED__
#define __DispSVGElementInstance_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGElementInstance */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGElementInstance;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590007-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGElementInstance : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGElementInstanceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGElementInstance * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGElementInstance * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGElementInstance * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGElementInstance * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGElementInstance * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGElementInstance * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGElementInstance * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGElementInstanceVtbl;

    interface DispSVGElementInstance
    {
        CONST_VTBL struct DispSVGElementInstanceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGElementInstance_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGElementInstance_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGElementInstance_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGElementInstance_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGElementInstance_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGElementInstance_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGElementInstance_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGElementInstance_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGElementInstance;

#ifdef __cplusplus

class DECLSPEC_UUID("30510575-98b5-11cf-bb82-00aa00bdce0b")
SVGElementInstance;
#endif

#ifndef __DispSVGElementInstanceList_DISPINTERFACE_DEFINED__
#define __DispSVGElementInstanceList_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGElementInstanceList */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGElementInstanceList;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590008-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGElementInstanceList : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGElementInstanceListVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGElementInstanceList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGElementInstanceList * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGElementInstanceList * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGElementInstanceList * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGElementInstanceList * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGElementInstanceList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGElementInstanceList * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGElementInstanceListVtbl;

    interface DispSVGElementInstanceList
    {
        CONST_VTBL struct DispSVGElementInstanceListVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGElementInstanceList_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGElementInstanceList_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGElementInstanceList_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGElementInstanceList_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGElementInstanceList_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGElementInstanceList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGElementInstanceList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGElementInstanceList_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGElementInstanceList;

#ifdef __cplusplus

class DECLSPEC_UUID("30510576-98b5-11cf-bb82-00aa00bdce0b")
SVGElementInstanceList;
#endif

#ifndef __IDOMException_INTERFACE_DEFINED__
#define __IDOMException_INTERFACE_DEFINED__

/* interface IDOMException */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMException;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051072b-98b5-11cf-bb82-00aa00bdce0b")
    IDOMException : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_code( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_code( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_message( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMExceptionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMException * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMException * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMException * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMException * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMException * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMException * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMException * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_code )( 
            __RPC__in IDOMException * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_code )( 
            __RPC__in IDOMException * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_message )( 
            __RPC__in IDOMException * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IDOMExceptionVtbl;

    interface IDOMException
    {
        CONST_VTBL struct IDOMExceptionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMException_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMException_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMException_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMException_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMException_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMException_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMException_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMException_put_code(This,v)	\
    ( (This)->lpVtbl -> put_code(This,v) ) 

#define IDOMException_get_code(This,p)	\
    ( (This)->lpVtbl -> get_code(This,p) ) 

#define IDOMException_get_message(This,p)	\
    ( (This)->lpVtbl -> get_message(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMException_INTERFACE_DEFINED__ */


#ifndef __DispDOMException_DISPINTERFACE_DEFINED__
#define __DispDOMException_DISPINTERFACE_DEFINED__

/* dispinterface DispDOMException */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispDOMException;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590094-98b5-11cf-bb82-00aa00bdce0b")
    DispDOMException : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispDOMExceptionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispDOMException * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispDOMException * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispDOMException * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispDOMException * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispDOMException * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispDOMException * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispDOMException * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispDOMExceptionVtbl;

    interface DispDOMException
    {
        CONST_VTBL struct DispDOMExceptionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispDOMException_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispDOMException_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispDOMException_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispDOMException_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispDOMException_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispDOMException_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispDOMException_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispDOMException_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DOMException;

#ifdef __cplusplus

class DECLSPEC_UUID("3051072c-98b5-11cf-bb82-00aa00bdce0b")
DOMException;
#endif

#ifndef __IRangeException_INTERFACE_DEFINED__
#define __IRangeException_INTERFACE_DEFINED__

/* interface IRangeException */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IRangeException;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051072d-98b5-11cf-bb82-00aa00bdce0b")
    IRangeException : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_code( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_code( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_message( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IRangeExceptionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IRangeException * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IRangeException * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IRangeException * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IRangeException * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IRangeException * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IRangeException * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRangeException * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_code )( 
            __RPC__in IRangeException * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_code )( 
            __RPC__in IRangeException * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_message )( 
            __RPC__in IRangeException * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IRangeExceptionVtbl;

    interface IRangeException
    {
        CONST_VTBL struct IRangeExceptionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRangeException_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IRangeException_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IRangeException_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IRangeException_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IRangeException_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IRangeException_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IRangeException_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IRangeException_put_code(This,v)	\
    ( (This)->lpVtbl -> put_code(This,v) ) 

#define IRangeException_get_code(This,p)	\
    ( (This)->lpVtbl -> get_code(This,p) ) 

#define IRangeException_get_message(This,p)	\
    ( (This)->lpVtbl -> get_message(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRangeException_INTERFACE_DEFINED__ */


#ifndef __DispRangeException_DISPINTERFACE_DEFINED__
#define __DispRangeException_DISPINTERFACE_DEFINED__

/* dispinterface DispRangeException */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispRangeException;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590095-98b5-11cf-bb82-00aa00bdce0b")
    DispRangeException : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispRangeExceptionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispRangeException * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispRangeException * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispRangeException * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispRangeException * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispRangeException * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispRangeException * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispRangeException * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispRangeExceptionVtbl;

    interface DispRangeException
    {
        CONST_VTBL struct DispRangeExceptionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispRangeException_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispRangeException_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispRangeException_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispRangeException_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispRangeException_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispRangeException_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispRangeException_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispRangeException_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_RangeException;

#ifdef __cplusplus

class DECLSPEC_UUID("3051072e-98b5-11cf-bb82-00aa00bdce0b")
RangeException;
#endif

#ifndef __ISVGException_INTERFACE_DEFINED__
#define __ISVGException_INTERFACE_DEFINED__

/* interface ISVGException */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGException;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051072f-98b5-11cf-bb82-00aa00bdce0b")
    ISVGException : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_code( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_code( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_message( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGExceptionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGException * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGException * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGException * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGException * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGException * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGException * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGException * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_code )( 
            __RPC__in ISVGException * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_code )( 
            __RPC__in ISVGException * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_message )( 
            __RPC__in ISVGException * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } ISVGExceptionVtbl;

    interface ISVGException
    {
        CONST_VTBL struct ISVGExceptionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGException_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGException_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGException_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGException_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGException_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGException_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGException_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGException_put_code(This,v)	\
    ( (This)->lpVtbl -> put_code(This,v) ) 

#define ISVGException_get_code(This,p)	\
    ( (This)->lpVtbl -> get_code(This,p) ) 

#define ISVGException_get_message(This,p)	\
    ( (This)->lpVtbl -> get_message(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGException_INTERFACE_DEFINED__ */


#ifndef __DispSVGException_DISPINTERFACE_DEFINED__
#define __DispSVGException_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGException */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGException;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590096-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGException : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGExceptionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGException * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGException * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGException * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGException * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGException * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGException * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGException * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGExceptionVtbl;

    interface DispSVGException
    {
        CONST_VTBL struct DispSVGExceptionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGException_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGException_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGException_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGException_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGException_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGException_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGException_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGException_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGException;

#ifdef __cplusplus

class DECLSPEC_UUID("30510730-98b5-11cf-bb82-00aa00bdce0b")
SVGException;
#endif

#ifndef __IEventException_INTERFACE_DEFINED__
#define __IEventException_INTERFACE_DEFINED__

/* interface IEventException */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IEventException;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051073a-98b5-11cf-bb82-00aa00bdce0b")
    IEventException : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_code( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_code( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_message( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IEventExceptionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IEventException * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IEventException * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IEventException * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IEventException * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IEventException * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IEventException * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IEventException * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_code )( 
            __RPC__in IEventException * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_code )( 
            __RPC__in IEventException * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_message )( 
            __RPC__in IEventException * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IEventExceptionVtbl;

    interface IEventException
    {
        CONST_VTBL struct IEventExceptionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IEventException_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IEventException_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IEventException_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IEventException_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IEventException_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IEventException_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IEventException_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IEventException_put_code(This,v)	\
    ( (This)->lpVtbl -> put_code(This,v) ) 

#define IEventException_get_code(This,p)	\
    ( (This)->lpVtbl -> get_code(This,p) ) 

#define IEventException_get_message(This,p)	\
    ( (This)->lpVtbl -> get_message(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IEventException_INTERFACE_DEFINED__ */


#ifndef __DispEventException_DISPINTERFACE_DEFINED__
#define __DispEventException_DISPINTERFACE_DEFINED__

/* dispinterface DispEventException */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispEventException;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590099-98b5-11cf-bb82-00aa00bdce0b")
    DispEventException : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispEventExceptionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispEventException * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispEventException * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispEventException * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispEventException * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispEventException * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispEventException * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispEventException * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispEventExceptionVtbl;

    interface DispEventException
    {
        CONST_VTBL struct DispEventExceptionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispEventException_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispEventException_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispEventException_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispEventException_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispEventException_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispEventException_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispEventException_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispEventException_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_EventException;

#ifdef __cplusplus

class DECLSPEC_UUID("3051073b-98b5-11cf-bb82-00aa00bdce0b")
EventException;
#endif

#ifndef __ISVGScriptElement_INTERFACE_DEFINED__
#define __ISVGScriptElement_INTERFACE_DEFINED__

/* interface ISVGScriptElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGScriptElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051054d-98b5-11cf-bb82-00aa00bdce0b")
    ISVGScriptElement : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_type( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGScriptElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGScriptElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGScriptElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGScriptElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGScriptElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGScriptElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGScriptElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGScriptElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_type )( 
            __RPC__in ISVGScriptElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in ISVGScriptElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } ISVGScriptElementVtbl;

    interface ISVGScriptElement
    {
        CONST_VTBL struct ISVGScriptElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGScriptElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGScriptElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGScriptElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGScriptElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGScriptElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGScriptElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGScriptElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGScriptElement_put_type(This,v)	\
    ( (This)->lpVtbl -> put_type(This,v) ) 

#define ISVGScriptElement_get_type(This,p)	\
    ( (This)->lpVtbl -> get_type(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGScriptElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGScriptElement_DISPINTERFACE_DEFINED__
#define __DispSVGScriptElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGScriptElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGScriptElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590039-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGScriptElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGScriptElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGScriptElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGScriptElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGScriptElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGScriptElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGScriptElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGScriptElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGScriptElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGScriptElementVtbl;

    interface DispSVGScriptElement
    {
        CONST_VTBL struct DispSVGScriptElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGScriptElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGScriptElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGScriptElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGScriptElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGScriptElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGScriptElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGScriptElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGScriptElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGScriptElement;

#ifdef __cplusplus

class DECLSPEC_UUID("305105e1-98b5-11cf-bb82-00aa00bdce0b")
SVGScriptElement;
#endif

#ifndef __ISVGStyleElement_INTERFACE_DEFINED__
#define __ISVGStyleElement_INTERFACE_DEFINED__

/* interface ISVGStyleElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGStyleElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104f3-98b5-11cf-bb82-00aa00bdce0b")
    ISVGStyleElement : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_type( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_media( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_media( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGStyleElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGStyleElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGStyleElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGStyleElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGStyleElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGStyleElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGStyleElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGStyleElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_type )( 
            __RPC__in ISVGStyleElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in ISVGStyleElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_media )( 
            __RPC__in ISVGStyleElement * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_media )( 
            __RPC__in ISVGStyleElement * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } ISVGStyleElementVtbl;

    interface ISVGStyleElement
    {
        CONST_VTBL struct ISVGStyleElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGStyleElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGStyleElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGStyleElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGStyleElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGStyleElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGStyleElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGStyleElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGStyleElement_put_type(This,v)	\
    ( (This)->lpVtbl -> put_type(This,v) ) 

#define ISVGStyleElement_get_type(This,p)	\
    ( (This)->lpVtbl -> get_type(This,p) ) 

#define ISVGStyleElement_put_media(This,v)	\
    ( (This)->lpVtbl -> put_media(This,v) ) 

#define ISVGStyleElement_get_media(This,p)	\
    ( (This)->lpVtbl -> get_media(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGStyleElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGStyleElement_DISPINTERFACE_DEFINED__
#define __DispSVGStyleElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGStyleElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGStyleElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590029-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGStyleElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGStyleElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGStyleElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGStyleElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGStyleElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGStyleElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGStyleElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGStyleElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGStyleElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGStyleElementVtbl;

    interface DispSVGStyleElement
    {
        CONST_VTBL struct DispSVGStyleElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGStyleElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGStyleElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGStyleElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGStyleElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGStyleElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGStyleElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGStyleElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGStyleElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGStyleElement;

#ifdef __cplusplus

class DECLSPEC_UUID("305105d1-98b5-11cf-bb82-00aa00bdce0b")
SVGStyleElement;
#endif

#ifndef __ISVGTextContentElement_INTERFACE_DEFINED__
#define __ISVGTextContentElement_INTERFACE_DEFINED__

/* interface ISVGTextContentElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGTextContentElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051051a-98b5-11cf-bb82-00aa00bdce0b")
    ISVGTextContentElement : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_textLength( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_textLength( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_lengthAdjust( 
            /* [in] */ __RPC__in_opt ISVGAnimatedEnumeration *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_lengthAdjust( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedEnumeration **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getNumberOfChars( 
            /* [out][retval] */ __RPC__out long *pResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getComputedTextLength( 
            /* [out][retval] */ __RPC__out float *pResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getSubStringLength( 
            /* [in] */ long charnum,
            /* [in] */ long nchars,
            /* [out][retval] */ __RPC__out float *pResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getStartPositionOfChar( 
            /* [in] */ long charnum,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getEndPositionOfChar( 
            /* [in] */ long charnum,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getExtentOfChar( 
            /* [in] */ long charnum,
            /* [out][retval] */ __RPC__deref_out_opt ISVGRect **ppResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getRotationOfChar( 
            /* [in] */ long charnum,
            /* [out][retval] */ __RPC__out float *pResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getCharNumAtPosition( 
            /* [in] */ __RPC__in_opt ISVGPoint *point,
            /* [out][retval] */ __RPC__out long *pResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE selectSubString( 
            /* [in] */ long charnum,
            /* [in] */ long nchars) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGTextContentElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGTextContentElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGTextContentElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGTextContentElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGTextContentElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGTextContentElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGTextContentElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGTextContentElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_textLength )( 
            __RPC__in ISVGTextContentElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textLength )( 
            __RPC__in ISVGTextContentElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_lengthAdjust )( 
            __RPC__in ISVGTextContentElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedEnumeration *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthAdjust )( 
            __RPC__in ISVGTextContentElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedEnumeration **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getNumberOfChars )( 
            __RPC__in ISVGTextContentElement * This,
            /* [out][retval] */ __RPC__out long *pResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getComputedTextLength )( 
            __RPC__in ISVGTextContentElement * This,
            /* [out][retval] */ __RPC__out float *pResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getSubStringLength )( 
            __RPC__in ISVGTextContentElement * This,
            /* [in] */ long charnum,
            /* [in] */ long nchars,
            /* [out][retval] */ __RPC__out float *pResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getStartPositionOfChar )( 
            __RPC__in ISVGTextContentElement * This,
            /* [in] */ long charnum,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getEndPositionOfChar )( 
            __RPC__in ISVGTextContentElement * This,
            /* [in] */ long charnum,
            /* [out][retval] */ __RPC__deref_out_opt ISVGPoint **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getExtentOfChar )( 
            __RPC__in ISVGTextContentElement * This,
            /* [in] */ long charnum,
            /* [out][retval] */ __RPC__deref_out_opt ISVGRect **ppResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getRotationOfChar )( 
            __RPC__in ISVGTextContentElement * This,
            /* [in] */ long charnum,
            /* [out][retval] */ __RPC__out float *pResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getCharNumAtPosition )( 
            __RPC__in ISVGTextContentElement * This,
            /* [in] */ __RPC__in_opt ISVGPoint *point,
            /* [out][retval] */ __RPC__out long *pResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *selectSubString )( 
            __RPC__in ISVGTextContentElement * This,
            /* [in] */ long charnum,
            /* [in] */ long nchars);
        
        END_INTERFACE
    } ISVGTextContentElementVtbl;

    interface ISVGTextContentElement
    {
        CONST_VTBL struct ISVGTextContentElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGTextContentElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGTextContentElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGTextContentElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGTextContentElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGTextContentElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGTextContentElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGTextContentElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGTextContentElement_putref_textLength(This,v)	\
    ( (This)->lpVtbl -> putref_textLength(This,v) ) 

#define ISVGTextContentElement_get_textLength(This,p)	\
    ( (This)->lpVtbl -> get_textLength(This,p) ) 

#define ISVGTextContentElement_putref_lengthAdjust(This,v)	\
    ( (This)->lpVtbl -> putref_lengthAdjust(This,v) ) 

#define ISVGTextContentElement_get_lengthAdjust(This,p)	\
    ( (This)->lpVtbl -> get_lengthAdjust(This,p) ) 

#define ISVGTextContentElement_getNumberOfChars(This,pResult)	\
    ( (This)->lpVtbl -> getNumberOfChars(This,pResult) ) 

#define ISVGTextContentElement_getComputedTextLength(This,pResult)	\
    ( (This)->lpVtbl -> getComputedTextLength(This,pResult) ) 

#define ISVGTextContentElement_getSubStringLength(This,charnum,nchars,pResult)	\
    ( (This)->lpVtbl -> getSubStringLength(This,charnum,nchars,pResult) ) 

#define ISVGTextContentElement_getStartPositionOfChar(This,charnum,ppResult)	\
    ( (This)->lpVtbl -> getStartPositionOfChar(This,charnum,ppResult) ) 

#define ISVGTextContentElement_getEndPositionOfChar(This,charnum,ppResult)	\
    ( (This)->lpVtbl -> getEndPositionOfChar(This,charnum,ppResult) ) 

#define ISVGTextContentElement_getExtentOfChar(This,charnum,ppResult)	\
    ( (This)->lpVtbl -> getExtentOfChar(This,charnum,ppResult) ) 

#define ISVGTextContentElement_getRotationOfChar(This,charnum,pResult)	\
    ( (This)->lpVtbl -> getRotationOfChar(This,charnum,pResult) ) 

#define ISVGTextContentElement_getCharNumAtPosition(This,point,pResult)	\
    ( (This)->lpVtbl -> getCharNumAtPosition(This,point,pResult) ) 

#define ISVGTextContentElement_selectSubString(This,charnum,nchars)	\
    ( (This)->lpVtbl -> selectSubString(This,charnum,nchars) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGTextContentElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGTextContentElement_DISPINTERFACE_DEFINED__
#define __DispSVGTextContentElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGTextContentElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGTextContentElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590035-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGTextContentElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGTextContentElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGTextContentElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGTextContentElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGTextContentElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGTextContentElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGTextContentElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGTextContentElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGTextContentElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGTextContentElementVtbl;

    interface DispSVGTextContentElement
    {
        CONST_VTBL struct DispSVGTextContentElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGTextContentElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGTextContentElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGTextContentElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGTextContentElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGTextContentElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGTextContentElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGTextContentElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGTextContentElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGTextContentElement;

#ifdef __cplusplus

class DECLSPEC_UUID("305105dd-98b5-11cf-bb82-00aa00bdce0b")
SVGTextContentElement;
#endif

#ifndef __ISVGTextPositioningElement_INTERFACE_DEFINED__
#define __ISVGTextPositioningElement_INTERFACE_DEFINED__

/* interface ISVGTextPositioningElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGTextPositioningElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051051b-98b5-11cf-bb82-00aa00bdce0b")
    ISVGTextPositioningElement : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_x( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLengthList *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLengthList **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_y( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLengthList *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_y( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLengthList **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_dx( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLengthList *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_dx( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLengthList **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_dy( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLengthList *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_dy( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLengthList **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_rotate( 
            /* [in] */ __RPC__in_opt ISVGAnimatedNumberList *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_rotate( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedNumberList **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGTextPositioningElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGTextPositioningElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGTextPositioningElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGTextPositioningElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGTextPositioningElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGTextPositioningElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGTextPositioningElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGTextPositioningElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_x )( 
            __RPC__in ISVGTextPositioningElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLengthList *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in ISVGTextPositioningElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLengthList **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_y )( 
            __RPC__in ISVGTextPositioningElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLengthList *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_y )( 
            __RPC__in ISVGTextPositioningElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLengthList **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_dx )( 
            __RPC__in ISVGTextPositioningElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLengthList *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dx )( 
            __RPC__in ISVGTextPositioningElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLengthList **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_dy )( 
            __RPC__in ISVGTextPositioningElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLengthList *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dy )( 
            __RPC__in ISVGTextPositioningElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLengthList **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_rotate )( 
            __RPC__in ISVGTextPositioningElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedNumberList *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rotate )( 
            __RPC__in ISVGTextPositioningElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedNumberList **p);
        
        END_INTERFACE
    } ISVGTextPositioningElementVtbl;

    interface ISVGTextPositioningElement
    {
        CONST_VTBL struct ISVGTextPositioningElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGTextPositioningElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGTextPositioningElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGTextPositioningElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGTextPositioningElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGTextPositioningElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGTextPositioningElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGTextPositioningElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGTextPositioningElement_putref_x(This,v)	\
    ( (This)->lpVtbl -> putref_x(This,v) ) 

#define ISVGTextPositioningElement_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#define ISVGTextPositioningElement_putref_y(This,v)	\
    ( (This)->lpVtbl -> putref_y(This,v) ) 

#define ISVGTextPositioningElement_get_y(This,p)	\
    ( (This)->lpVtbl -> get_y(This,p) ) 

#define ISVGTextPositioningElement_putref_dx(This,v)	\
    ( (This)->lpVtbl -> putref_dx(This,v) ) 

#define ISVGTextPositioningElement_get_dx(This,p)	\
    ( (This)->lpVtbl -> get_dx(This,p) ) 

#define ISVGTextPositioningElement_putref_dy(This,v)	\
    ( (This)->lpVtbl -> putref_dy(This,v) ) 

#define ISVGTextPositioningElement_get_dy(This,p)	\
    ( (This)->lpVtbl -> get_dy(This,p) ) 

#define ISVGTextPositioningElement_putref_rotate(This,v)	\
    ( (This)->lpVtbl -> putref_rotate(This,v) ) 

#define ISVGTextPositioningElement_get_rotate(This,p)	\
    ( (This)->lpVtbl -> get_rotate(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGTextPositioningElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGTextPositioningElement_DISPINTERFACE_DEFINED__
#define __DispSVGTextPositioningElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGTextPositioningElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGTextPositioningElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590038-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGTextPositioningElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGTextPositioningElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGTextPositioningElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGTextPositioningElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGTextPositioningElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGTextPositioningElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGTextPositioningElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGTextPositioningElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGTextPositioningElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGTextPositioningElementVtbl;

    interface DispSVGTextPositioningElement
    {
        CONST_VTBL struct DispSVGTextPositioningElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGTextPositioningElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGTextPositioningElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGTextPositioningElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGTextPositioningElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGTextPositioningElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGTextPositioningElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGTextPositioningElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGTextPositioningElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGTextPositioningElement;

#ifdef __cplusplus

class DECLSPEC_UUID("305105e0-98b5-11cf-bb82-00aa00bdce0b")
SVGTextPositioningElement;
#endif

#ifndef __DispDOMDocumentType_DISPINTERFACE_DEFINED__
#define __DispDOMDocumentType_DISPINTERFACE_DEFINED__

/* dispinterface DispDOMDocumentType */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispDOMDocumentType;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("30590098-98b5-11cf-bb82-00aa00bdce0b")
    DispDOMDocumentType : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispDOMDocumentTypeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispDOMDocumentType * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispDOMDocumentType * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispDOMDocumentType * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispDOMDocumentType * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispDOMDocumentType * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispDOMDocumentType * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispDOMDocumentType * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispDOMDocumentTypeVtbl;

    interface DispDOMDocumentType
    {
        CONST_VTBL struct DispDOMDocumentTypeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispDOMDocumentType_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispDOMDocumentType_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispDOMDocumentType_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispDOMDocumentType_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispDOMDocumentType_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispDOMDocumentType_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispDOMDocumentType_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispDOMDocumentType_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DOMDocumentType;

#ifdef __cplusplus

class DECLSPEC_UUID("30510739-98b5-11cf-bb82-00aa00bdce0b")
DOMDocumentType;
#endif

#ifndef __DispNodeIterator_DISPINTERFACE_DEFINED__
#define __DispNodeIterator_DISPINTERFACE_DEFINED__

/* dispinterface DispNodeIterator */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispNodeIterator;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059009c-98b5-11cf-bb82-00aa00bdce0b")
    DispNodeIterator : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispNodeIteratorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispNodeIterator * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispNodeIterator * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispNodeIterator * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispNodeIterator * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispNodeIterator * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispNodeIterator * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispNodeIterator * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispNodeIteratorVtbl;

    interface DispNodeIterator
    {
        CONST_VTBL struct DispNodeIteratorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispNodeIterator_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispNodeIterator_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispNodeIterator_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispNodeIterator_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispNodeIterator_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispNodeIterator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispNodeIterator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispNodeIterator_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_NodeIterator;

#ifdef __cplusplus

class DECLSPEC_UUID("30510745-98b5-11cf-bb82-00aa00bdce0b")
NodeIterator;
#endif

#ifndef __DispTreeWalker_DISPINTERFACE_DEFINED__
#define __DispTreeWalker_DISPINTERFACE_DEFINED__

/* dispinterface DispTreeWalker */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispTreeWalker;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059009d-98b5-11cf-bb82-00aa00bdce0b")
    DispTreeWalker : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispTreeWalkerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispTreeWalker * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispTreeWalker * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispTreeWalker * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispTreeWalker * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispTreeWalker * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispTreeWalker * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispTreeWalker * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispTreeWalkerVtbl;

    interface DispTreeWalker
    {
        CONST_VTBL struct DispTreeWalkerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispTreeWalker_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispTreeWalker_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispTreeWalker_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispTreeWalker_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispTreeWalker_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispTreeWalker_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispTreeWalker_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispTreeWalker_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_TreeWalker;

#ifdef __cplusplus

class DECLSPEC_UUID("30510747-98b5-11cf-bb82-00aa00bdce0b")
TreeWalker;
#endif

#ifndef __DispDOMProcessingInstruction_DISPINTERFACE_DEFINED__
#define __DispDOMProcessingInstruction_DISPINTERFACE_DEFINED__

/* dispinterface DispDOMProcessingInstruction */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispDOMProcessingInstruction;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059009b-98b5-11cf-bb82-00aa00bdce0b")
    DispDOMProcessingInstruction : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispDOMProcessingInstructionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispDOMProcessingInstruction * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispDOMProcessingInstruction * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispDOMProcessingInstruction * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispDOMProcessingInstruction * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispDOMProcessingInstruction * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispDOMProcessingInstruction * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispDOMProcessingInstruction * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispDOMProcessingInstructionVtbl;

    interface DispDOMProcessingInstruction
    {
        CONST_VTBL struct DispDOMProcessingInstructionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispDOMProcessingInstruction_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispDOMProcessingInstruction_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispDOMProcessingInstruction_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispDOMProcessingInstruction_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispDOMProcessingInstruction_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispDOMProcessingInstruction_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispDOMProcessingInstruction_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispDOMProcessingInstruction_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DOMProcessingInstruction;

#ifdef __cplusplus

class DECLSPEC_UUID("30510743-98b5-11cf-bb82-00aa00bdce0b")
DOMProcessingInstruction;
#endif

#ifndef __IHTMLPerformanceNavigation_INTERFACE_DEFINED__
#define __IHTMLPerformanceNavigation_INTERFACE_DEFINED__

/* interface IHTMLPerformanceNavigation */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLPerformanceNavigation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510750-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLPerformanceNavigation : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_type( 
            /* [out][retval] */ __RPC__out ULONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_redirectCount( 
            /* [out][retval] */ __RPC__out ULONG *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE toString( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *string) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE toJSON( 
            /* [out][retval] */ __RPC__out VARIANT *pVar) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLPerformanceNavigationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLPerformanceNavigation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLPerformanceNavigation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLPerformanceNavigation * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLPerformanceNavigation * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLPerformanceNavigation * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLPerformanceNavigation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLPerformanceNavigation * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( 
            __RPC__in IHTMLPerformanceNavigation * This,
            /* [out][retval] */ __RPC__out ULONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_redirectCount )( 
            __RPC__in IHTMLPerformanceNavigation * This,
            /* [out][retval] */ __RPC__out ULONG *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *toString )( 
            __RPC__in IHTMLPerformanceNavigation * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *string);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *toJSON )( 
            __RPC__in IHTMLPerformanceNavigation * This,
            /* [out][retval] */ __RPC__out VARIANT *pVar);
        
        END_INTERFACE
    } IHTMLPerformanceNavigationVtbl;

    interface IHTMLPerformanceNavigation
    {
        CONST_VTBL struct IHTMLPerformanceNavigationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLPerformanceNavigation_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLPerformanceNavigation_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLPerformanceNavigation_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLPerformanceNavigation_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLPerformanceNavigation_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLPerformanceNavigation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLPerformanceNavigation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLPerformanceNavigation_get_type(This,p)	\
    ( (This)->lpVtbl -> get_type(This,p) ) 

#define IHTMLPerformanceNavigation_get_redirectCount(This,p)	\
    ( (This)->lpVtbl -> get_redirectCount(This,p) ) 

#define IHTMLPerformanceNavigation_toString(This,string)	\
    ( (This)->lpVtbl -> toString(This,string) ) 

#define IHTMLPerformanceNavigation_toJSON(This,pVar)	\
    ( (This)->lpVtbl -> toJSON(This,pVar) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLPerformanceNavigation_INTERFACE_DEFINED__ */


#ifndef __IHTMLPerformanceTiming_INTERFACE_DEFINED__
#define __IHTMLPerformanceTiming_INTERFACE_DEFINED__

/* interface IHTMLPerformanceTiming */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLPerformanceTiming;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510752-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLPerformanceTiming : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_navigationStart( 
            /* [out][retval] */ __RPC__out ULONGLONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_unloadEventStart( 
            /* [out][retval] */ __RPC__out ULONGLONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_unloadEventEnd( 
            /* [out][retval] */ __RPC__out ULONGLONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_redirectStart( 
            /* [out][retval] */ __RPC__out ULONGLONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_redirectEnd( 
            /* [out][retval] */ __RPC__out ULONGLONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_fetchStart( 
            /* [out][retval] */ __RPC__out ULONGLONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_domainLookupStart( 
            /* [out][retval] */ __RPC__out ULONGLONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_domainLookupEnd( 
            /* [out][retval] */ __RPC__out ULONGLONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_connectStart( 
            /* [out][retval] */ __RPC__out ULONGLONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_connectEnd( 
            /* [out][retval] */ __RPC__out ULONGLONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_requestStart( 
            /* [out][retval] */ __RPC__out ULONGLONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_responseStart( 
            /* [out][retval] */ __RPC__out ULONGLONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_responseEnd( 
            /* [out][retval] */ __RPC__out ULONGLONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_domLoading( 
            /* [out][retval] */ __RPC__out ULONGLONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_domInteractive( 
            /* [out][retval] */ __RPC__out ULONGLONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_domContentLoadedEventStart( 
            /* [out][retval] */ __RPC__out ULONGLONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_domContentLoadedEventEnd( 
            /* [out][retval] */ __RPC__out ULONGLONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_domComplete( 
            /* [out][retval] */ __RPC__out ULONGLONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_loadEventStart( 
            /* [out][retval] */ __RPC__out ULONGLONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_loadEventEnd( 
            /* [out][retval] */ __RPC__out ULONGLONG *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_msFirstPaint( 
            /* [out][retval] */ __RPC__out ULONGLONG *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE toString( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *string) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE toJSON( 
            /* [out][retval] */ __RPC__out VARIANT *pVar) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLPerformanceTimingVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLPerformanceTiming * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLPerformanceTiming * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLPerformanceTiming * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_navigationStart )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [out][retval] */ __RPC__out ULONGLONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unloadEventStart )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [out][retval] */ __RPC__out ULONGLONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unloadEventEnd )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [out][retval] */ __RPC__out ULONGLONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_redirectStart )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [out][retval] */ __RPC__out ULONGLONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_redirectEnd )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [out][retval] */ __RPC__out ULONGLONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fetchStart )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [out][retval] */ __RPC__out ULONGLONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_domainLookupStart )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [out][retval] */ __RPC__out ULONGLONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_domainLookupEnd )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [out][retval] */ __RPC__out ULONGLONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_connectStart )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [out][retval] */ __RPC__out ULONGLONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_connectEnd )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [out][retval] */ __RPC__out ULONGLONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_requestStart )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [out][retval] */ __RPC__out ULONGLONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_responseStart )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [out][retval] */ __RPC__out ULONGLONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_responseEnd )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [out][retval] */ __RPC__out ULONGLONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_domLoading )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [out][retval] */ __RPC__out ULONGLONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_domInteractive )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [out][retval] */ __RPC__out ULONGLONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_domContentLoadedEventStart )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [out][retval] */ __RPC__out ULONGLONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_domContentLoadedEventEnd )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [out][retval] */ __RPC__out ULONGLONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_domComplete )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [out][retval] */ __RPC__out ULONGLONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_loadEventStart )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [out][retval] */ __RPC__out ULONGLONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_loadEventEnd )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [out][retval] */ __RPC__out ULONGLONG *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msFirstPaint )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [out][retval] */ __RPC__out ULONGLONG *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *toString )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *string);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *toJSON )( 
            __RPC__in IHTMLPerformanceTiming * This,
            /* [out][retval] */ __RPC__out VARIANT *pVar);
        
        END_INTERFACE
    } IHTMLPerformanceTimingVtbl;

    interface IHTMLPerformanceTiming
    {
        CONST_VTBL struct IHTMLPerformanceTimingVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLPerformanceTiming_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLPerformanceTiming_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLPerformanceTiming_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLPerformanceTiming_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLPerformanceTiming_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLPerformanceTiming_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLPerformanceTiming_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLPerformanceTiming_get_navigationStart(This,p)	\
    ( (This)->lpVtbl -> get_navigationStart(This,p) ) 

#define IHTMLPerformanceTiming_get_unloadEventStart(This,p)	\
    ( (This)->lpVtbl -> get_unloadEventStart(This,p) ) 

#define IHTMLPerformanceTiming_get_unloadEventEnd(This,p)	\
    ( (This)->lpVtbl -> get_unloadEventEnd(This,p) ) 

#define IHTMLPerformanceTiming_get_redirectStart(This,p)	\
    ( (This)->lpVtbl -> get_redirectStart(This,p) ) 

#define IHTMLPerformanceTiming_get_redirectEnd(This,p)	\
    ( (This)->lpVtbl -> get_redirectEnd(This,p) ) 

#define IHTMLPerformanceTiming_get_fetchStart(This,p)	\
    ( (This)->lpVtbl -> get_fetchStart(This,p) ) 

#define IHTMLPerformanceTiming_get_domainLookupStart(This,p)	\
    ( (This)->lpVtbl -> get_domainLookupStart(This,p) ) 

#define IHTMLPerformanceTiming_get_domainLookupEnd(This,p)	\
    ( (This)->lpVtbl -> get_domainLookupEnd(This,p) ) 

#define IHTMLPerformanceTiming_get_connectStart(This,p)	\
    ( (This)->lpVtbl -> get_connectStart(This,p) ) 

#define IHTMLPerformanceTiming_get_connectEnd(This,p)	\
    ( (This)->lpVtbl -> get_connectEnd(This,p) ) 

#define IHTMLPerformanceTiming_get_requestStart(This,p)	\
    ( (This)->lpVtbl -> get_requestStart(This,p) ) 

#define IHTMLPerformanceTiming_get_responseStart(This,p)	\
    ( (This)->lpVtbl -> get_responseStart(This,p) ) 

#define IHTMLPerformanceTiming_get_responseEnd(This,p)	\
    ( (This)->lpVtbl -> get_responseEnd(This,p) ) 

#define IHTMLPerformanceTiming_get_domLoading(This,p)	\
    ( (This)->lpVtbl -> get_domLoading(This,p) ) 

#define IHTMLPerformanceTiming_get_domInteractive(This,p)	\
    ( (This)->lpVtbl -> get_domInteractive(This,p) ) 

#define IHTMLPerformanceTiming_get_domContentLoadedEventStart(This,p)	\
    ( (This)->lpVtbl -> get_domContentLoadedEventStart(This,p) ) 

#define IHTMLPerformanceTiming_get_domContentLoadedEventEnd(This,p)	\
    ( (This)->lpVtbl -> get_domContentLoadedEventEnd(This,p) ) 

#define IHTMLPerformanceTiming_get_domComplete(This,p)	\
    ( (This)->lpVtbl -> get_domComplete(This,p) ) 

#define IHTMLPerformanceTiming_get_loadEventStart(This,p)	\
    ( (This)->lpVtbl -> get_loadEventStart(This,p) ) 

#define IHTMLPerformanceTiming_get_loadEventEnd(This,p)	\
    ( (This)->lpVtbl -> get_loadEventEnd(This,p) ) 

#define IHTMLPerformanceTiming_get_msFirstPaint(This,p)	\
    ( (This)->lpVtbl -> get_msFirstPaint(This,p) ) 

#define IHTMLPerformanceTiming_toString(This,string)	\
    ( (This)->lpVtbl -> toString(This,string) ) 

#define IHTMLPerformanceTiming_toJSON(This,pVar)	\
    ( (This)->lpVtbl -> toJSON(This,pVar) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLPerformanceTiming_INTERFACE_DEFINED__ */


#ifndef __DispHTMLPerformance_DISPINTERFACE_DEFINED__
#define __DispHTMLPerformance_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLPerformance */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLPerformance;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059009f-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLPerformance : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLPerformanceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLPerformance * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLPerformance * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLPerformance * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLPerformance * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLPerformance * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLPerformance * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLPerformance * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLPerformanceVtbl;

    interface DispHTMLPerformance
    {
        CONST_VTBL struct DispHTMLPerformanceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLPerformance_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLPerformance_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLPerformance_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLPerformance_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLPerformance_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLPerformance_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLPerformance_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLPerformance_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLPerformance;

#ifdef __cplusplus

class DECLSPEC_UUID("3051074f-98b5-11cf-bb82-00aa00bdce0b")
HTMLPerformance;
#endif

#ifndef __DispHTMLPerformanceNavigation_DISPINTERFACE_DEFINED__
#define __DispHTMLPerformanceNavigation_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLPerformanceNavigation */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLPerformanceNavigation;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("305900a0-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLPerformanceNavigation : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLPerformanceNavigationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLPerformanceNavigation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLPerformanceNavigation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLPerformanceNavigation * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLPerformanceNavigation * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLPerformanceNavigation * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLPerformanceNavigation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLPerformanceNavigation * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLPerformanceNavigationVtbl;

    interface DispHTMLPerformanceNavigation
    {
        CONST_VTBL struct DispHTMLPerformanceNavigationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLPerformanceNavigation_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLPerformanceNavigation_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLPerformanceNavigation_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLPerformanceNavigation_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLPerformanceNavigation_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLPerformanceNavigation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLPerformanceNavigation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLPerformanceNavigation_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLPerformanceNavigation;

#ifdef __cplusplus

class DECLSPEC_UUID("30510751-98b5-11cf-bb82-00aa00bdce0b")
HTMLPerformanceNavigation;
#endif

#ifndef __DispHTMLPerformanceTiming_DISPINTERFACE_DEFINED__
#define __DispHTMLPerformanceTiming_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLPerformanceTiming */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLPerformanceTiming;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("305900a1-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLPerformanceTiming : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLPerformanceTimingVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLPerformanceTiming * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLPerformanceTiming * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLPerformanceTiming * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLPerformanceTiming * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLPerformanceTiming * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLPerformanceTiming * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLPerformanceTiming * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLPerformanceTimingVtbl;

    interface DispHTMLPerformanceTiming
    {
        CONST_VTBL struct DispHTMLPerformanceTimingVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLPerformanceTiming_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLPerformanceTiming_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLPerformanceTiming_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLPerformanceTiming_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLPerformanceTiming_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLPerformanceTiming_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLPerformanceTiming_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLPerformanceTiming_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLPerformanceTiming;

#ifdef __cplusplus

class DECLSPEC_UUID("30510753-98b5-11cf-bb82-00aa00bdce0b")
HTMLPerformanceTiming;
#endif

#ifndef __ISVGTSpanElement_INTERFACE_DEFINED__
#define __ISVGTSpanElement_INTERFACE_DEFINED__

/* interface ISVGTSpanElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGTSpanElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051051d-98b5-11cf-bb82-00aa00bdce0b")
    ISVGTSpanElement : public IDispatch
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGTSpanElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGTSpanElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGTSpanElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGTSpanElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGTSpanElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGTSpanElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGTSpanElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGTSpanElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } ISVGTSpanElementVtbl;

    interface ISVGTSpanElement
    {
        CONST_VTBL struct ISVGTSpanElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGTSpanElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGTSpanElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGTSpanElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGTSpanElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGTSpanElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGTSpanElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGTSpanElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGTSpanElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGTSpanElement_DISPINTERFACE_DEFINED__
#define __DispSVGTSpanElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGTSpanElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGTSpanElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059003A-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGTSpanElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGTSpanElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGTSpanElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGTSpanElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGTSpanElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGTSpanElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGTSpanElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGTSpanElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGTSpanElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGTSpanElementVtbl;

    interface DispSVGTSpanElement
    {
        CONST_VTBL struct DispSVGTSpanElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGTSpanElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGTSpanElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGTSpanElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGTSpanElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGTSpanElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGTSpanElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGTSpanElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGTSpanElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGTSpanElement;

#ifdef __cplusplus

class DECLSPEC_UUID("305105e2-98b5-11cf-bb82-00aa00bdce0b")
SVGTSpanElement;
#endif

#ifndef __ITemplatePrinter_INTERFACE_DEFINED__
#define __ITemplatePrinter_INTERFACE_DEFINED__

/* interface ITemplatePrinter */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ITemplatePrinter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f6b4-98b5-11cf-bb82-00aa00bdce0b")
    ITemplatePrinter : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE startDoc( 
            /* [in] */ __RPC__in BSTR bstrTitle,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE stopDoc( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE printBlankPage( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE printPage( 
            /* [in] */ __RPC__in_opt IDispatch *pElemDisp) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ensurePrintDialogDefaults( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE showPrintDialog( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE showPageSetupDialog( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE printNonNative( 
            /* [in] */ __RPC__in_opt IUnknown *pMarkup,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE printNonNativeFrames( 
            /* [in] */ __RPC__in_opt IUnknown *pMarkup,
            /* [in] */ VARIANT_BOOL fActiveFrame) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_framesetDocument( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_framesetDocument( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_frameActive( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_frameActive( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_frameAsShown( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_frameAsShown( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_selection( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_selection( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_selectedPages( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_selectedPages( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_currentPage( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_currentPage( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_currentPageAvail( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_currentPageAvail( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_collate( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_collate( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_duplex( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_copies( 
            /* [in] */ USHORT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_copies( 
            /* [out][retval] */ __RPC__out USHORT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_pageFrom( 
            /* [in] */ USHORT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_pageFrom( 
            /* [out][retval] */ __RPC__out USHORT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_pageTo( 
            /* [in] */ USHORT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_pageTo( 
            /* [out][retval] */ __RPC__out USHORT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_tableOfLinks( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_tableOfLinks( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_allLinkedDocuments( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_allLinkedDocuments( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_header( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_header( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_footer( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_footer( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_marginLeft( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_marginLeft( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_marginRight( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_marginRight( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_marginTop( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_marginTop( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_marginBottom( 
            /* [in] */ long v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_marginBottom( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_pageWidth( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_pageHeight( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_unprintableLeft( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_unprintableTop( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_unprintableRight( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_unprintableBottom( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE updatePageStatus( 
            /* [in] */ __RPC__in long *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ITemplatePrinterVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ITemplatePrinter * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ITemplatePrinter * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ITemplatePrinter * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ITemplatePrinter * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *startDoc )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ __RPC__in BSTR bstrTitle,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *stopDoc )( 
            __RPC__in ITemplatePrinter * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *printBlankPage )( 
            __RPC__in ITemplatePrinter * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *printPage )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ __RPC__in_opt IDispatch *pElemDisp);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ensurePrintDialogDefaults )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *showPrintDialog )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *showPageSetupDialog )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *printNonNative )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ __RPC__in_opt IUnknown *pMarkup,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *printNonNativeFrames )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ __RPC__in_opt IUnknown *pMarkup,
            /* [in] */ VARIANT_BOOL fActiveFrame);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_framesetDocument )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_framesetDocument )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_frameActive )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frameActive )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_frameAsShown )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frameAsShown )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_selection )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_selectedPages )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedPages )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_currentPage )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentPage )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_currentPageAvail )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentPageAvail )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_collate )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_collate )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_duplex )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_copies )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ USHORT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_copies )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out USHORT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pageFrom )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ USHORT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageFrom )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out USHORT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pageTo )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ USHORT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageTo )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out USHORT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_tableOfLinks )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_tableOfLinks )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_allLinkedDocuments )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_allLinkedDocuments )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_header )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_header )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_footer )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_footer )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marginLeft )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginLeft )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marginRight )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginRight )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marginTop )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginTop )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marginBottom )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginBottom )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageWidth )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageHeight )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unprintableLeft )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unprintableTop )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unprintableRight )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unprintableBottom )( 
            __RPC__in ITemplatePrinter * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *updatePageStatus )( 
            __RPC__in ITemplatePrinter * This,
            /* [in] */ __RPC__in long *p);
        
        END_INTERFACE
    } ITemplatePrinterVtbl;

    interface ITemplatePrinter
    {
        CONST_VTBL struct ITemplatePrinterVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ITemplatePrinter_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ITemplatePrinter_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ITemplatePrinter_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ITemplatePrinter_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ITemplatePrinter_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ITemplatePrinter_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ITemplatePrinter_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ITemplatePrinter_startDoc(This,bstrTitle,p)	\
    ( (This)->lpVtbl -> startDoc(This,bstrTitle,p) ) 

#define ITemplatePrinter_stopDoc(This)	\
    ( (This)->lpVtbl -> stopDoc(This) ) 

#define ITemplatePrinter_printBlankPage(This)	\
    ( (This)->lpVtbl -> printBlankPage(This) ) 

#define ITemplatePrinter_printPage(This,pElemDisp)	\
    ( (This)->lpVtbl -> printPage(This,pElemDisp) ) 

#define ITemplatePrinter_ensurePrintDialogDefaults(This,p)	\
    ( (This)->lpVtbl -> ensurePrintDialogDefaults(This,p) ) 

#define ITemplatePrinter_showPrintDialog(This,p)	\
    ( (This)->lpVtbl -> showPrintDialog(This,p) ) 

#define ITemplatePrinter_showPageSetupDialog(This,p)	\
    ( (This)->lpVtbl -> showPageSetupDialog(This,p) ) 

#define ITemplatePrinter_printNonNative(This,pMarkup,p)	\
    ( (This)->lpVtbl -> printNonNative(This,pMarkup,p) ) 

#define ITemplatePrinter_printNonNativeFrames(This,pMarkup,fActiveFrame)	\
    ( (This)->lpVtbl -> printNonNativeFrames(This,pMarkup,fActiveFrame) ) 

#define ITemplatePrinter_put_framesetDocument(This,v)	\
    ( (This)->lpVtbl -> put_framesetDocument(This,v) ) 

#define ITemplatePrinter_get_framesetDocument(This,p)	\
    ( (This)->lpVtbl -> get_framesetDocument(This,p) ) 

#define ITemplatePrinter_put_frameActive(This,v)	\
    ( (This)->lpVtbl -> put_frameActive(This,v) ) 

#define ITemplatePrinter_get_frameActive(This,p)	\
    ( (This)->lpVtbl -> get_frameActive(This,p) ) 

#define ITemplatePrinter_put_frameAsShown(This,v)	\
    ( (This)->lpVtbl -> put_frameAsShown(This,v) ) 

#define ITemplatePrinter_get_frameAsShown(This,p)	\
    ( (This)->lpVtbl -> get_frameAsShown(This,p) ) 

#define ITemplatePrinter_put_selection(This,v)	\
    ( (This)->lpVtbl -> put_selection(This,v) ) 

#define ITemplatePrinter_get_selection(This,p)	\
    ( (This)->lpVtbl -> get_selection(This,p) ) 

#define ITemplatePrinter_put_selectedPages(This,v)	\
    ( (This)->lpVtbl -> put_selectedPages(This,v) ) 

#define ITemplatePrinter_get_selectedPages(This,p)	\
    ( (This)->lpVtbl -> get_selectedPages(This,p) ) 

#define ITemplatePrinter_put_currentPage(This,v)	\
    ( (This)->lpVtbl -> put_currentPage(This,v) ) 

#define ITemplatePrinter_get_currentPage(This,p)	\
    ( (This)->lpVtbl -> get_currentPage(This,p) ) 

#define ITemplatePrinter_put_currentPageAvail(This,v)	\
    ( (This)->lpVtbl -> put_currentPageAvail(This,v) ) 

#define ITemplatePrinter_get_currentPageAvail(This,p)	\
    ( (This)->lpVtbl -> get_currentPageAvail(This,p) ) 

#define ITemplatePrinter_put_collate(This,v)	\
    ( (This)->lpVtbl -> put_collate(This,v) ) 

#define ITemplatePrinter_get_collate(This,p)	\
    ( (This)->lpVtbl -> get_collate(This,p) ) 

#define ITemplatePrinter_get_duplex(This,p)	\
    ( (This)->lpVtbl -> get_duplex(This,p) ) 

#define ITemplatePrinter_put_copies(This,v)	\
    ( (This)->lpVtbl -> put_copies(This,v) ) 

#define ITemplatePrinter_get_copies(This,p)	\
    ( (This)->lpVtbl -> get_copies(This,p) ) 

#define ITemplatePrinter_put_pageFrom(This,v)	\
    ( (This)->lpVtbl -> put_pageFrom(This,v) ) 

#define ITemplatePrinter_get_pageFrom(This,p)	\
    ( (This)->lpVtbl -> get_pageFrom(This,p) ) 

#define ITemplatePrinter_put_pageTo(This,v)	\
    ( (This)->lpVtbl -> put_pageTo(This,v) ) 

#define ITemplatePrinter_get_pageTo(This,p)	\
    ( (This)->lpVtbl -> get_pageTo(This,p) ) 

#define ITemplatePrinter_put_tableOfLinks(This,v)	\
    ( (This)->lpVtbl -> put_tableOfLinks(This,v) ) 

#define ITemplatePrinter_get_tableOfLinks(This,p)	\
    ( (This)->lpVtbl -> get_tableOfLinks(This,p) ) 

#define ITemplatePrinter_put_allLinkedDocuments(This,v)	\
    ( (This)->lpVtbl -> put_allLinkedDocuments(This,v) ) 

#define ITemplatePrinter_get_allLinkedDocuments(This,p)	\
    ( (This)->lpVtbl -> get_allLinkedDocuments(This,p) ) 

#define ITemplatePrinter_put_header(This,v)	\
    ( (This)->lpVtbl -> put_header(This,v) ) 

#define ITemplatePrinter_get_header(This,p)	\
    ( (This)->lpVtbl -> get_header(This,p) ) 

#define ITemplatePrinter_put_footer(This,v)	\
    ( (This)->lpVtbl -> put_footer(This,v) ) 

#define ITemplatePrinter_get_footer(This,p)	\
    ( (This)->lpVtbl -> get_footer(This,p) ) 

#define ITemplatePrinter_put_marginLeft(This,v)	\
    ( (This)->lpVtbl -> put_marginLeft(This,v) ) 

#define ITemplatePrinter_get_marginLeft(This,p)	\
    ( (This)->lpVtbl -> get_marginLeft(This,p) ) 

#define ITemplatePrinter_put_marginRight(This,v)	\
    ( (This)->lpVtbl -> put_marginRight(This,v) ) 

#define ITemplatePrinter_get_marginRight(This,p)	\
    ( (This)->lpVtbl -> get_marginRight(This,p) ) 

#define ITemplatePrinter_put_marginTop(This,v)	\
    ( (This)->lpVtbl -> put_marginTop(This,v) ) 

#define ITemplatePrinter_get_marginTop(This,p)	\
    ( (This)->lpVtbl -> get_marginTop(This,p) ) 

#define ITemplatePrinter_put_marginBottom(This,v)	\
    ( (This)->lpVtbl -> put_marginBottom(This,v) ) 

#define ITemplatePrinter_get_marginBottom(This,p)	\
    ( (This)->lpVtbl -> get_marginBottom(This,p) ) 

#define ITemplatePrinter_get_pageWidth(This,p)	\
    ( (This)->lpVtbl -> get_pageWidth(This,p) ) 

#define ITemplatePrinter_get_pageHeight(This,p)	\
    ( (This)->lpVtbl -> get_pageHeight(This,p) ) 

#define ITemplatePrinter_get_unprintableLeft(This,p)	\
    ( (This)->lpVtbl -> get_unprintableLeft(This,p) ) 

#define ITemplatePrinter_get_unprintableTop(This,p)	\
    ( (This)->lpVtbl -> get_unprintableTop(This,p) ) 

#define ITemplatePrinter_get_unprintableRight(This,p)	\
    ( (This)->lpVtbl -> get_unprintableRight(This,p) ) 

#define ITemplatePrinter_get_unprintableBottom(This,p)	\
    ( (This)->lpVtbl -> get_unprintableBottom(This,p) ) 

#define ITemplatePrinter_updatePageStatus(This,p)	\
    ( (This)->lpVtbl -> updatePageStatus(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ITemplatePrinter_INTERFACE_DEFINED__ */


#ifndef __ITemplatePrinter2_INTERFACE_DEFINED__
#define __ITemplatePrinter2_INTERFACE_DEFINED__

/* interface ITemplatePrinter2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ITemplatePrinter2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f83f-98b5-11cf-bb82-00aa00bdce0b")
    ITemplatePrinter2 : public ITemplatePrinter
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_selectionEnabled( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_selectionEnabled( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_frameActiveEnabled( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_frameActiveEnabled( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_orientation( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_orientation( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_usePrinterCopyCollate( 
            /* [in] */ VARIANT_BOOL v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_usePrinterCopyCollate( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE deviceSupports( 
            /* [in] */ __RPC__in BSTR bstrProperty,
            /* [out][retval] */ __RPC__out VARIANT *pvar) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ITemplatePrinter2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ITemplatePrinter2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ITemplatePrinter2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ITemplatePrinter2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *startDoc )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ __RPC__in BSTR bstrTitle,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *stopDoc )( 
            __RPC__in ITemplatePrinter2 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *printBlankPage )( 
            __RPC__in ITemplatePrinter2 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *printPage )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ __RPC__in_opt IDispatch *pElemDisp);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ensurePrintDialogDefaults )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *showPrintDialog )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *showPageSetupDialog )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *printNonNative )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ __RPC__in_opt IUnknown *pMarkup,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *printNonNativeFrames )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ __RPC__in_opt IUnknown *pMarkup,
            /* [in] */ VARIANT_BOOL fActiveFrame);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_framesetDocument )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_framesetDocument )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_frameActive )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frameActive )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_frameAsShown )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frameAsShown )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_selection )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_selectedPages )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedPages )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_currentPage )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentPage )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_currentPageAvail )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentPageAvail )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_collate )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_collate )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_duplex )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_copies )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ USHORT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_copies )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out USHORT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pageFrom )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ USHORT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageFrom )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out USHORT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pageTo )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ USHORT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageTo )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out USHORT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_tableOfLinks )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_tableOfLinks )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_allLinkedDocuments )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_allLinkedDocuments )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_header )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_header )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_footer )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_footer )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marginLeft )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginLeft )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marginRight )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginRight )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marginTop )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginTop )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marginBottom )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginBottom )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageWidth )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageHeight )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unprintableLeft )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unprintableTop )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unprintableRight )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unprintableBottom )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *updatePageStatus )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ __RPC__in long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_selectionEnabled )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectionEnabled )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_frameActiveEnabled )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frameActiveEnabled )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_orientation )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_orientation )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_usePrinterCopyCollate )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_usePrinterCopyCollate )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *deviceSupports )( 
            __RPC__in ITemplatePrinter2 * This,
            /* [in] */ __RPC__in BSTR bstrProperty,
            /* [out][retval] */ __RPC__out VARIANT *pvar);
        
        END_INTERFACE
    } ITemplatePrinter2Vtbl;

    interface ITemplatePrinter2
    {
        CONST_VTBL struct ITemplatePrinter2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ITemplatePrinter2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ITemplatePrinter2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ITemplatePrinter2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ITemplatePrinter2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ITemplatePrinter2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ITemplatePrinter2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ITemplatePrinter2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ITemplatePrinter2_startDoc(This,bstrTitle,p)	\
    ( (This)->lpVtbl -> startDoc(This,bstrTitle,p) ) 

#define ITemplatePrinter2_stopDoc(This)	\
    ( (This)->lpVtbl -> stopDoc(This) ) 

#define ITemplatePrinter2_printBlankPage(This)	\
    ( (This)->lpVtbl -> printBlankPage(This) ) 

#define ITemplatePrinter2_printPage(This,pElemDisp)	\
    ( (This)->lpVtbl -> printPage(This,pElemDisp) ) 

#define ITemplatePrinter2_ensurePrintDialogDefaults(This,p)	\
    ( (This)->lpVtbl -> ensurePrintDialogDefaults(This,p) ) 

#define ITemplatePrinter2_showPrintDialog(This,p)	\
    ( (This)->lpVtbl -> showPrintDialog(This,p) ) 

#define ITemplatePrinter2_showPageSetupDialog(This,p)	\
    ( (This)->lpVtbl -> showPageSetupDialog(This,p) ) 

#define ITemplatePrinter2_printNonNative(This,pMarkup,p)	\
    ( (This)->lpVtbl -> printNonNative(This,pMarkup,p) ) 

#define ITemplatePrinter2_printNonNativeFrames(This,pMarkup,fActiveFrame)	\
    ( (This)->lpVtbl -> printNonNativeFrames(This,pMarkup,fActiveFrame) ) 

#define ITemplatePrinter2_put_framesetDocument(This,v)	\
    ( (This)->lpVtbl -> put_framesetDocument(This,v) ) 

#define ITemplatePrinter2_get_framesetDocument(This,p)	\
    ( (This)->lpVtbl -> get_framesetDocument(This,p) ) 

#define ITemplatePrinter2_put_frameActive(This,v)	\
    ( (This)->lpVtbl -> put_frameActive(This,v) ) 

#define ITemplatePrinter2_get_frameActive(This,p)	\
    ( (This)->lpVtbl -> get_frameActive(This,p) ) 

#define ITemplatePrinter2_put_frameAsShown(This,v)	\
    ( (This)->lpVtbl -> put_frameAsShown(This,v) ) 

#define ITemplatePrinter2_get_frameAsShown(This,p)	\
    ( (This)->lpVtbl -> get_frameAsShown(This,p) ) 

#define ITemplatePrinter2_put_selection(This,v)	\
    ( (This)->lpVtbl -> put_selection(This,v) ) 

#define ITemplatePrinter2_get_selection(This,p)	\
    ( (This)->lpVtbl -> get_selection(This,p) ) 

#define ITemplatePrinter2_put_selectedPages(This,v)	\
    ( (This)->lpVtbl -> put_selectedPages(This,v) ) 

#define ITemplatePrinter2_get_selectedPages(This,p)	\
    ( (This)->lpVtbl -> get_selectedPages(This,p) ) 

#define ITemplatePrinter2_put_currentPage(This,v)	\
    ( (This)->lpVtbl -> put_currentPage(This,v) ) 

#define ITemplatePrinter2_get_currentPage(This,p)	\
    ( (This)->lpVtbl -> get_currentPage(This,p) ) 

#define ITemplatePrinter2_put_currentPageAvail(This,v)	\
    ( (This)->lpVtbl -> put_currentPageAvail(This,v) ) 

#define ITemplatePrinter2_get_currentPageAvail(This,p)	\
    ( (This)->lpVtbl -> get_currentPageAvail(This,p) ) 

#define ITemplatePrinter2_put_collate(This,v)	\
    ( (This)->lpVtbl -> put_collate(This,v) ) 

#define ITemplatePrinter2_get_collate(This,p)	\
    ( (This)->lpVtbl -> get_collate(This,p) ) 

#define ITemplatePrinter2_get_duplex(This,p)	\
    ( (This)->lpVtbl -> get_duplex(This,p) ) 

#define ITemplatePrinter2_put_copies(This,v)	\
    ( (This)->lpVtbl -> put_copies(This,v) ) 

#define ITemplatePrinter2_get_copies(This,p)	\
    ( (This)->lpVtbl -> get_copies(This,p) ) 

#define ITemplatePrinter2_put_pageFrom(This,v)	\
    ( (This)->lpVtbl -> put_pageFrom(This,v) ) 

#define ITemplatePrinter2_get_pageFrom(This,p)	\
    ( (This)->lpVtbl -> get_pageFrom(This,p) ) 

#define ITemplatePrinter2_put_pageTo(This,v)	\
    ( (This)->lpVtbl -> put_pageTo(This,v) ) 

#define ITemplatePrinter2_get_pageTo(This,p)	\
    ( (This)->lpVtbl -> get_pageTo(This,p) ) 

#define ITemplatePrinter2_put_tableOfLinks(This,v)	\
    ( (This)->lpVtbl -> put_tableOfLinks(This,v) ) 

#define ITemplatePrinter2_get_tableOfLinks(This,p)	\
    ( (This)->lpVtbl -> get_tableOfLinks(This,p) ) 

#define ITemplatePrinter2_put_allLinkedDocuments(This,v)	\
    ( (This)->lpVtbl -> put_allLinkedDocuments(This,v) ) 

#define ITemplatePrinter2_get_allLinkedDocuments(This,p)	\
    ( (This)->lpVtbl -> get_allLinkedDocuments(This,p) ) 

#define ITemplatePrinter2_put_header(This,v)	\
    ( (This)->lpVtbl -> put_header(This,v) ) 

#define ITemplatePrinter2_get_header(This,p)	\
    ( (This)->lpVtbl -> get_header(This,p) ) 

#define ITemplatePrinter2_put_footer(This,v)	\
    ( (This)->lpVtbl -> put_footer(This,v) ) 

#define ITemplatePrinter2_get_footer(This,p)	\
    ( (This)->lpVtbl -> get_footer(This,p) ) 

#define ITemplatePrinter2_put_marginLeft(This,v)	\
    ( (This)->lpVtbl -> put_marginLeft(This,v) ) 

#define ITemplatePrinter2_get_marginLeft(This,p)	\
    ( (This)->lpVtbl -> get_marginLeft(This,p) ) 

#define ITemplatePrinter2_put_marginRight(This,v)	\
    ( (This)->lpVtbl -> put_marginRight(This,v) ) 

#define ITemplatePrinter2_get_marginRight(This,p)	\
    ( (This)->lpVtbl -> get_marginRight(This,p) ) 

#define ITemplatePrinter2_put_marginTop(This,v)	\
    ( (This)->lpVtbl -> put_marginTop(This,v) ) 

#define ITemplatePrinter2_get_marginTop(This,p)	\
    ( (This)->lpVtbl -> get_marginTop(This,p) ) 

#define ITemplatePrinter2_put_marginBottom(This,v)	\
    ( (This)->lpVtbl -> put_marginBottom(This,v) ) 

#define ITemplatePrinter2_get_marginBottom(This,p)	\
    ( (This)->lpVtbl -> get_marginBottom(This,p) ) 

#define ITemplatePrinter2_get_pageWidth(This,p)	\
    ( (This)->lpVtbl -> get_pageWidth(This,p) ) 

#define ITemplatePrinter2_get_pageHeight(This,p)	\
    ( (This)->lpVtbl -> get_pageHeight(This,p) ) 

#define ITemplatePrinter2_get_unprintableLeft(This,p)	\
    ( (This)->lpVtbl -> get_unprintableLeft(This,p) ) 

#define ITemplatePrinter2_get_unprintableTop(This,p)	\
    ( (This)->lpVtbl -> get_unprintableTop(This,p) ) 

#define ITemplatePrinter2_get_unprintableRight(This,p)	\
    ( (This)->lpVtbl -> get_unprintableRight(This,p) ) 

#define ITemplatePrinter2_get_unprintableBottom(This,p)	\
    ( (This)->lpVtbl -> get_unprintableBottom(This,p) ) 

#define ITemplatePrinter2_updatePageStatus(This,p)	\
    ( (This)->lpVtbl -> updatePageStatus(This,p) ) 


#define ITemplatePrinter2_put_selectionEnabled(This,v)	\
    ( (This)->lpVtbl -> put_selectionEnabled(This,v) ) 

#define ITemplatePrinter2_get_selectionEnabled(This,p)	\
    ( (This)->lpVtbl -> get_selectionEnabled(This,p) ) 

#define ITemplatePrinter2_put_frameActiveEnabled(This,v)	\
    ( (This)->lpVtbl -> put_frameActiveEnabled(This,v) ) 

#define ITemplatePrinter2_get_frameActiveEnabled(This,p)	\
    ( (This)->lpVtbl -> get_frameActiveEnabled(This,p) ) 

#define ITemplatePrinter2_put_orientation(This,v)	\
    ( (This)->lpVtbl -> put_orientation(This,v) ) 

#define ITemplatePrinter2_get_orientation(This,p)	\
    ( (This)->lpVtbl -> get_orientation(This,p) ) 

#define ITemplatePrinter2_put_usePrinterCopyCollate(This,v)	\
    ( (This)->lpVtbl -> put_usePrinterCopyCollate(This,v) ) 

#define ITemplatePrinter2_get_usePrinterCopyCollate(This,p)	\
    ( (This)->lpVtbl -> get_usePrinterCopyCollate(This,p) ) 

#define ITemplatePrinter2_deviceSupports(This,bstrProperty,pvar)	\
    ( (This)->lpVtbl -> deviceSupports(This,bstrProperty,pvar) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ITemplatePrinter2_INTERFACE_DEFINED__ */


#ifndef __ITemplatePrinter3_INTERFACE_DEFINED__
#define __ITemplatePrinter3_INTERFACE_DEFINED__

/* interface ITemplatePrinter3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ITemplatePrinter3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305104a3-98b5-11cf-bb82-00aa00bdce0b")
    ITemplatePrinter3 : public ITemplatePrinter2
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_headerFooterFont( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_headerFooterFont( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getPageMarginTop( 
            /* [in] */ __RPC__in_opt IDispatch *pageRule,
            /* [in] */ long pageWidth,
            /* [in] */ long pageHeight,
            /* [out][retval] */ __RPC__out VARIANT *pMargin) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getPageMarginRight( 
            /* [in] */ __RPC__in_opt IDispatch *pageRule,
            /* [in] */ long pageWidth,
            /* [in] */ long pageHeight,
            /* [out][retval] */ __RPC__out VARIANT *pMargin) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getPageMarginBottom( 
            /* [in] */ __RPC__in_opt IDispatch *pageRule,
            /* [in] */ long pageWidth,
            /* [in] */ long pageHeight,
            /* [out][retval] */ __RPC__out VARIANT *pMargin) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getPageMarginLeft( 
            /* [in] */ __RPC__in_opt IDispatch *pageRule,
            /* [in] */ long pageWidth,
            /* [in] */ long pageHeight,
            /* [out][retval] */ __RPC__out VARIANT *pMargin) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getPageMarginTopImportant( 
            /* [in] */ __RPC__in_opt IDispatch *pageRule,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pbImportant) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getPageMarginRightImportant( 
            /* [in] */ __RPC__in_opt IDispatch *pageRule,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pbImportant) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getPageMarginBottomImportant( 
            /* [in] */ __RPC__in_opt IDispatch *pageRule,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pbImportant) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getPageMarginLeftImportant( 
            /* [in] */ __RPC__in_opt IDispatch *pageRule,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pbImportant) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ITemplatePrinter3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ITemplatePrinter3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ITemplatePrinter3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ITemplatePrinter3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *startDoc )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ __RPC__in BSTR bstrTitle,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *stopDoc )( 
            __RPC__in ITemplatePrinter3 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *printBlankPage )( 
            __RPC__in ITemplatePrinter3 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *printPage )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ __RPC__in_opt IDispatch *pElemDisp);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ensurePrintDialogDefaults )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *showPrintDialog )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *showPageSetupDialog )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *printNonNative )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ __RPC__in_opt IUnknown *pMarkup,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *printNonNativeFrames )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ __RPC__in_opt IUnknown *pMarkup,
            /* [in] */ VARIANT_BOOL fActiveFrame);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_framesetDocument )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_framesetDocument )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_frameActive )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frameActive )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_frameAsShown )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frameAsShown )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_selection )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_selectedPages )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedPages )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_currentPage )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentPage )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_currentPageAvail )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentPageAvail )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_collate )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_collate )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_duplex )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_copies )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ USHORT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_copies )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out USHORT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pageFrom )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ USHORT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageFrom )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out USHORT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pageTo )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ USHORT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageTo )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out USHORT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_tableOfLinks )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_tableOfLinks )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_allLinkedDocuments )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_allLinkedDocuments )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_header )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_header )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_footer )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_footer )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marginLeft )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginLeft )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marginRight )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginRight )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marginTop )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginTop )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_marginBottom )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ long v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_marginBottom )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageWidth )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pageHeight )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unprintableLeft )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unprintableTop )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unprintableRight )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unprintableBottom )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *updatePageStatus )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ __RPC__in long *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_selectionEnabled )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectionEnabled )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_frameActiveEnabled )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frameActiveEnabled )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_orientation )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_orientation )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_usePrinterCopyCollate )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ VARIANT_BOOL v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_usePrinterCopyCollate )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *deviceSupports )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ __RPC__in BSTR bstrProperty,
            /* [out][retval] */ __RPC__out VARIANT *pvar);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_headerFooterFont )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_headerFooterFont )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getPageMarginTop )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ __RPC__in_opt IDispatch *pageRule,
            /* [in] */ long pageWidth,
            /* [in] */ long pageHeight,
            /* [out][retval] */ __RPC__out VARIANT *pMargin);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getPageMarginRight )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ __RPC__in_opt IDispatch *pageRule,
            /* [in] */ long pageWidth,
            /* [in] */ long pageHeight,
            /* [out][retval] */ __RPC__out VARIANT *pMargin);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getPageMarginBottom )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ __RPC__in_opt IDispatch *pageRule,
            /* [in] */ long pageWidth,
            /* [in] */ long pageHeight,
            /* [out][retval] */ __RPC__out VARIANT *pMargin);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getPageMarginLeft )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ __RPC__in_opt IDispatch *pageRule,
            /* [in] */ long pageWidth,
            /* [in] */ long pageHeight,
            /* [out][retval] */ __RPC__out VARIANT *pMargin);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getPageMarginTopImportant )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ __RPC__in_opt IDispatch *pageRule,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pbImportant);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getPageMarginRightImportant )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ __RPC__in_opt IDispatch *pageRule,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pbImportant);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getPageMarginBottomImportant )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ __RPC__in_opt IDispatch *pageRule,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pbImportant);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getPageMarginLeftImportant )( 
            __RPC__in ITemplatePrinter3 * This,
            /* [in] */ __RPC__in_opt IDispatch *pageRule,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pbImportant);
        
        END_INTERFACE
    } ITemplatePrinter3Vtbl;

    interface ITemplatePrinter3
    {
        CONST_VTBL struct ITemplatePrinter3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ITemplatePrinter3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ITemplatePrinter3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ITemplatePrinter3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ITemplatePrinter3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ITemplatePrinter3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ITemplatePrinter3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ITemplatePrinter3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ITemplatePrinter3_startDoc(This,bstrTitle,p)	\
    ( (This)->lpVtbl -> startDoc(This,bstrTitle,p) ) 

#define ITemplatePrinter3_stopDoc(This)	\
    ( (This)->lpVtbl -> stopDoc(This) ) 

#define ITemplatePrinter3_printBlankPage(This)	\
    ( (This)->lpVtbl -> printBlankPage(This) ) 

#define ITemplatePrinter3_printPage(This,pElemDisp)	\
    ( (This)->lpVtbl -> printPage(This,pElemDisp) ) 

#define ITemplatePrinter3_ensurePrintDialogDefaults(This,p)	\
    ( (This)->lpVtbl -> ensurePrintDialogDefaults(This,p) ) 

#define ITemplatePrinter3_showPrintDialog(This,p)	\
    ( (This)->lpVtbl -> showPrintDialog(This,p) ) 

#define ITemplatePrinter3_showPageSetupDialog(This,p)	\
    ( (This)->lpVtbl -> showPageSetupDialog(This,p) ) 

#define ITemplatePrinter3_printNonNative(This,pMarkup,p)	\
    ( (This)->lpVtbl -> printNonNative(This,pMarkup,p) ) 

#define ITemplatePrinter3_printNonNativeFrames(This,pMarkup,fActiveFrame)	\
    ( (This)->lpVtbl -> printNonNativeFrames(This,pMarkup,fActiveFrame) ) 

#define ITemplatePrinter3_put_framesetDocument(This,v)	\
    ( (This)->lpVtbl -> put_framesetDocument(This,v) ) 

#define ITemplatePrinter3_get_framesetDocument(This,p)	\
    ( (This)->lpVtbl -> get_framesetDocument(This,p) ) 

#define ITemplatePrinter3_put_frameActive(This,v)	\
    ( (This)->lpVtbl -> put_frameActive(This,v) ) 

#define ITemplatePrinter3_get_frameActive(This,p)	\
    ( (This)->lpVtbl -> get_frameActive(This,p) ) 

#define ITemplatePrinter3_put_frameAsShown(This,v)	\
    ( (This)->lpVtbl -> put_frameAsShown(This,v) ) 

#define ITemplatePrinter3_get_frameAsShown(This,p)	\
    ( (This)->lpVtbl -> get_frameAsShown(This,p) ) 

#define ITemplatePrinter3_put_selection(This,v)	\
    ( (This)->lpVtbl -> put_selection(This,v) ) 

#define ITemplatePrinter3_get_selection(This,p)	\
    ( (This)->lpVtbl -> get_selection(This,p) ) 

#define ITemplatePrinter3_put_selectedPages(This,v)	\
    ( (This)->lpVtbl -> put_selectedPages(This,v) ) 

#define ITemplatePrinter3_get_selectedPages(This,p)	\
    ( (This)->lpVtbl -> get_selectedPages(This,p) ) 

#define ITemplatePrinter3_put_currentPage(This,v)	\
    ( (This)->lpVtbl -> put_currentPage(This,v) ) 

#define ITemplatePrinter3_get_currentPage(This,p)	\
    ( (This)->lpVtbl -> get_currentPage(This,p) ) 

#define ITemplatePrinter3_put_currentPageAvail(This,v)	\
    ( (This)->lpVtbl -> put_currentPageAvail(This,v) ) 

#define ITemplatePrinter3_get_currentPageAvail(This,p)	\
    ( (This)->lpVtbl -> get_currentPageAvail(This,p) ) 

#define ITemplatePrinter3_put_collate(This,v)	\
    ( (This)->lpVtbl -> put_collate(This,v) ) 

#define ITemplatePrinter3_get_collate(This,p)	\
    ( (This)->lpVtbl -> get_collate(This,p) ) 

#define ITemplatePrinter3_get_duplex(This,p)	\
    ( (This)->lpVtbl -> get_duplex(This,p) ) 

#define ITemplatePrinter3_put_copies(This,v)	\
    ( (This)->lpVtbl -> put_copies(This,v) ) 

#define ITemplatePrinter3_get_copies(This,p)	\
    ( (This)->lpVtbl -> get_copies(This,p) ) 

#define ITemplatePrinter3_put_pageFrom(This,v)	\
    ( (This)->lpVtbl -> put_pageFrom(This,v) ) 

#define ITemplatePrinter3_get_pageFrom(This,p)	\
    ( (This)->lpVtbl -> get_pageFrom(This,p) ) 

#define ITemplatePrinter3_put_pageTo(This,v)	\
    ( (This)->lpVtbl -> put_pageTo(This,v) ) 

#define ITemplatePrinter3_get_pageTo(This,p)	\
    ( (This)->lpVtbl -> get_pageTo(This,p) ) 

#define ITemplatePrinter3_put_tableOfLinks(This,v)	\
    ( (This)->lpVtbl -> put_tableOfLinks(This,v) ) 

#define ITemplatePrinter3_get_tableOfLinks(This,p)	\
    ( (This)->lpVtbl -> get_tableOfLinks(This,p) ) 

#define ITemplatePrinter3_put_allLinkedDocuments(This,v)	\
    ( (This)->lpVtbl -> put_allLinkedDocuments(This,v) ) 

#define ITemplatePrinter3_get_allLinkedDocuments(This,p)	\
    ( (This)->lpVtbl -> get_allLinkedDocuments(This,p) ) 

#define ITemplatePrinter3_put_header(This,v)	\
    ( (This)->lpVtbl -> put_header(This,v) ) 

#define ITemplatePrinter3_get_header(This,p)	\
    ( (This)->lpVtbl -> get_header(This,p) ) 

#define ITemplatePrinter3_put_footer(This,v)	\
    ( (This)->lpVtbl -> put_footer(This,v) ) 

#define ITemplatePrinter3_get_footer(This,p)	\
    ( (This)->lpVtbl -> get_footer(This,p) ) 

#define ITemplatePrinter3_put_marginLeft(This,v)	\
    ( (This)->lpVtbl -> put_marginLeft(This,v) ) 

#define ITemplatePrinter3_get_marginLeft(This,p)	\
    ( (This)->lpVtbl -> get_marginLeft(This,p) ) 

#define ITemplatePrinter3_put_marginRight(This,v)	\
    ( (This)->lpVtbl -> put_marginRight(This,v) ) 

#define ITemplatePrinter3_get_marginRight(This,p)	\
    ( (This)->lpVtbl -> get_marginRight(This,p) ) 

#define ITemplatePrinter3_put_marginTop(This,v)	\
    ( (This)->lpVtbl -> put_marginTop(This,v) ) 

#define ITemplatePrinter3_get_marginTop(This,p)	\
    ( (This)->lpVtbl -> get_marginTop(This,p) ) 

#define ITemplatePrinter3_put_marginBottom(This,v)	\
    ( (This)->lpVtbl -> put_marginBottom(This,v) ) 

#define ITemplatePrinter3_get_marginBottom(This,p)	\
    ( (This)->lpVtbl -> get_marginBottom(This,p) ) 

#define ITemplatePrinter3_get_pageWidth(This,p)	\
    ( (This)->lpVtbl -> get_pageWidth(This,p) ) 

#define ITemplatePrinter3_get_pageHeight(This,p)	\
    ( (This)->lpVtbl -> get_pageHeight(This,p) ) 

#define ITemplatePrinter3_get_unprintableLeft(This,p)	\
    ( (This)->lpVtbl -> get_unprintableLeft(This,p) ) 

#define ITemplatePrinter3_get_unprintableTop(This,p)	\
    ( (This)->lpVtbl -> get_unprintableTop(This,p) ) 

#define ITemplatePrinter3_get_unprintableRight(This,p)	\
    ( (This)->lpVtbl -> get_unprintableRight(This,p) ) 

#define ITemplatePrinter3_get_unprintableBottom(This,p)	\
    ( (This)->lpVtbl -> get_unprintableBottom(This,p) ) 

#define ITemplatePrinter3_updatePageStatus(This,p)	\
    ( (This)->lpVtbl -> updatePageStatus(This,p) ) 


#define ITemplatePrinter3_put_selectionEnabled(This,v)	\
    ( (This)->lpVtbl -> put_selectionEnabled(This,v) ) 

#define ITemplatePrinter3_get_selectionEnabled(This,p)	\
    ( (This)->lpVtbl -> get_selectionEnabled(This,p) ) 

#define ITemplatePrinter3_put_frameActiveEnabled(This,v)	\
    ( (This)->lpVtbl -> put_frameActiveEnabled(This,v) ) 

#define ITemplatePrinter3_get_frameActiveEnabled(This,p)	\
    ( (This)->lpVtbl -> get_frameActiveEnabled(This,p) ) 

#define ITemplatePrinter3_put_orientation(This,v)	\
    ( (This)->lpVtbl -> put_orientation(This,v) ) 

#define ITemplatePrinter3_get_orientation(This,p)	\
    ( (This)->lpVtbl -> get_orientation(This,p) ) 

#define ITemplatePrinter3_put_usePrinterCopyCollate(This,v)	\
    ( (This)->lpVtbl -> put_usePrinterCopyCollate(This,v) ) 

#define ITemplatePrinter3_get_usePrinterCopyCollate(This,p)	\
    ( (This)->lpVtbl -> get_usePrinterCopyCollate(This,p) ) 

#define ITemplatePrinter3_deviceSupports(This,bstrProperty,pvar)	\
    ( (This)->lpVtbl -> deviceSupports(This,bstrProperty,pvar) ) 


#define ITemplatePrinter3_put_headerFooterFont(This,v)	\
    ( (This)->lpVtbl -> put_headerFooterFont(This,v) ) 

#define ITemplatePrinter3_get_headerFooterFont(This,p)	\
    ( (This)->lpVtbl -> get_headerFooterFont(This,p) ) 

#define ITemplatePrinter3_getPageMarginTop(This,pageRule,pageWidth,pageHeight,pMargin)	\
    ( (This)->lpVtbl -> getPageMarginTop(This,pageRule,pageWidth,pageHeight,pMargin) ) 

#define ITemplatePrinter3_getPageMarginRight(This,pageRule,pageWidth,pageHeight,pMargin)	\
    ( (This)->lpVtbl -> getPageMarginRight(This,pageRule,pageWidth,pageHeight,pMargin) ) 

#define ITemplatePrinter3_getPageMarginBottom(This,pageRule,pageWidth,pageHeight,pMargin)	\
    ( (This)->lpVtbl -> getPageMarginBottom(This,pageRule,pageWidth,pageHeight,pMargin) ) 

#define ITemplatePrinter3_getPageMarginLeft(This,pageRule,pageWidth,pageHeight,pMargin)	\
    ( (This)->lpVtbl -> getPageMarginLeft(This,pageRule,pageWidth,pageHeight,pMargin) ) 

#define ITemplatePrinter3_getPageMarginTopImportant(This,pageRule,pbImportant)	\
    ( (This)->lpVtbl -> getPageMarginTopImportant(This,pageRule,pbImportant) ) 

#define ITemplatePrinter3_getPageMarginRightImportant(This,pageRule,pbImportant)	\
    ( (This)->lpVtbl -> getPageMarginRightImportant(This,pageRule,pbImportant) ) 

#define ITemplatePrinter3_getPageMarginBottomImportant(This,pageRule,pbImportant)	\
    ( (This)->lpVtbl -> getPageMarginBottomImportant(This,pageRule,pbImportant) ) 

#define ITemplatePrinter3_getPageMarginLeftImportant(This,pageRule,pbImportant)	\
    ( (This)->lpVtbl -> getPageMarginLeftImportant(This,pageRule,pbImportant) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ITemplatePrinter3_INTERFACE_DEFINED__ */


#ifndef __IPrintManagerTemplatePrinter_INTERFACE_DEFINED__
#define __IPrintManagerTemplatePrinter_INTERFACE_DEFINED__

/* interface IPrintManagerTemplatePrinter */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IPrintManagerTemplatePrinter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("f633be14-9eff-4c4d-929e-05717b21b3e6")
    IPrintManagerTemplatePrinter : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE startPrint( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE drawPreviewPage( 
            /* [in] */ __RPC__in_opt IDispatch *pElemDisp,
            /* [in] */ long nPage) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setPageCount( 
            /* [in] */ long nPage) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE invalidatePreview( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getPrintTaskOptionValue( 
            /* [in] */ __RPC__in BSTR bstrKey,
            /* [out][retval] */ __RPC__out VARIANT *pvarin) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE endPrint( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IPrintManagerTemplatePrinterVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IPrintManagerTemplatePrinter * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IPrintManagerTemplatePrinter * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IPrintManagerTemplatePrinter * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IPrintManagerTemplatePrinter * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IPrintManagerTemplatePrinter * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IPrintManagerTemplatePrinter * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IPrintManagerTemplatePrinter * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *startPrint )( 
            __RPC__in IPrintManagerTemplatePrinter * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *drawPreviewPage )( 
            __RPC__in IPrintManagerTemplatePrinter * This,
            /* [in] */ __RPC__in_opt IDispatch *pElemDisp,
            /* [in] */ long nPage);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setPageCount )( 
            __RPC__in IPrintManagerTemplatePrinter * This,
            /* [in] */ long nPage);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *invalidatePreview )( 
            __RPC__in IPrintManagerTemplatePrinter * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getPrintTaskOptionValue )( 
            __RPC__in IPrintManagerTemplatePrinter * This,
            /* [in] */ __RPC__in BSTR bstrKey,
            /* [out][retval] */ __RPC__out VARIANT *pvarin);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *endPrint )( 
            __RPC__in IPrintManagerTemplatePrinter * This);
        
        END_INTERFACE
    } IPrintManagerTemplatePrinterVtbl;

    interface IPrintManagerTemplatePrinter
    {
        CONST_VTBL struct IPrintManagerTemplatePrinterVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IPrintManagerTemplatePrinter_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IPrintManagerTemplatePrinter_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IPrintManagerTemplatePrinter_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IPrintManagerTemplatePrinter_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IPrintManagerTemplatePrinter_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IPrintManagerTemplatePrinter_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IPrintManagerTemplatePrinter_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IPrintManagerTemplatePrinter_startPrint(This)	\
    ( (This)->lpVtbl -> startPrint(This) ) 

#define IPrintManagerTemplatePrinter_drawPreviewPage(This,pElemDisp,nPage)	\
    ( (This)->lpVtbl -> drawPreviewPage(This,pElemDisp,nPage) ) 

#define IPrintManagerTemplatePrinter_setPageCount(This,nPage)	\
    ( (This)->lpVtbl -> setPageCount(This,nPage) ) 

#define IPrintManagerTemplatePrinter_invalidatePreview(This)	\
    ( (This)->lpVtbl -> invalidatePreview(This) ) 

#define IPrintManagerTemplatePrinter_getPrintTaskOptionValue(This,bstrKey,pvarin)	\
    ( (This)->lpVtbl -> getPrintTaskOptionValue(This,bstrKey,pvarin) ) 

#define IPrintManagerTemplatePrinter_endPrint(This)	\
    ( (This)->lpVtbl -> endPrint(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IPrintManagerTemplatePrinter_INTERFACE_DEFINED__ */


#ifndef __IPrintManagerTemplatePrinter2_INTERFACE_DEFINED__
#define __IPrintManagerTemplatePrinter2_INTERFACE_DEFINED__

/* interface IPrintManagerTemplatePrinter2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IPrintManagerTemplatePrinter2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c6403497-7493-4f09-8016-54b03e9bda69")
    IPrintManagerTemplatePrinter2 : public IPrintManagerTemplatePrinter
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_showHeaderFooter( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_shrinkToFit( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_percentScale( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IPrintManagerTemplatePrinter2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IPrintManagerTemplatePrinter2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IPrintManagerTemplatePrinter2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IPrintManagerTemplatePrinter2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IPrintManagerTemplatePrinter2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IPrintManagerTemplatePrinter2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IPrintManagerTemplatePrinter2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IPrintManagerTemplatePrinter2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *startPrint )( 
            __RPC__in IPrintManagerTemplatePrinter2 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *drawPreviewPage )( 
            __RPC__in IPrintManagerTemplatePrinter2 * This,
            /* [in] */ __RPC__in_opt IDispatch *pElemDisp,
            /* [in] */ long nPage);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setPageCount )( 
            __RPC__in IPrintManagerTemplatePrinter2 * This,
            /* [in] */ long nPage);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *invalidatePreview )( 
            __RPC__in IPrintManagerTemplatePrinter2 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getPrintTaskOptionValue )( 
            __RPC__in IPrintManagerTemplatePrinter2 * This,
            /* [in] */ __RPC__in BSTR bstrKey,
            /* [out][retval] */ __RPC__out VARIANT *pvarin);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *endPrint )( 
            __RPC__in IPrintManagerTemplatePrinter2 * This);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_showHeaderFooter )( 
            __RPC__in IPrintManagerTemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_shrinkToFit )( 
            __RPC__in IPrintManagerTemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_percentScale )( 
            __RPC__in IPrintManagerTemplatePrinter2 * This,
            /* [out][retval] */ __RPC__out float *p);
        
        END_INTERFACE
    } IPrintManagerTemplatePrinter2Vtbl;

    interface IPrintManagerTemplatePrinter2
    {
        CONST_VTBL struct IPrintManagerTemplatePrinter2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IPrintManagerTemplatePrinter2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IPrintManagerTemplatePrinter2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IPrintManagerTemplatePrinter2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IPrintManagerTemplatePrinter2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IPrintManagerTemplatePrinter2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IPrintManagerTemplatePrinter2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IPrintManagerTemplatePrinter2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IPrintManagerTemplatePrinter2_startPrint(This)	\
    ( (This)->lpVtbl -> startPrint(This) ) 

#define IPrintManagerTemplatePrinter2_drawPreviewPage(This,pElemDisp,nPage)	\
    ( (This)->lpVtbl -> drawPreviewPage(This,pElemDisp,nPage) ) 

#define IPrintManagerTemplatePrinter2_setPageCount(This,nPage)	\
    ( (This)->lpVtbl -> setPageCount(This,nPage) ) 

#define IPrintManagerTemplatePrinter2_invalidatePreview(This)	\
    ( (This)->lpVtbl -> invalidatePreview(This) ) 

#define IPrintManagerTemplatePrinter2_getPrintTaskOptionValue(This,bstrKey,pvarin)	\
    ( (This)->lpVtbl -> getPrintTaskOptionValue(This,bstrKey,pvarin) ) 

#define IPrintManagerTemplatePrinter2_endPrint(This)	\
    ( (This)->lpVtbl -> endPrint(This) ) 


#define IPrintManagerTemplatePrinter2_get_showHeaderFooter(This,p)	\
    ( (This)->lpVtbl -> get_showHeaderFooter(This,p) ) 

#define IPrintManagerTemplatePrinter2_get_shrinkToFit(This,p)	\
    ( (This)->lpVtbl -> get_shrinkToFit(This,p) ) 

#define IPrintManagerTemplatePrinter2_get_percentScale(This,p)	\
    ( (This)->lpVtbl -> get_percentScale(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IPrintManagerTemplatePrinter2_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_CTemplatePrinter;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f6b3-98b5-11cf-bb82-00aa00bdce0b")
CTemplatePrinter;
#endif

#ifndef __DispCPrintManagerTemplatePrinter_DISPINTERFACE_DEFINED__
#define __DispCPrintManagerTemplatePrinter_DISPINTERFACE_DEFINED__

/* dispinterface DispCPrintManagerTemplatePrinter */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispCPrintManagerTemplatePrinter;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("305900e9-98b5-11cf-bb82-00aa00bdce0b")
    DispCPrintManagerTemplatePrinter : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispCPrintManagerTemplatePrinterVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispCPrintManagerTemplatePrinter * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispCPrintManagerTemplatePrinter * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispCPrintManagerTemplatePrinter * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispCPrintManagerTemplatePrinter * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispCPrintManagerTemplatePrinter * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispCPrintManagerTemplatePrinter * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispCPrintManagerTemplatePrinter * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispCPrintManagerTemplatePrinterVtbl;

    interface DispCPrintManagerTemplatePrinter
    {
        CONST_VTBL struct DispCPrintManagerTemplatePrinterVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispCPrintManagerTemplatePrinter_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispCPrintManagerTemplatePrinter_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispCPrintManagerTemplatePrinter_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispCPrintManagerTemplatePrinter_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispCPrintManagerTemplatePrinter_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispCPrintManagerTemplatePrinter_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispCPrintManagerTemplatePrinter_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispCPrintManagerTemplatePrinter_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_CPrintManagerTemplatePrinter;

#ifdef __cplusplus

class DECLSPEC_UUID("63619f54-9d71-4c23-a08d-50d7f18db2e9")
CPrintManagerTemplatePrinter;
#endif

#ifndef __ISVGTextPathElement_INTERFACE_DEFINED__
#define __ISVGTextPathElement_INTERFACE_DEFINED__

/* interface ISVGTextPathElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_ISVGTextPathElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051051f-98b5-11cf-bb82-00aa00bdce0b")
    ISVGTextPathElement : public IDispatch
    {
    public:
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_startOffset( 
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_startOffset( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_method( 
            /* [in] */ __RPC__in_opt ISVGAnimatedEnumeration *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_method( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedEnumeration **p) = 0;
        
        virtual /* [id][propputref] */ HRESULT STDMETHODCALLTYPE putref_spacing( 
            /* [in] */ __RPC__in_opt ISVGAnimatedEnumeration *v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_spacing( 
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedEnumeration **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISVGTextPathElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISVGTextPathElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISVGTextPathElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISVGTextPathElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in ISVGTextPathElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in ISVGTextPathElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in ISVGTextPathElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISVGTextPathElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_startOffset )( 
            __RPC__in ISVGTextPathElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedLength *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_startOffset )( 
            __RPC__in ISVGTextPathElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedLength **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_method )( 
            __RPC__in ISVGTextPathElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedEnumeration *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_method )( 
            __RPC__in ISVGTextPathElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedEnumeration **p);
        
        /* [id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_spacing )( 
            __RPC__in ISVGTextPathElement * This,
            /* [in] */ __RPC__in_opt ISVGAnimatedEnumeration *v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_spacing )( 
            __RPC__in ISVGTextPathElement * This,
            /* [out][retval] */ __RPC__deref_out_opt ISVGAnimatedEnumeration **p);
        
        END_INTERFACE
    } ISVGTextPathElementVtbl;

    interface ISVGTextPathElement
    {
        CONST_VTBL struct ISVGTextPathElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISVGTextPathElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISVGTextPathElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISVGTextPathElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISVGTextPathElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISVGTextPathElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISVGTextPathElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISVGTextPathElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISVGTextPathElement_putref_startOffset(This,v)	\
    ( (This)->lpVtbl -> putref_startOffset(This,v) ) 

#define ISVGTextPathElement_get_startOffset(This,p)	\
    ( (This)->lpVtbl -> get_startOffset(This,p) ) 

#define ISVGTextPathElement_putref_method(This,v)	\
    ( (This)->lpVtbl -> putref_method(This,v) ) 

#define ISVGTextPathElement_get_method(This,p)	\
    ( (This)->lpVtbl -> get_method(This,p) ) 

#define ISVGTextPathElement_putref_spacing(This,v)	\
    ( (This)->lpVtbl -> putref_spacing(This,v) ) 

#define ISVGTextPathElement_get_spacing(This,p)	\
    ( (This)->lpVtbl -> get_spacing(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISVGTextPathElement_INTERFACE_DEFINED__ */


#ifndef __DispSVGTextPathElement_DISPINTERFACE_DEFINED__
#define __DispSVGTextPathElement_DISPINTERFACE_DEFINED__

/* dispinterface DispSVGTextPathElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispSVGTextPathElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3059003D-98b5-11cf-bb82-00aa00bdce0b")
    DispSVGTextPathElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispSVGTextPathElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispSVGTextPathElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispSVGTextPathElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispSVGTextPathElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispSVGTextPathElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispSVGTextPathElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispSVGTextPathElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispSVGTextPathElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispSVGTextPathElementVtbl;

    interface DispSVGTextPathElement
    {
        CONST_VTBL struct DispSVGTextPathElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispSVGTextPathElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispSVGTextPathElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispSVGTextPathElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispSVGTextPathElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispSVGTextPathElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispSVGTextPathElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispSVGTextPathElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispSVGTextPathElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SVGTextPathElement;

#ifdef __cplusplus

class DECLSPEC_UUID("305105eb-98b5-11cf-bb82-00aa00bdce0b")
SVGTextPathElement;
#endif

#ifndef __IDOMXmlSerializer_INTERFACE_DEFINED__
#define __IDOMXmlSerializer_INTERFACE_DEFINED__

/* interface IDOMXmlSerializer */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMXmlSerializer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051077d-98b5-11cf-bb82-00aa00bdce0b")
    IDOMXmlSerializer : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE serializeToString( 
            /* [in] */ __RPC__in_opt IHTMLDOMNode *pNode,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pString) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMXmlSerializerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMXmlSerializer * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMXmlSerializer * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMXmlSerializer * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMXmlSerializer * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMXmlSerializer * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMXmlSerializer * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMXmlSerializer * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *serializeToString )( 
            __RPC__in IDOMXmlSerializer * This,
            /* [in] */ __RPC__in_opt IHTMLDOMNode *pNode,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pString);
        
        END_INTERFACE
    } IDOMXmlSerializerVtbl;

    interface IDOMXmlSerializer
    {
        CONST_VTBL struct IDOMXmlSerializerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMXmlSerializer_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMXmlSerializer_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMXmlSerializer_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMXmlSerializer_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMXmlSerializer_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMXmlSerializer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMXmlSerializer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMXmlSerializer_serializeToString(This,pNode,pString)	\
    ( (This)->lpVtbl -> serializeToString(This,pNode,pString) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMXmlSerializer_INTERFACE_DEFINED__ */


#ifndef __IDOMParser_INTERFACE_DEFINED__
#define __IDOMParser_INTERFACE_DEFINED__

/* interface IDOMParser */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMParser;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510781-98b5-11cf-bb82-00aa00bdce0b")
    IDOMParser : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE parseFromString( 
            /* [in] */ __RPC__in BSTR xmlSource,
            /* [in] */ __RPC__in BSTR mimeType,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDocument2 **ppNode) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMParserVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMParser * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMParser * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMParser * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMParser * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMParser * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMParser * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMParser * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *parseFromString )( 
            __RPC__in IDOMParser * This,
            /* [in] */ __RPC__in BSTR xmlSource,
            /* [in] */ __RPC__in BSTR mimeType,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDocument2 **ppNode);
        
        END_INTERFACE
    } IDOMParserVtbl;

    interface IDOMParser
    {
        CONST_VTBL struct IDOMParserVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMParser_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMParser_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMParser_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMParser_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMParser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMParser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMParser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMParser_parseFromString(This,xmlSource,mimeType,ppNode)	\
    ( (This)->lpVtbl -> parseFromString(This,xmlSource,mimeType,ppNode) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMParser_INTERFACE_DEFINED__ */


#ifndef __DispXMLSerializer_DISPINTERFACE_DEFINED__
#define __DispXMLSerializer_DISPINTERFACE_DEFINED__

/* dispinterface DispXMLSerializer */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispXMLSerializer;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("305900ad-98b5-11cf-bb82-00aa00bdce0b")
    DispXMLSerializer : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispXMLSerializerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispXMLSerializer * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispXMLSerializer * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispXMLSerializer * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispXMLSerializer * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispXMLSerializer * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispXMLSerializer * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispXMLSerializer * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispXMLSerializerVtbl;

    interface DispXMLSerializer
    {
        CONST_VTBL struct DispXMLSerializerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispXMLSerializer_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispXMLSerializer_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispXMLSerializer_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispXMLSerializer_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispXMLSerializer_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispXMLSerializer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispXMLSerializer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispXMLSerializer_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_XMLSerializer;

#ifdef __cplusplus

class DECLSPEC_UUID("3051077e-98b5-11cf-bb82-00aa00bdce0b")
XMLSerializer;
#endif

#ifndef __DispDOMParser_DISPINTERFACE_DEFINED__
#define __DispDOMParser_DISPINTERFACE_DEFINED__

/* dispinterface DispDOMParser */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispDOMParser;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("305900ae-98b5-11cf-bb82-00aa00bdce0b")
    DispDOMParser : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispDOMParserVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispDOMParser * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispDOMParser * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispDOMParser * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispDOMParser * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispDOMParser * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispDOMParser * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispDOMParser * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispDOMParserVtbl;

    interface DispDOMParser
    {
        CONST_VTBL struct DispDOMParserVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispDOMParser_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispDOMParser_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispDOMParser_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispDOMParser_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispDOMParser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispDOMParser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispDOMParser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispDOMParser_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DOMParser;

#ifdef __cplusplus

class DECLSPEC_UUID("30510782-98b5-11cf-bb82-00aa00bdce0b")
DOMParser;
#endif

#ifndef __IDOMXmlSerializerFactory_INTERFACE_DEFINED__
#define __IDOMXmlSerializerFactory_INTERFACE_DEFINED__

/* interface IDOMXmlSerializerFactory */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMXmlSerializerFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051077f-98b5-11cf-bb82-00aa00bdce0b")
    IDOMXmlSerializerFactory : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE create( 
            /* [out][retval] */ __RPC__deref_out_opt IDOMXmlSerializer **__MIDL__IDOMXmlSerializerFactory0000) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMXmlSerializerFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMXmlSerializerFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMXmlSerializerFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMXmlSerializerFactory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMXmlSerializerFactory * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMXmlSerializerFactory * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMXmlSerializerFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMXmlSerializerFactory * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *create )( 
            __RPC__in IDOMXmlSerializerFactory * This,
            /* [out][retval] */ __RPC__deref_out_opt IDOMXmlSerializer **__MIDL__IDOMXmlSerializerFactory0000);
        
        END_INTERFACE
    } IDOMXmlSerializerFactoryVtbl;

    interface IDOMXmlSerializerFactory
    {
        CONST_VTBL struct IDOMXmlSerializerFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMXmlSerializerFactory_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMXmlSerializerFactory_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMXmlSerializerFactory_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMXmlSerializerFactory_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMXmlSerializerFactory_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMXmlSerializerFactory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMXmlSerializerFactory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMXmlSerializerFactory_create(This,__MIDL__IDOMXmlSerializerFactory0000)	\
    ( (This)->lpVtbl -> create(This,__MIDL__IDOMXmlSerializerFactory0000) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMXmlSerializerFactory_INTERFACE_DEFINED__ */


#ifndef __IDOMParserFactory_INTERFACE_DEFINED__
#define __IDOMParserFactory_INTERFACE_DEFINED__

/* interface IDOMParserFactory */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMParserFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510783-98b5-11cf-bb82-00aa00bdce0b")
    IDOMParserFactory : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE create( 
            /* [out][retval] */ __RPC__deref_out_opt IDOMParser **__MIDL__IDOMParserFactory0000) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMParserFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMParserFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMParserFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMParserFactory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMParserFactory * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMParserFactory * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMParserFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMParserFactory * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *create )( 
            __RPC__in IDOMParserFactory * This,
            /* [out][retval] */ __RPC__deref_out_opt IDOMParser **__MIDL__IDOMParserFactory0000);
        
        END_INTERFACE
    } IDOMParserFactoryVtbl;

    interface IDOMParserFactory
    {
        CONST_VTBL struct IDOMParserFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMParserFactory_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMParserFactory_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMParserFactory_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMParserFactory_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMParserFactory_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMParserFactory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMParserFactory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMParserFactory_create(This,__MIDL__IDOMParserFactory0000)	\
    ( (This)->lpVtbl -> create(This,__MIDL__IDOMParserFactory0000) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMParserFactory_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLDOMXmlSerializerFactory;

#ifdef __cplusplus

class DECLSPEC_UUID("30510780-98b5-11cf-bb82-00aa00bdce0b")
HTMLDOMXmlSerializerFactory;
#endif

EXTERN_C const CLSID CLSID_DOMParserFactory;

#ifdef __cplusplus

class DECLSPEC_UUID("30510784-98b5-11cf-bb82-00aa00bdce0b")
DOMParserFactory;
#endif

#ifndef __DispHTMLSemanticElement_DISPINTERFACE_DEFINED__
#define __DispHTMLSemanticElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLSemanticElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLSemanticElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("305900ba-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLSemanticElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLSemanticElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLSemanticElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLSemanticElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLSemanticElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLSemanticElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLSemanticElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLSemanticElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLSemanticElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLSemanticElementVtbl;

    interface DispHTMLSemanticElement
    {
        CONST_VTBL struct DispHTMLSemanticElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLSemanticElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLSemanticElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLSemanticElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLSemanticElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLSemanticElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLSemanticElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLSemanticElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLSemanticElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLSemanticElement;

#ifdef __cplusplus

class DECLSPEC_UUID("305107b0-98b5-11cf-bb82-00aa00bdce0b")
HTMLSemanticElement;
#endif

#ifndef __IHTMLProgressElement_INTERFACE_DEFINED__
#define __IHTMLProgressElement_INTERFACE_DEFINED__

/* interface IHTMLProgressElement */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLProgressElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f2d6-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLProgressElement : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_value( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_value( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_max( 
            /* [in] */ float v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_max( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_position( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_form( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLProgressElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLProgressElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLProgressElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLProgressElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLProgressElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLProgressElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLProgressElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLProgressElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_value )( 
            __RPC__in IHTMLProgressElement * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 
            __RPC__in IHTMLProgressElement * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_max )( 
            __RPC__in IHTMLProgressElement * This,
            /* [in] */ float v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_max )( 
            __RPC__in IHTMLProgressElement * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_position )( 
            __RPC__in IHTMLProgressElement * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_form )( 
            __RPC__in IHTMLProgressElement * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLFormElement **p);
        
        END_INTERFACE
    } IHTMLProgressElementVtbl;

    interface IHTMLProgressElement
    {
        CONST_VTBL struct IHTMLProgressElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLProgressElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLProgressElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLProgressElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLProgressElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLProgressElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLProgressElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLProgressElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLProgressElement_put_value(This,v)	\
    ( (This)->lpVtbl -> put_value(This,v) ) 

#define IHTMLProgressElement_get_value(This,p)	\
    ( (This)->lpVtbl -> get_value(This,p) ) 

#define IHTMLProgressElement_put_max(This,v)	\
    ( (This)->lpVtbl -> put_max(This,v) ) 

#define IHTMLProgressElement_get_max(This,p)	\
    ( (This)->lpVtbl -> get_max(This,p) ) 

#define IHTMLProgressElement_get_position(This,p)	\
    ( (This)->lpVtbl -> get_position(This,p) ) 

#define IHTMLProgressElement_get_form(This,p)	\
    ( (This)->lpVtbl -> get_form(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLProgressElement_INTERFACE_DEFINED__ */


#ifndef __DispHTMLProgressElement_DISPINTERFACE_DEFINED__
#define __DispHTMLProgressElement_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLProgressElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLProgressElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("305900af-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLProgressElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLProgressElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLProgressElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLProgressElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLProgressElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLProgressElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLProgressElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLProgressElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLProgressElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLProgressElementVtbl;

    interface DispHTMLProgressElement
    {
        CONST_VTBL struct DispHTMLProgressElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLProgressElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLProgressElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLProgressElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLProgressElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLProgressElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLProgressElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLProgressElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLProgressElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLProgressElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f2d5-98b5-11cf-bb82-00aa00bdce0b")
HTMLProgressElement;
#endif

#ifndef __IDOMMSTransitionEvent_INTERFACE_DEFINED__
#define __IDOMMSTransitionEvent_INTERFACE_DEFINED__

/* interface IDOMMSTransitionEvent */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMMSTransitionEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305107b5-98b5-11cf-bb82-00aa00bdce0b")
    IDOMMSTransitionEvent : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_propertyName( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_elapsedTime( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE initMSTransitionEvent( 
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in BSTR propertyName,
            /* [in] */ float elapsedTime) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMMSTransitionEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMMSTransitionEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMMSTransitionEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMMSTransitionEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMMSTransitionEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMMSTransitionEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMMSTransitionEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMMSTransitionEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_propertyName )( 
            __RPC__in IDOMMSTransitionEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_elapsedTime )( 
            __RPC__in IDOMMSTransitionEvent * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *initMSTransitionEvent )( 
            __RPC__in IDOMMSTransitionEvent * This,
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in BSTR propertyName,
            /* [in] */ float elapsedTime);
        
        END_INTERFACE
    } IDOMMSTransitionEventVtbl;

    interface IDOMMSTransitionEvent
    {
        CONST_VTBL struct IDOMMSTransitionEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMMSTransitionEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMMSTransitionEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMMSTransitionEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMMSTransitionEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMMSTransitionEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMMSTransitionEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMMSTransitionEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMMSTransitionEvent_get_propertyName(This,p)	\
    ( (This)->lpVtbl -> get_propertyName(This,p) ) 

#define IDOMMSTransitionEvent_get_elapsedTime(This,p)	\
    ( (This)->lpVtbl -> get_elapsedTime(This,p) ) 

#define IDOMMSTransitionEvent_initMSTransitionEvent(This,eventType,canBubble,cancelable,propertyName,elapsedTime)	\
    ( (This)->lpVtbl -> initMSTransitionEvent(This,eventType,canBubble,cancelable,propertyName,elapsedTime) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMMSTransitionEvent_INTERFACE_DEFINED__ */


#ifndef __DispDOMMSTransitionEvent_DISPINTERFACE_DEFINED__
#define __DispDOMMSTransitionEvent_DISPINTERFACE_DEFINED__

/* dispinterface DispDOMMSTransitionEvent */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispDOMMSTransitionEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("305900bb-98b5-11cf-bb82-00aa00bdce0b")
    DispDOMMSTransitionEvent : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispDOMMSTransitionEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispDOMMSTransitionEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispDOMMSTransitionEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispDOMMSTransitionEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispDOMMSTransitionEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispDOMMSTransitionEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispDOMMSTransitionEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispDOMMSTransitionEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispDOMMSTransitionEventVtbl;

    interface DispDOMMSTransitionEvent
    {
        CONST_VTBL struct DispDOMMSTransitionEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispDOMMSTransitionEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispDOMMSTransitionEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispDOMMSTransitionEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispDOMMSTransitionEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispDOMMSTransitionEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispDOMMSTransitionEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispDOMMSTransitionEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispDOMMSTransitionEvent_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DOMMSTransitionEvent;

#ifdef __cplusplus

class DECLSPEC_UUID("305107b6-98b5-11cf-bb82-00aa00bdce0b")
DOMMSTransitionEvent;
#endif

#ifndef __IDOMMSAnimationEvent_INTERFACE_DEFINED__
#define __IDOMMSAnimationEvent_INTERFACE_DEFINED__

/* interface IDOMMSAnimationEvent */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMMSAnimationEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305107b7-98b5-11cf-bb82-00aa00bdce0b")
    IDOMMSAnimationEvent : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_animationName( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_elapsedTime( 
            /* [out][retval] */ __RPC__out float *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE initMSAnimationEvent( 
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in BSTR animationName,
            /* [in] */ float elapsedTime) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMMSAnimationEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMMSAnimationEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMMSAnimationEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMMSAnimationEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMMSAnimationEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMMSAnimationEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMMSAnimationEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMMSAnimationEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_animationName )( 
            __RPC__in IDOMMSAnimationEvent * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_elapsedTime )( 
            __RPC__in IDOMMSAnimationEvent * This,
            /* [out][retval] */ __RPC__out float *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *initMSAnimationEvent )( 
            __RPC__in IDOMMSAnimationEvent * This,
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in BSTR animationName,
            /* [in] */ float elapsedTime);
        
        END_INTERFACE
    } IDOMMSAnimationEventVtbl;

    interface IDOMMSAnimationEvent
    {
        CONST_VTBL struct IDOMMSAnimationEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMMSAnimationEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMMSAnimationEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMMSAnimationEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMMSAnimationEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMMSAnimationEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMMSAnimationEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMMSAnimationEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMMSAnimationEvent_get_animationName(This,p)	\
    ( (This)->lpVtbl -> get_animationName(This,p) ) 

#define IDOMMSAnimationEvent_get_elapsedTime(This,p)	\
    ( (This)->lpVtbl -> get_elapsedTime(This,p) ) 

#define IDOMMSAnimationEvent_initMSAnimationEvent(This,eventType,canBubble,cancelable,animationName,elapsedTime)	\
    ( (This)->lpVtbl -> initMSAnimationEvent(This,eventType,canBubble,cancelable,animationName,elapsedTime) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMMSAnimationEvent_INTERFACE_DEFINED__ */


#ifndef __DispDOMMSAnimationEvent_DISPINTERFACE_DEFINED__
#define __DispDOMMSAnimationEvent_DISPINTERFACE_DEFINED__

/* dispinterface DispDOMMSAnimationEvent */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispDOMMSAnimationEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("305900bc-98b5-11cf-bb82-00aa00bdce0b")
    DispDOMMSAnimationEvent : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispDOMMSAnimationEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispDOMMSAnimationEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispDOMMSAnimationEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispDOMMSAnimationEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispDOMMSAnimationEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispDOMMSAnimationEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispDOMMSAnimationEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispDOMMSAnimationEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispDOMMSAnimationEventVtbl;

    interface DispDOMMSAnimationEvent
    {
        CONST_VTBL struct DispDOMMSAnimationEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispDOMMSAnimationEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispDOMMSAnimationEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispDOMMSAnimationEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispDOMMSAnimationEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispDOMMSAnimationEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispDOMMSAnimationEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispDOMMSAnimationEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispDOMMSAnimationEvent_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DOMMSAnimationEvent;

#ifdef __cplusplus

class DECLSPEC_UUID("305107b8-98b5-11cf-bb82-00aa00bdce0b")
DOMMSAnimationEvent;
#endif

#ifndef __IWebGeocoordinates_INTERFACE_DEFINED__
#define __IWebGeocoordinates_INTERFACE_DEFINED__

/* interface IWebGeocoordinates */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IWebGeocoordinates;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305107c7-98b5-11cf-bb82-00aa00bdce0b")
    IWebGeocoordinates : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_latitude( 
            /* [out][retval] */ __RPC__out double *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_longitude( 
            /* [out][retval] */ __RPC__out double *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_altitude( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_accuracy( 
            /* [out][retval] */ __RPC__out double *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_altitudeAccuracy( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_heading( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_speed( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IWebGeocoordinatesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IWebGeocoordinates * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IWebGeocoordinates * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IWebGeocoordinates * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IWebGeocoordinates * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IWebGeocoordinates * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IWebGeocoordinates * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWebGeocoordinates * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_latitude )( 
            __RPC__in IWebGeocoordinates * This,
            /* [out][retval] */ __RPC__out double *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_longitude )( 
            __RPC__in IWebGeocoordinates * This,
            /* [out][retval] */ __RPC__out double *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_altitude )( 
            __RPC__in IWebGeocoordinates * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_accuracy )( 
            __RPC__in IWebGeocoordinates * This,
            /* [out][retval] */ __RPC__out double *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_altitudeAccuracy )( 
            __RPC__in IWebGeocoordinates * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_heading )( 
            __RPC__in IWebGeocoordinates * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_speed )( 
            __RPC__in IWebGeocoordinates * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        END_INTERFACE
    } IWebGeocoordinatesVtbl;

    interface IWebGeocoordinates
    {
        CONST_VTBL struct IWebGeocoordinatesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWebGeocoordinates_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IWebGeocoordinates_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IWebGeocoordinates_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IWebGeocoordinates_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IWebGeocoordinates_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IWebGeocoordinates_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IWebGeocoordinates_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IWebGeocoordinates_get_latitude(This,p)	\
    ( (This)->lpVtbl -> get_latitude(This,p) ) 

#define IWebGeocoordinates_get_longitude(This,p)	\
    ( (This)->lpVtbl -> get_longitude(This,p) ) 

#define IWebGeocoordinates_get_altitude(This,p)	\
    ( (This)->lpVtbl -> get_altitude(This,p) ) 

#define IWebGeocoordinates_get_accuracy(This,p)	\
    ( (This)->lpVtbl -> get_accuracy(This,p) ) 

#define IWebGeocoordinates_get_altitudeAccuracy(This,p)	\
    ( (This)->lpVtbl -> get_altitudeAccuracy(This,p) ) 

#define IWebGeocoordinates_get_heading(This,p)	\
    ( (This)->lpVtbl -> get_heading(This,p) ) 

#define IWebGeocoordinates_get_speed(This,p)	\
    ( (This)->lpVtbl -> get_speed(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IWebGeocoordinates_INTERFACE_DEFINED__ */


#ifndef __IWebGeopositionError_INTERFACE_DEFINED__
#define __IWebGeopositionError_INTERFACE_DEFINED__

/* interface IWebGeopositionError */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IWebGeopositionError;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305107c9-98b5-11cf-bb82-00aa00bdce0b")
    IWebGeopositionError : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_code( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_message( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IWebGeopositionErrorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IWebGeopositionError * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IWebGeopositionError * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IWebGeopositionError * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IWebGeopositionError * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IWebGeopositionError * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IWebGeopositionError * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWebGeopositionError * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_code )( 
            __RPC__in IWebGeopositionError * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_message )( 
            __RPC__in IWebGeopositionError * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IWebGeopositionErrorVtbl;

    interface IWebGeopositionError
    {
        CONST_VTBL struct IWebGeopositionErrorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWebGeopositionError_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IWebGeopositionError_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IWebGeopositionError_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IWebGeopositionError_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IWebGeopositionError_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IWebGeopositionError_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IWebGeopositionError_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IWebGeopositionError_get_code(This,p)	\
    ( (This)->lpVtbl -> get_code(This,p) ) 

#define IWebGeopositionError_get_message(This,p)	\
    ( (This)->lpVtbl -> get_message(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IWebGeopositionError_INTERFACE_DEFINED__ */


#ifndef __IWebGeoposition_INTERFACE_DEFINED__
#define __IWebGeoposition_INTERFACE_DEFINED__

/* interface IWebGeoposition */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IWebGeoposition;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305107cd-98b5-11cf-bb82-00aa00bdce0b")
    IWebGeoposition : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_coords( 
            /* [out][retval] */ __RPC__deref_out_opt IWebGeocoordinates **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_timestamp( 
            /* [out][retval] */ __RPC__out ULONGLONG *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IWebGeopositionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IWebGeoposition * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IWebGeoposition * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IWebGeoposition * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IWebGeoposition * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IWebGeoposition * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IWebGeoposition * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IWebGeoposition * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_coords )( 
            __RPC__in IWebGeoposition * This,
            /* [out][retval] */ __RPC__deref_out_opt IWebGeocoordinates **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_timestamp )( 
            __RPC__in IWebGeoposition * This,
            /* [out][retval] */ __RPC__out ULONGLONG *p);
        
        END_INTERFACE
    } IWebGeopositionVtbl;

    interface IWebGeoposition
    {
        CONST_VTBL struct IWebGeopositionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWebGeoposition_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IWebGeoposition_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IWebGeoposition_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IWebGeoposition_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IWebGeoposition_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IWebGeoposition_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IWebGeoposition_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IWebGeoposition_get_coords(This,p)	\
    ( (This)->lpVtbl -> get_coords(This,p) ) 

#define IWebGeoposition_get_timestamp(This,p)	\
    ( (This)->lpVtbl -> get_timestamp(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IWebGeoposition_INTERFACE_DEFINED__ */


#ifndef __DispWebGeolocation_DISPINTERFACE_DEFINED__
#define __DispWebGeolocation_DISPINTERFACE_DEFINED__

/* dispinterface DispWebGeolocation */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispWebGeolocation;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("305900bd-98b5-11cf-bb82-00aa00bdce0b")
    DispWebGeolocation : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispWebGeolocationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispWebGeolocation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispWebGeolocation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispWebGeolocation * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispWebGeolocation * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispWebGeolocation * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispWebGeolocation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispWebGeolocation * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispWebGeolocationVtbl;

    interface DispWebGeolocation
    {
        CONST_VTBL struct DispWebGeolocationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispWebGeolocation_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispWebGeolocation_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispWebGeolocation_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispWebGeolocation_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispWebGeolocation_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispWebGeolocation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispWebGeolocation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispWebGeolocation_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_WebGeolocation;

#ifdef __cplusplus

class DECLSPEC_UUID("305107c6-98b5-11cf-bb82-00aa00bdce0b")
WebGeolocation;
#endif

#ifndef __DispWebGeocoordinates_DISPINTERFACE_DEFINED__
#define __DispWebGeocoordinates_DISPINTERFACE_DEFINED__

/* dispinterface DispWebGeocoordinates */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispWebGeocoordinates;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("305900be-98b5-11cf-bb82-00aa00bdce0b")
    DispWebGeocoordinates : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispWebGeocoordinatesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispWebGeocoordinates * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispWebGeocoordinates * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispWebGeocoordinates * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispWebGeocoordinates * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispWebGeocoordinates * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispWebGeocoordinates * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispWebGeocoordinates * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispWebGeocoordinatesVtbl;

    interface DispWebGeocoordinates
    {
        CONST_VTBL struct DispWebGeocoordinatesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispWebGeocoordinates_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispWebGeocoordinates_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispWebGeocoordinates_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispWebGeocoordinates_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispWebGeocoordinates_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispWebGeocoordinates_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispWebGeocoordinates_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispWebGeocoordinates_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_WebGeocoordinates;

#ifdef __cplusplus

class DECLSPEC_UUID("305107c8-98b5-11cf-bb82-00aa00bdce0b")
WebGeocoordinates;
#endif

#ifndef __DispWebGeopositionError_DISPINTERFACE_DEFINED__
#define __DispWebGeopositionError_DISPINTERFACE_DEFINED__

/* dispinterface DispWebGeopositionError */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispWebGeopositionError;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("305900bf-98b5-11cf-bb82-00aa00bdce0b")
    DispWebGeopositionError : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispWebGeopositionErrorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispWebGeopositionError * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispWebGeopositionError * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispWebGeopositionError * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispWebGeopositionError * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispWebGeopositionError * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispWebGeopositionError * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispWebGeopositionError * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispWebGeopositionErrorVtbl;

    interface DispWebGeopositionError
    {
        CONST_VTBL struct DispWebGeopositionErrorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispWebGeopositionError_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispWebGeopositionError_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispWebGeopositionError_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispWebGeopositionError_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispWebGeopositionError_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispWebGeopositionError_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispWebGeopositionError_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispWebGeopositionError_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_WebGeopositionError;

#ifdef __cplusplus

class DECLSPEC_UUID("305107ca-98b5-11cf-bb82-00aa00bdce0b")
WebGeopositionError;
#endif

#ifndef __DispWebGeoposition_DISPINTERFACE_DEFINED__
#define __DispWebGeoposition_DISPINTERFACE_DEFINED__

/* dispinterface DispWebGeoposition */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispWebGeoposition;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("305900c1-98b5-11cf-bb82-00aa00bdce0b")
    DispWebGeoposition : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispWebGeopositionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispWebGeoposition * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispWebGeoposition * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispWebGeoposition * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispWebGeoposition * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispWebGeoposition * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispWebGeoposition * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispWebGeoposition * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispWebGeopositionVtbl;

    interface DispWebGeoposition
    {
        CONST_VTBL struct DispWebGeopositionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispWebGeoposition_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispWebGeoposition_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispWebGeoposition_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispWebGeoposition_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispWebGeoposition_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispWebGeoposition_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispWebGeoposition_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispWebGeoposition_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_WebGeoposition;

#ifdef __cplusplus

class DECLSPEC_UUID("305107ce-98b5-11cf-bb82-00aa00bdce0b")
WebGeoposition;
#endif

#ifndef __IClientCaps_INTERFACE_DEFINED__
#define __IClientCaps_INTERFACE_DEFINED__

/* interface IClientCaps */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IClientCaps;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7E8BC44D-AEFF-11D1-89C2-00C04FB6BFC4")
    IClientCaps : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_javaEnabled( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cookieEnabled( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_cpuClass( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_systemLanguage( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_userLanguage( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_platform( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_connectionSpeed( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_onLine( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_colorDepth( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_bufferDepth( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_width( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_height( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_availHeight( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_availWidth( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_connectionType( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE isComponentInstalled( 
            /* [in] */ __RPC__in BSTR bstrName,
            /* [in] */ __RPC__in BSTR bstrUrl,
            /* [in][defaultvalue] */ __RPC__in BSTR bStrVer,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getComponentVersion( 
            /* [in] */ __RPC__in BSTR bstrName,
            /* [in] */ __RPC__in BSTR bstrUrl,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrVer) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE compareVersions( 
            /* [in] */ __RPC__in BSTR bstrVer1,
            /* [in] */ __RPC__in BSTR bstrVer2,
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE addComponentRequest( 
            /* [in] */ __RPC__in BSTR bstrName,
            /* [in] */ __RPC__in BSTR bstrUrl,
            /* [in][defaultvalue] */ __RPC__in BSTR bStrVer = (BSTR)L"") = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE doComponentRequest( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE clearComponentRequest( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IClientCapsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IClientCaps * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IClientCaps * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IClientCaps * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IClientCaps * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IClientCaps * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IClientCaps * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IClientCaps * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_javaEnabled )( 
            __RPC__in IClientCaps * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cookieEnabled )( 
            __RPC__in IClientCaps * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cpuClass )( 
            __RPC__in IClientCaps * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_systemLanguage )( 
            __RPC__in IClientCaps * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_userLanguage )( 
            __RPC__in IClientCaps * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_platform )( 
            __RPC__in IClientCaps * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_connectionSpeed )( 
            __RPC__in IClientCaps * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onLine )( 
            __RPC__in IClientCaps * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_colorDepth )( 
            __RPC__in IClientCaps * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bufferDepth )( 
            __RPC__in IClientCaps * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_width )( 
            __RPC__in IClientCaps * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_height )( 
            __RPC__in IClientCaps * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_availHeight )( 
            __RPC__in IClientCaps * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_availWidth )( 
            __RPC__in IClientCaps * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_connectionType )( 
            __RPC__in IClientCaps * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *isComponentInstalled )( 
            __RPC__in IClientCaps * This,
            /* [in] */ __RPC__in BSTR bstrName,
            /* [in] */ __RPC__in BSTR bstrUrl,
            /* [in][defaultvalue] */ __RPC__in BSTR bStrVer,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getComponentVersion )( 
            __RPC__in IClientCaps * This,
            /* [in] */ __RPC__in BSTR bstrName,
            /* [in] */ __RPC__in BSTR bstrUrl,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrVer);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *compareVersions )( 
            __RPC__in IClientCaps * This,
            /* [in] */ __RPC__in BSTR bstrVer1,
            /* [in] */ __RPC__in BSTR bstrVer2,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *addComponentRequest )( 
            __RPC__in IClientCaps * This,
            /* [in] */ __RPC__in BSTR bstrName,
            /* [in] */ __RPC__in BSTR bstrUrl,
            /* [in][defaultvalue] */ __RPC__in BSTR bStrVer);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *doComponentRequest )( 
            __RPC__in IClientCaps * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *clearComponentRequest )( 
            __RPC__in IClientCaps * This);
        
        END_INTERFACE
    } IClientCapsVtbl;

    interface IClientCaps
    {
        CONST_VTBL struct IClientCapsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IClientCaps_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IClientCaps_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IClientCaps_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IClientCaps_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IClientCaps_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IClientCaps_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IClientCaps_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IClientCaps_get_javaEnabled(This,p)	\
    ( (This)->lpVtbl -> get_javaEnabled(This,p) ) 

#define IClientCaps_get_cookieEnabled(This,p)	\
    ( (This)->lpVtbl -> get_cookieEnabled(This,p) ) 

#define IClientCaps_get_cpuClass(This,p)	\
    ( (This)->lpVtbl -> get_cpuClass(This,p) ) 

#define IClientCaps_get_systemLanguage(This,p)	\
    ( (This)->lpVtbl -> get_systemLanguage(This,p) ) 

#define IClientCaps_get_userLanguage(This,p)	\
    ( (This)->lpVtbl -> get_userLanguage(This,p) ) 

#define IClientCaps_get_platform(This,p)	\
    ( (This)->lpVtbl -> get_platform(This,p) ) 

#define IClientCaps_get_connectionSpeed(This,p)	\
    ( (This)->lpVtbl -> get_connectionSpeed(This,p) ) 

#define IClientCaps_get_onLine(This,p)	\
    ( (This)->lpVtbl -> get_onLine(This,p) ) 

#define IClientCaps_get_colorDepth(This,p)	\
    ( (This)->lpVtbl -> get_colorDepth(This,p) ) 

#define IClientCaps_get_bufferDepth(This,p)	\
    ( (This)->lpVtbl -> get_bufferDepth(This,p) ) 

#define IClientCaps_get_width(This,p)	\
    ( (This)->lpVtbl -> get_width(This,p) ) 

#define IClientCaps_get_height(This,p)	\
    ( (This)->lpVtbl -> get_height(This,p) ) 

#define IClientCaps_get_availHeight(This,p)	\
    ( (This)->lpVtbl -> get_availHeight(This,p) ) 

#define IClientCaps_get_availWidth(This,p)	\
    ( (This)->lpVtbl -> get_availWidth(This,p) ) 

#define IClientCaps_get_connectionType(This,p)	\
    ( (This)->lpVtbl -> get_connectionType(This,p) ) 

#define IClientCaps_isComponentInstalled(This,bstrName,bstrUrl,bStrVer,p)	\
    ( (This)->lpVtbl -> isComponentInstalled(This,bstrName,bstrUrl,bStrVer,p) ) 

#define IClientCaps_getComponentVersion(This,bstrName,bstrUrl,pbstrVer)	\
    ( (This)->lpVtbl -> getComponentVersion(This,bstrName,bstrUrl,pbstrVer) ) 

#define IClientCaps_compareVersions(This,bstrVer1,bstrVer2,p)	\
    ( (This)->lpVtbl -> compareVersions(This,bstrVer1,bstrVer2,p) ) 

#define IClientCaps_addComponentRequest(This,bstrName,bstrUrl,bStrVer)	\
    ( (This)->lpVtbl -> addComponentRequest(This,bstrName,bstrUrl,bStrVer) ) 

#define IClientCaps_doComponentRequest(This,p)	\
    ( (This)->lpVtbl -> doComponentRequest(This,p) ) 

#define IClientCaps_clearComponentRequest(This)	\
    ( (This)->lpVtbl -> clearComponentRequest(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IClientCaps_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_CClientCaps;

#ifdef __cplusplus

class DECLSPEC_UUID("7E8BC44E-AEFF-11D1-89C2-00C04FB6BFC4")
CClientCaps;
#endif

#ifndef __IDOMMSManipulationEvent_INTERFACE_DEFINED__
#define __IDOMMSManipulationEvent_INTERFACE_DEFINED__

/* interface IDOMMSManipulationEvent */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMMSManipulationEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510816-98b5-11cf-bb82-00aa00bdce0b")
    IDOMMSManipulationEvent : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_lastState( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE initMSManipulationEvent( 
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in_opt IHTMLWindow2 *viewArg,
            /* [in] */ long detailArg,
            /* [in] */ long lastState,
            /* [in] */ long currentState) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMMSManipulationEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMMSManipulationEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMMSManipulationEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMMSManipulationEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMMSManipulationEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMMSManipulationEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMMSManipulationEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMMSManipulationEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastState )( 
            __RPC__in IDOMMSManipulationEvent * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 
            __RPC__in IDOMMSManipulationEvent * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *initMSManipulationEvent )( 
            __RPC__in IDOMMSManipulationEvent * This,
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ __RPC__in_opt IHTMLWindow2 *viewArg,
            /* [in] */ long detailArg,
            /* [in] */ long lastState,
            /* [in] */ long currentState);
        
        END_INTERFACE
    } IDOMMSManipulationEventVtbl;

    interface IDOMMSManipulationEvent
    {
        CONST_VTBL struct IDOMMSManipulationEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMMSManipulationEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMMSManipulationEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMMSManipulationEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMMSManipulationEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMMSManipulationEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMMSManipulationEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMMSManipulationEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMMSManipulationEvent_get_lastState(This,p)	\
    ( (This)->lpVtbl -> get_lastState(This,p) ) 

#define IDOMMSManipulationEvent_get_currentState(This,p)	\
    ( (This)->lpVtbl -> get_currentState(This,p) ) 

#define IDOMMSManipulationEvent_initMSManipulationEvent(This,eventType,canBubble,cancelable,viewArg,detailArg,lastState,currentState)	\
    ( (This)->lpVtbl -> initMSManipulationEvent(This,eventType,canBubble,cancelable,viewArg,detailArg,lastState,currentState) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMMSManipulationEvent_INTERFACE_DEFINED__ */


#ifndef __DispDOMMSManipulationEvent_DISPINTERFACE_DEFINED__
#define __DispDOMMSManipulationEvent_DISPINTERFACE_DEFINED__

/* dispinterface DispDOMMSManipulationEvent */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispDOMMSManipulationEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("305900e1-98b5-11cf-bb82-00aa00bdce0b")
    DispDOMMSManipulationEvent : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispDOMMSManipulationEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispDOMMSManipulationEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispDOMMSManipulationEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispDOMMSManipulationEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispDOMMSManipulationEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispDOMMSManipulationEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispDOMMSManipulationEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispDOMMSManipulationEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispDOMMSManipulationEventVtbl;

    interface DispDOMMSManipulationEvent
    {
        CONST_VTBL struct DispDOMMSManipulationEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispDOMMSManipulationEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispDOMMSManipulationEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispDOMMSManipulationEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispDOMMSManipulationEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispDOMMSManipulationEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispDOMMSManipulationEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispDOMMSManipulationEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispDOMMSManipulationEvent_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DOMMSManipulationEvent;

#ifdef __cplusplus

class DECLSPEC_UUID("30510817-98b5-11cf-bb82-00aa00bdce0b")
DOMMSManipulationEvent;
#endif

#ifndef __IDOMCloseEvent_INTERFACE_DEFINED__
#define __IDOMCloseEvent_INTERFACE_DEFINED__

/* interface IDOMCloseEvent */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IDOMCloseEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305107ff-98b5-11cf-bb82-00aa00bdce0b")
    IDOMCloseEvent : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_wasClean( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE initCloseEvent( 
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ VARIANT_BOOL wasClean,
            /* [in] */ long code,
            /* [in] */ __RPC__in BSTR reason) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMCloseEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMCloseEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMCloseEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMCloseEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IDOMCloseEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IDOMCloseEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IDOMCloseEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDOMCloseEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_wasClean )( 
            __RPC__in IDOMCloseEvent * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *initCloseEvent )( 
            __RPC__in IDOMCloseEvent * This,
            /* [in] */ __RPC__in BSTR eventType,
            /* [in] */ VARIANT_BOOL canBubble,
            /* [in] */ VARIANT_BOOL cancelable,
            /* [in] */ VARIANT_BOOL wasClean,
            /* [in] */ long code,
            /* [in] */ __RPC__in BSTR reason);
        
        END_INTERFACE
    } IDOMCloseEventVtbl;

    interface IDOMCloseEvent
    {
        CONST_VTBL struct IDOMCloseEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMCloseEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMCloseEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMCloseEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMCloseEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDOMCloseEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDOMCloseEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDOMCloseEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDOMCloseEvent_get_wasClean(This,p)	\
    ( (This)->lpVtbl -> get_wasClean(This,p) ) 

#define IDOMCloseEvent_initCloseEvent(This,eventType,canBubble,cancelable,wasClean,code,reason)	\
    ( (This)->lpVtbl -> initCloseEvent(This,eventType,canBubble,cancelable,wasClean,code,reason) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMCloseEvent_INTERFACE_DEFINED__ */


#ifndef __DispDOMCloseEvent_DISPINTERFACE_DEFINED__
#define __DispDOMCloseEvent_DISPINTERFACE_DEFINED__

/* dispinterface DispDOMCloseEvent */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispDOMCloseEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("305900dc-98b5-11cf-bb82-00aa00bdce0b")
    DispDOMCloseEvent : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispDOMCloseEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispDOMCloseEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispDOMCloseEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispDOMCloseEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispDOMCloseEvent * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispDOMCloseEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispDOMCloseEvent * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispDOMCloseEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispDOMCloseEventVtbl;

    interface DispDOMCloseEvent
    {
        CONST_VTBL struct DispDOMCloseEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispDOMCloseEvent_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispDOMCloseEvent_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispDOMCloseEvent_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispDOMCloseEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispDOMCloseEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispDOMCloseEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispDOMCloseEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispDOMCloseEvent_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DOMCloseEvent;

#ifdef __cplusplus

class DECLSPEC_UUID("30510800-98b5-11cf-bb82-00aa00bdce0b")
DOMCloseEvent;
#endif

#ifndef __DispApplicationCache_DISPINTERFACE_DEFINED__
#define __DispApplicationCache_DISPINTERFACE_DEFINED__

/* dispinterface DispApplicationCache */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispApplicationCache;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("305900e4-98b5-11cf-bb82-00aa00bdce0b")
    DispApplicationCache : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispApplicationCacheVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispApplicationCache * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispApplicationCache * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispApplicationCache * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispApplicationCache * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispApplicationCache * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispApplicationCache * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispApplicationCache * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispApplicationCacheVtbl;

    interface DispApplicationCache
    {
        CONST_VTBL struct DispApplicationCacheVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispApplicationCache_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispApplicationCache_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispApplicationCache_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispApplicationCache_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispApplicationCache_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispApplicationCache_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispApplicationCache_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispApplicationCache_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_ApplicationCache;

#ifdef __cplusplus

class DECLSPEC_UUID("30510829-98b5-11cf-bb82-00aa00bdce0b")
ApplicationCache;
#endif

#ifndef __ICSSFilterSite_INTERFACE_DEFINED__
#define __ICSSFilterSite_INTERFACE_DEFINED__

/* interface ICSSFilterSite */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_ICSSFilterSite;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f3ed-98b5-11cf-bb82-00aa00bdce0b")
    ICSSFilterSite : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetElement( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **Element) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FireOnFilterChangeEvent( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICSSFilterSiteVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ICSSFilterSite * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ICSSFilterSite * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ICSSFilterSite * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetElement )( 
            __RPC__in ICSSFilterSite * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElement **Element);
        
        HRESULT ( STDMETHODCALLTYPE *FireOnFilterChangeEvent )( 
            __RPC__in ICSSFilterSite * This);
        
        END_INTERFACE
    } ICSSFilterSiteVtbl;

    interface ICSSFilterSite
    {
        CONST_VTBL struct ICSSFilterSiteVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICSSFilterSite_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICSSFilterSite_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICSSFilterSite_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICSSFilterSite_GetElement(This,Element)	\
    ( (This)->lpVtbl -> GetElement(This,Element) ) 

#define ICSSFilterSite_FireOnFilterChangeEvent(This)	\
    ( (This)->lpVtbl -> FireOnFilterChangeEvent(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICSSFilterSite_INTERFACE_DEFINED__ */


#ifndef __IMarkupPointer_INTERFACE_DEFINED__
#define __IMarkupPointer_INTERFACE_DEFINED__

/* interface IMarkupPointer */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IMarkupPointer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f49f-98b5-11cf-bb82-00aa00bdce0b")
    IMarkupPointer : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE OwningDoc( 
            /* [out] */ __RPC__deref_out_opt IHTMLDocument2 **ppDoc) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Gravity( 
            /* [out] */ __RPC__out POINTER_GRAVITY *pGravity) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetGravity( 
            /* [in] */ POINTER_GRAVITY Gravity) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Cling( 
            /* [out] */ __RPC__out BOOL *pfCling) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetCling( 
            /* [in] */ BOOL fCLing) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Unposition( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsPositioned( 
            /* [out] */ __RPC__out BOOL *pfPositioned) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetContainer( 
            /* [out] */ __RPC__deref_out_opt IMarkupContainer **ppContainer) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveAdjacentToElement( 
            /* [in] */ __RPC__in_opt IHTMLElement *pElement,
            /* [in] */ ELEMENT_ADJACENCY eAdj) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveToPointer( 
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointer) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveToContainer( 
            /* [in] */ __RPC__in_opt IMarkupContainer *pContainer,
            /* [in] */ BOOL fAtStart) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Left( 
            /* [in] */ BOOL fMove,
            /* [out] */ __RPC__out MARKUP_CONTEXT_TYPE *pContext,
            /* [out] */ __RPC__deref_out_opt IHTMLElement **ppElement,
            /* [out][in] */ __RPC__inout long *pcch,
            /* [size_is][out] */ __RPC__out_ecount_full(*pcch) OLECHAR *pchText) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Right( 
            /* [in] */ BOOL fMove,
            /* [out] */ __RPC__out MARKUP_CONTEXT_TYPE *pContext,
            /* [out] */ __RPC__deref_out_opt IHTMLElement **ppElement,
            /* [out][in] */ __RPC__inout long *pcch,
            /* [size_is][out] */ __RPC__out_ecount_full(*pcch) OLECHAR *pchText) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CurrentScope( 
            /* [out] */ __RPC__deref_out_opt IHTMLElement **ppElemCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsLeftOf( 
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerThat,
            /* [out] */ __RPC__out BOOL *pfResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsLeftOfOrEqualTo( 
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerThat,
            /* [out] */ __RPC__out BOOL *pfResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsRightOf( 
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerThat,
            /* [out] */ __RPC__out BOOL *pfResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsRightOfOrEqualTo( 
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerThat,
            /* [out] */ __RPC__out BOOL *pfResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsEqualTo( 
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerThat,
            /* [out] */ __RPC__out BOOL *pfAreEqual) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveUnit( 
            /* [in] */ MOVEUNIT_ACTION muAction) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FindText( 
            /* [string][in] */ __RPC__in_string OLECHAR *pchFindText,
            /* [in] */ DWORD dwFlags,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIEndMatch,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIEndSearch) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IMarkupPointerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IMarkupPointer * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IMarkupPointer * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IMarkupPointer * This);
        
        HRESULT ( STDMETHODCALLTYPE *OwningDoc )( 
            __RPC__in IMarkupPointer * This,
            /* [out] */ __RPC__deref_out_opt IHTMLDocument2 **ppDoc);
        
        HRESULT ( STDMETHODCALLTYPE *Gravity )( 
            __RPC__in IMarkupPointer * This,
            /* [out] */ __RPC__out POINTER_GRAVITY *pGravity);
        
        HRESULT ( STDMETHODCALLTYPE *SetGravity )( 
            __RPC__in IMarkupPointer * This,
            /* [in] */ POINTER_GRAVITY Gravity);
        
        HRESULT ( STDMETHODCALLTYPE *Cling )( 
            __RPC__in IMarkupPointer * This,
            /* [out] */ __RPC__out BOOL *pfCling);
        
        HRESULT ( STDMETHODCALLTYPE *SetCling )( 
            __RPC__in IMarkupPointer * This,
            /* [in] */ BOOL fCLing);
        
        HRESULT ( STDMETHODCALLTYPE *Unposition )( 
            __RPC__in IMarkupPointer * This);
        
        HRESULT ( STDMETHODCALLTYPE *IsPositioned )( 
            __RPC__in IMarkupPointer * This,
            /* [out] */ __RPC__out BOOL *pfPositioned);
        
        HRESULT ( STDMETHODCALLTYPE *GetContainer )( 
            __RPC__in IMarkupPointer * This,
            /* [out] */ __RPC__deref_out_opt IMarkupContainer **ppContainer);
        
        HRESULT ( STDMETHODCALLTYPE *MoveAdjacentToElement )( 
            __RPC__in IMarkupPointer * This,
            /* [in] */ __RPC__in_opt IHTMLElement *pElement,
            /* [in] */ ELEMENT_ADJACENCY eAdj);
        
        HRESULT ( STDMETHODCALLTYPE *MoveToPointer )( 
            __RPC__in IMarkupPointer * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointer);
        
        HRESULT ( STDMETHODCALLTYPE *MoveToContainer )( 
            __RPC__in IMarkupPointer * This,
            /* [in] */ __RPC__in_opt IMarkupContainer *pContainer,
            /* [in] */ BOOL fAtStart);
        
        HRESULT ( STDMETHODCALLTYPE *Left )( 
            __RPC__in IMarkupPointer * This,
            /* [in] */ BOOL fMove,
            /* [out] */ __RPC__out MARKUP_CONTEXT_TYPE *pContext,
            /* [out] */ __RPC__deref_out_opt IHTMLElement **ppElement,
            /* [out][in] */ __RPC__inout long *pcch,
            /* [size_is][out] */ __RPC__out_ecount_full(*pcch) OLECHAR *pchText);
        
        HRESULT ( STDMETHODCALLTYPE *Right )( 
            __RPC__in IMarkupPointer * This,
            /* [in] */ BOOL fMove,
            /* [out] */ __RPC__out MARKUP_CONTEXT_TYPE *pContext,
            /* [out] */ __RPC__deref_out_opt IHTMLElement **ppElement,
            /* [out][in] */ __RPC__inout long *pcch,
            /* [size_is][out] */ __RPC__out_ecount_full(*pcch) OLECHAR *pchText);
        
        HRESULT ( STDMETHODCALLTYPE *CurrentScope )( 
            __RPC__in IMarkupPointer * This,
            /* [out] */ __RPC__deref_out_opt IHTMLElement **ppElemCurrent);
        
        HRESULT ( STDMETHODCALLTYPE *IsLeftOf )( 
            __RPC__in IMarkupPointer * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerThat,
            /* [out] */ __RPC__out BOOL *pfResult);
        
        HRESULT ( STDMETHODCALLTYPE *IsLeftOfOrEqualTo )( 
            __RPC__in IMarkupPointer * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerThat,
            /* [out] */ __RPC__out BOOL *pfResult);
        
        HRESULT ( STDMETHODCALLTYPE *IsRightOf )( 
            __RPC__in IMarkupPointer * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerThat,
            /* [out] */ __RPC__out BOOL *pfResult);
        
        HRESULT ( STDMETHODCALLTYPE *IsRightOfOrEqualTo )( 
            __RPC__in IMarkupPointer * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerThat,
            /* [out] */ __RPC__out BOOL *pfResult);
        
        HRESULT ( STDMETHODCALLTYPE *IsEqualTo )( 
            __RPC__in IMarkupPointer * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerThat,
            /* [out] */ __RPC__out BOOL *pfAreEqual);
        
        HRESULT ( STDMETHODCALLTYPE *MoveUnit )( 
            __RPC__in IMarkupPointer * This,
            /* [in] */ MOVEUNIT_ACTION muAction);
        
        HRESULT ( STDMETHODCALLTYPE *FindText )( 
            __RPC__in IMarkupPointer * This,
            /* [string][in] */ __RPC__in_string OLECHAR *pchFindText,
            /* [in] */ DWORD dwFlags,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIEndMatch,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIEndSearch);
        
        END_INTERFACE
    } IMarkupPointerVtbl;

    interface IMarkupPointer
    {
        CONST_VTBL struct IMarkupPointerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMarkupPointer_INTERFACE_DEFINED__ */


#ifndef __IMarkupContainer_INTERFACE_DEFINED__
#define __IMarkupContainer_INTERFACE_DEFINED__

/* interface IMarkupContainer */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IMarkupContainer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f5f9-98b5-11cf-bb82-00aa00bdce0b")
    IMarkupContainer : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE OwningDoc( 
            /* [out] */ __RPC__deref_out_opt IHTMLDocument2 **ppDoc) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IMarkupContainerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IMarkupContainer * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IMarkupContainer * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IMarkupContainer * This);
        
        HRESULT ( STDMETHODCALLTYPE *OwningDoc )( 
            __RPC__in IMarkupContainer * This,
            /* [out] */ __RPC__deref_out_opt IHTMLDocument2 **ppDoc);
        
        END_INTERFACE
    } IMarkupContainerVtbl;

    interface IMarkupContainer
    {
        CONST_VTBL struct IMarkupContainerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#define IMarkupContainer_OwningDoc(This,ppDoc)	\
    ( (This)->lpVtbl -> OwningDoc(This,ppDoc) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMarkupContainer_INTERFACE_DEFINED__ */


#ifndef __IMarkupContainer2_INTERFACE_DEFINED__
#define __IMarkupContainer2_INTERFACE_DEFINED__

/* interface IMarkupContainer2 */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IMarkupContainer2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f648-98b5-11cf-bb82-00aa00bdce0b")
    IMarkupContainer2 : public IMarkupContainer
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE CreateChangeLog( 
            /* [in] */ __RPC__in_opt IHTMLChangeSink *pChangeSink,
            /* [out] */ __RPC__deref_out_opt IHTMLChangeLog **ppChangeLog,
            /* [in] */ BOOL fForward,
            /* [in] */ BOOL fBackward) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RegisterForDirtyRange( 
            /* [in] */ __RPC__in_opt IHTMLChangeSink *pChangeSink,
            /* [out] */ __RPC__out DWORD *pdwCookie) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UnRegisterForDirtyRange( 
            /* [in] */ DWORD dwCookie) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetAndClearDirtyRange( 
            /* [in] */ DWORD dwCookie,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIPointerBegin,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIPointerEnd) = 0;
        
        virtual long STDMETHODCALLTYPE GetVersionNumber( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMasterElement( 
            /* [out] */ __RPC__deref_out_opt IHTMLElement **ppElementMaster) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IMarkupContainer2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IMarkupContainer2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IMarkupContainer2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IMarkupContainer2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *OwningDoc )( 
            __RPC__in IMarkupContainer2 * This,
            /* [out] */ __RPC__deref_out_opt IHTMLDocument2 **ppDoc);
        
        HRESULT ( STDMETHODCALLTYPE *CreateChangeLog )( 
            __RPC__in IMarkupContainer2 * This,
            /* [in] */ __RPC__in_opt IHTMLChangeSink *pChangeSink,
            /* [out] */ __RPC__deref_out_opt IHTMLChangeLog **ppChangeLog,
            /* [in] */ BOOL fForward,
            /* [in] */ BOOL fBackward);
        
        HRESULT ( STDMETHODCALLTYPE *RegisterForDirtyRange )( 
            __RPC__in IMarkupContainer2 * This,
            /* [in] */ __RPC__in_opt IHTMLChangeSink *pChangeSink,
            /* [out] */ __RPC__out DWORD *pdwCookie);
        
        HRESULT ( STDMETHODCALLTYPE *UnRegisterForDirtyRange )( 
            __RPC__in IMarkupContainer2 * This,
            /* [in] */ DWORD dwCookie);
        
        HRESULT ( STDMETHODCALLTYPE *GetAndClearDirtyRange )( 
            __RPC__in IMarkupContainer2 * This,
            /* [in] */ DWORD dwCookie,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIPointerBegin,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIPointerEnd);
        
        long ( STDMETHODCALLTYPE *GetVersionNumber )( 
            __RPC__in IMarkupContainer2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetMasterElement )( 
            __RPC__in IMarkupContainer2 * This,
            /* [out] */ __RPC__deref_out_opt IHTMLElement **ppElementMaster);
        
        END_INTERFACE
    } IMarkupContainer2Vtbl;

    interface IMarkupContainer2
    {
        CONST_VTBL struct IMarkupContainer2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMarkupContainer2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMarkupContainer2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMarkupContainer2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMarkupContainer2_OwningDoc(This,ppDoc)	\
    ( (This)->lpVtbl -> OwningDoc(This,ppDoc) ) 


#define IMarkupContainer2_CreateChangeLog(This,pChangeSink,ppChangeLog,fForward,fBackward)	\
    ( (This)->lpVtbl -> CreateChangeLog(This,pChangeSink,ppChangeLog,fForward,fBackward) ) 

#define IMarkupContainer2_RegisterForDirtyRange(This,pChangeSink,pdwCookie)	\
    ( (This)->lpVtbl -> RegisterForDirtyRange(This,pChangeSink,pdwCookie) ) 

#define IMarkupContainer2_UnRegisterForDirtyRange(This,dwCookie)	\
    ( (This)->lpVtbl -> UnRegisterForDirtyRange(This,dwCookie) ) 

#define IMarkupContainer2_GetAndClearDirtyRange(This,dwCookie,pIPointerBegin,pIPointerEnd)	\
    ( (This)->lpVtbl -> GetAndClearDirtyRange(This,dwCookie,pIPointerBegin,pIPointerEnd) ) 

#define IMarkupContainer2_GetVersionNumber(This)	\
    ( (This)->lpVtbl -> GetVersionNumber(This) ) 

#define IMarkupContainer2_GetMasterElement(This,ppElementMaster)	\
    ( (This)->lpVtbl -> GetMasterElement(This,ppElementMaster) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMarkupContainer2_INTERFACE_DEFINED__ */


#ifndef __IHTMLChangeLog_INTERFACE_DEFINED__
#define __IHTMLChangeLog_INTERFACE_DEFINED__

/* interface IHTMLChangeLog */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IHTMLChangeLog;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f649-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLChangeLog : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetNextChange( 
            /* [in] */ __RPC__in BYTE *pbBuffer,
            /* [in] */ long nBufferSize,
            /* [out] */ __RPC__out long *pnRecordLength) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLChangeLogVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLChangeLog * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLChangeLog * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLChangeLog * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetNextChange )( 
            __RPC__in IHTMLChangeLog * This,
            /* [in] */ __RPC__in BYTE *pbBuffer,
            /* [in] */ long nBufferSize,
            /* [out] */ __RPC__out long *pnRecordLength);
        
        END_INTERFACE
    } IHTMLChangeLogVtbl;

    interface IHTMLChangeLog
    {
        CONST_VTBL struct IHTMLChangeLogVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLChangeLog_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLChangeLog_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLChangeLog_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLChangeLog_GetNextChange(This,pbBuffer,nBufferSize,pnRecordLength)	\
    ( (This)->lpVtbl -> GetNextChange(This,pbBuffer,nBufferSize,pnRecordLength) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLChangeLog_INTERFACE_DEFINED__ */


#ifndef __IHTMLChangeSink_INTERFACE_DEFINED__
#define __IHTMLChangeSink_INTERFACE_DEFINED__

/* interface IHTMLChangeSink */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IHTMLChangeSink;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f64a-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLChangeSink : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Notify( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLChangeSinkVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLChangeSink * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLChangeSink * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLChangeSink * This);
        
        HRESULT ( STDMETHODCALLTYPE *Notify )( 
            __RPC__in IHTMLChangeSink * This);
        
        END_INTERFACE
    } IHTMLChangeSinkVtbl;

    interface IHTMLChangeSink
    {
        CONST_VTBL struct IHTMLChangeSinkVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLChangeSink_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLChangeSink_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLChangeSink_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLChangeSink_Notify(This)	\
    ( (This)->lpVtbl -> Notify(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLChangeSink_INTERFACE_DEFINED__ */


#ifndef __IActiveIMMApp_INTERFACE_DEFINED__
#define __IActiveIMMApp_INTERFACE_DEFINED__

/* interface IActiveIMMApp */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID_IActiveIMMApp;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("08c0e040-62d1-11d1-9326-0060b067b86e")
    IActiveIMMApp : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE AssociateContext( 
            /* [in] */ __RPC__in HWND hWnd,
            /* [in] */ HIMC hIME,
            /* [out] */ __RPC__out HIMC *phPrev) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ConfigureIMEA( 
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ __RPC__in HWND hWnd,
            /* [in] */ DWORD dwMode,
            /* [in] */ __RPC__in REGISTERWORDA *pData) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ConfigureIMEW( 
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ __RPC__in HWND hWnd,
            /* [in] */ DWORD dwMode,
            /* [in] */ __RPC__in REGISTERWORDW *pData) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateContext( 
            /* [out] */ __RPC__out HIMC *phIMC) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DestroyContext( 
            /* [in] */ HIMC hIME) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EnumRegisterWordA( 
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ __RPC__in LPSTR szReading,
            /* [in] */ DWORD dwStyle,
            /* [in] */ __RPC__in LPSTR szRegister,
            /* [in] */ __RPC__in LPVOID pData,
            /* [out] */ __RPC__deref_out_opt IEnumRegisterWordA **pEnum) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EnumRegisterWordW( 
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ __RPC__in LPWSTR szReading,
            /* [in] */ DWORD dwStyle,
            /* [in] */ __RPC__in LPWSTR szRegister,
            /* [in] */ __RPC__in LPVOID pData,
            /* [out] */ __RPC__deref_out_opt IEnumRegisterWordW **pEnum) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EscapeA( 
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ HIMC hIMC,
            /* [in] */ UINT uEscape,
            /* [out][in] */ __RPC__inout LPVOID pData,
            /* [out] */ __RPC__out LRESULT *plResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EscapeW( 
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ HIMC hIMC,
            /* [in] */ UINT uEscape,
            /* [out][in] */ __RPC__inout LPVOID pData,
            /* [out] */ __RPC__out LRESULT *plResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCandidateListA( 
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD dwIndex,
            /* [in] */ UINT uBufLen,
            /* [out] */ __RPC__out CANDIDATELIST *pCandList,
            /* [out] */ __RPC__out UINT *puCopied) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCandidateListW( 
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD dwIndex,
            /* [in] */ UINT uBufLen,
            /* [out] */ __RPC__out CANDIDATELIST *pCandList,
            /* [out] */ __RPC__out UINT *puCopied) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCandidateListCountA( 
            /* [in] */ HIMC hIMC,
            /* [out] */ __RPC__out DWORD *pdwListSize,
            /* [out] */ __RPC__out DWORD *pdwBufLen) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCandidateListCountW( 
            /* [in] */ HIMC hIMC,
            /* [out] */ __RPC__out DWORD *pdwListSize,
            /* [out] */ __RPC__out DWORD *pdwBufLen) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCandidateWindow( 
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD dwIndex,
            /* [out] */ __RPC__out CANDIDATEFORM *pCandidate) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCompositionFontA( 
            /* [in] */ HIMC hIMC,
            /* [out] */ __RPC__out LOGFONTA *plf) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCompositionFontW( 
            /* [in] */ HIMC hIMC,
            /* [out] */ __RPC__out LOGFONTW *plf) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCompositionStringA( 
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD dwIndex,
            /* [in] */ DWORD dwBufLen,
            /* [out] */ __RPC__out LONG *plCopied,
            /* [out] */ __RPC__out LPVOID pBuf) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCompositionStringW( 
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD dwIndex,
            /* [in] */ DWORD dwBufLen,
            /* [out] */ __RPC__out LONG *plCopied,
            /* [out] */ __RPC__out LPVOID pBuf) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCompositionWindow( 
            /* [in] */ HIMC hIMC,
            /* [out] */ __RPC__out COMPOSITIONFORM *pCompForm) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetContext( 
            /* [in] */ __RPC__in HWND hWnd,
            /* [out] */ __RPC__out HIMC *phIMC) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetConversionListA( 
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ HIMC hIMC,
            /* [in] */ __RPC__in LPSTR pSrc,
            /* [in] */ UINT uBufLen,
            /* [in] */ UINT uFlag,
            /* [out] */ __RPC__out CANDIDATELIST *pDst,
            /* [out] */ __RPC__out UINT *puCopied) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetConversionListW( 
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ HIMC hIMC,
            /* [in] */ __RPC__in LPWSTR pSrc,
            /* [in] */ UINT uBufLen,
            /* [in] */ UINT uFlag,
            /* [out] */ __RPC__out CANDIDATELIST *pDst,
            /* [out] */ __RPC__out UINT *puCopied) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetConversionStatus( 
            /* [in] */ HIMC hIMC,
            /* [out] */ __RPC__out DWORD *pfdwConversion,
            /* [out] */ __RPC__out DWORD *pfdwSentence) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetDefaultIMEWnd( 
            /* [in] */ __RPC__in HWND hWnd,
            /* [out] */ __RPC__deref_out_opt HWND *phDefWnd) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetDescriptionA( 
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ UINT uBufLen,
            /* [out] */ __RPC__out LPSTR szDescription,
            /* [out] */ __RPC__out UINT *puCopied) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetDescriptionW( 
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ UINT uBufLen,
            /* [out] */ __RPC__out LPWSTR szDescription,
            /* [out] */ __RPC__out UINT *puCopied) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetGuideLineA( 
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD dwIndex,
            /* [in] */ DWORD dwBufLen,
            /* [out] */ __RPC__out LPSTR pBuf,
            /* [out] */ __RPC__out DWORD *pdwResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetGuideLineW( 
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD dwIndex,
            /* [in] */ DWORD dwBufLen,
            /* [out] */ __RPC__out LPWSTR pBuf,
            /* [out] */ __RPC__out DWORD *pdwResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetIMEFileNameA( 
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ UINT uBufLen,
            /* [out] */ __RPC__out LPSTR szFileName,
            /* [out] */ __RPC__out UINT *puCopied) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetIMEFileNameW( 
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ UINT uBufLen,
            /* [out] */ __RPC__out LPWSTR szFileName,
            /* [out] */ __RPC__out UINT *puCopied) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetOpenStatus( 
            /* [in] */ HIMC hIMC) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetProperty( 
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ DWORD fdwIndex,
            /* [out] */ __RPC__out DWORD *pdwProperty) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetRegisterWordStyleA( 
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ UINT nItem,
            /* [out] */ __RPC__out STYLEBUFA *pStyleBuf,
            /* [out] */ __RPC__out UINT *puCopied) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetRegisterWordStyleW( 
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ UINT nItem,
            /* [out] */ __RPC__out STYLEBUFW *pStyleBuf,
            /* [out] */ __RPC__out UINT *puCopied) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetStatusWindowPos( 
            /* [in] */ HIMC hIMC,
            /* [out] */ __RPC__out POINT *pptPos) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetVirtualKey( 
            /* [in] */ __RPC__in HWND hWnd,
            /* [out] */ __RPC__out UINT *puVirtualKey) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InstallIMEA( 
            /* [in] */ __RPC__in LPSTR szIMEFileName,
            /* [in] */ __RPC__in LPSTR szLayoutText,
            /* [out] */ __RPC__deref_out_opt HKL *phKL) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InstallIMEW( 
            /* [in] */ __RPC__in LPWSTR szIMEFileName,
            /* [in] */ __RPC__in LPWSTR szLayoutText,
            /* [out] */ __RPC__deref_out_opt HKL *phKL) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsIME( 
            /* [in] */ __RPC__in HKL hKL) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsUIMessageA( 
            /* [in] */ __RPC__in HWND hWndIME,
            /* [in] */ UINT msg,
            /* [in] */ WPARAM wParam,
            /* [in] */ LPARAM lParam) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsUIMessageW( 
            /* [in] */ __RPC__in HWND hWndIME,
            /* [in] */ UINT msg,
            /* [in] */ WPARAM wParam,
            /* [in] */ LPARAM lParam) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE NotifyIME( 
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD dwAction,
            /* [in] */ DWORD dwIndex,
            /* [in] */ DWORD dwValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RegisterWordA( 
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ __RPC__in LPSTR szReading,
            /* [in] */ DWORD dwStyle,
            /* [in] */ __RPC__in LPSTR szRegister) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RegisterWordW( 
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ __RPC__in LPWSTR szReading,
            /* [in] */ DWORD dwStyle,
            /* [in] */ __RPC__in LPWSTR szRegister) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReleaseContext( 
            /* [in] */ __RPC__in HWND hWnd,
            /* [in] */ HIMC hIMC) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetCandidateWindow( 
            /* [in] */ HIMC hIMC,
            /* [in] */ __RPC__in CANDIDATEFORM *pCandidate) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetCompositionFontA( 
            /* [in] */ HIMC hIMC,
            /* [in] */ __RPC__in LOGFONTA *plf) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetCompositionFontW( 
            /* [in] */ HIMC hIMC,
            /* [in] */ __RPC__in LOGFONTW *plf) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetCompositionStringA( 
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD dwIndex,
            /* [in] */ __RPC__in LPVOID pComp,
            /* [in] */ DWORD dwCompLen,
            /* [in] */ __RPC__in LPVOID pRead,
            /* [in] */ DWORD dwReadLen) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetCompositionStringW( 
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD dwIndex,
            /* [in] */ __RPC__in LPVOID pComp,
            /* [in] */ DWORD dwCompLen,
            /* [in] */ __RPC__in LPVOID pRead,
            /* [in] */ DWORD dwReadLen) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetCompositionWindow( 
            /* [in] */ HIMC hIMC,
            /* [in] */ __RPC__in COMPOSITIONFORM *pCompForm) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetConversionStatus( 
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD fdwConversion,
            /* [in] */ DWORD fdwSentence) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetOpenStatus( 
            /* [in] */ HIMC hIMC,
            /* [in] */ BOOL fOpen) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetStatusWindowPos( 
            /* [in] */ HIMC hIMC,
            /* [in] */ __RPC__in POINT *pptPos) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SimulateHotKey( 
            /* [in] */ __RPC__in HWND hWnd,
            /* [in] */ DWORD dwHotKeyID) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UnregisterWordA( 
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ __RPC__in LPSTR szReading,
            /* [in] */ DWORD dwStyle,
            /* [in] */ __RPC__in LPSTR szUnregister) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UnregisterWordW( 
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ __RPC__in LPWSTR szReading,
            /* [in] */ DWORD dwStyle,
            /* [in] */ __RPC__in LPWSTR szUnregister) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Activate( 
            /* [in] */ BOOL fRestoreLayout) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Deactivate( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnDefWindowProc( 
            /* [in] */ __RPC__in HWND hWnd,
            /* [in] */ UINT Msg,
            /* [in] */ WPARAM wParam,
            /* [in] */ LPARAM lParam,
            /* [out] */ __RPC__out LRESULT *plResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FilterClientWindows( 
            /* [in] */ __RPC__in ATOM *aaClassList,
            /* [in] */ UINT uSize) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCodePageA( 
            /* [in] */ __RPC__in HKL hKL,
            /* [out] */ __RPC__out UINT *uCodePage) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetLangId( 
            /* [in] */ __RPC__in HKL hKL,
            /* [out] */ __RPC__out LANGID *plid) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AssociateContextEx( 
            /* [in] */ __RPC__in HWND hWnd,
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD dwFlags) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DisableIME( 
            /* [in] */ DWORD idThread) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetImeMenuItemsA( 
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD dwFlags,
            /* [in] */ DWORD dwType,
            /* [in] */ __RPC__in IMEMENUITEMINFOA *pImeParentMenu,
            /* [out] */ __RPC__out IMEMENUITEMINFOA *pImeMenu,
            /* [in] */ DWORD dwSize,
            /* [out] */ __RPC__out DWORD *pdwResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetImeMenuItemsW( 
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD dwFlags,
            /* [in] */ DWORD dwType,
            /* [in] */ __RPC__in IMEMENUITEMINFOW *pImeParentMenu,
            /* [out] */ __RPC__out IMEMENUITEMINFOW *pImeMenu,
            /* [in] */ DWORD dwSize,
            /* [out] */ __RPC__out DWORD *pdwResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EnumInputContext( 
            /* [in] */ DWORD idThread,
            /* [out] */ __RPC__deref_out_opt IEnumInputContext **ppEnum) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IActiveIMMAppVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IActiveIMMApp * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IActiveIMMApp * This);
        
        HRESULT ( STDMETHODCALLTYPE *AssociateContext )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HWND hWnd,
            /* [in] */ HIMC hIME,
            /* [out] */ __RPC__out HIMC *phPrev);
        
        HRESULT ( STDMETHODCALLTYPE *ConfigureIMEA )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ __RPC__in HWND hWnd,
            /* [in] */ DWORD dwMode,
            /* [in] */ __RPC__in REGISTERWORDA *pData);
        
        HRESULT ( STDMETHODCALLTYPE *ConfigureIMEW )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ __RPC__in HWND hWnd,
            /* [in] */ DWORD dwMode,
            /* [in] */ __RPC__in REGISTERWORDW *pData);
        
        HRESULT ( STDMETHODCALLTYPE *CreateContext )( 
            __RPC__in IActiveIMMApp * This,
            /* [out] */ __RPC__out HIMC *phIMC);
        
        HRESULT ( STDMETHODCALLTYPE *DestroyContext )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIME);
        
        HRESULT ( STDMETHODCALLTYPE *EnumRegisterWordA )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ __RPC__in LPSTR szReading,
            /* [in] */ DWORD dwStyle,
            /* [in] */ __RPC__in LPSTR szRegister,
            /* [in] */ __RPC__in LPVOID pData,
            /* [out] */ __RPC__deref_out_opt IEnumRegisterWordA **pEnum);
        
        HRESULT ( STDMETHODCALLTYPE *EnumRegisterWordW )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ __RPC__in LPWSTR szReading,
            /* [in] */ DWORD dwStyle,
            /* [in] */ __RPC__in LPWSTR szRegister,
            /* [in] */ __RPC__in LPVOID pData,
            /* [out] */ __RPC__deref_out_opt IEnumRegisterWordW **pEnum);
        
        HRESULT ( STDMETHODCALLTYPE *EscapeA )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ HIMC hIMC,
            /* [in] */ UINT uEscape,
            /* [out][in] */ __RPC__inout LPVOID pData,
            /* [out] */ __RPC__out LRESULT *plResult);
        
        HRESULT ( STDMETHODCALLTYPE *EscapeW )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ HIMC hIMC,
            /* [in] */ UINT uEscape,
            /* [out][in] */ __RPC__inout LPVOID pData,
            /* [out] */ __RPC__out LRESULT *plResult);
        
        HRESULT ( STDMETHODCALLTYPE *GetCandidateListA )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD dwIndex,
            /* [in] */ UINT uBufLen,
            /* [out] */ __RPC__out CANDIDATELIST *pCandList,
            /* [out] */ __RPC__out UINT *puCopied);
        
        HRESULT ( STDMETHODCALLTYPE *GetCandidateListW )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD dwIndex,
            /* [in] */ UINT uBufLen,
            /* [out] */ __RPC__out CANDIDATELIST *pCandList,
            /* [out] */ __RPC__out UINT *puCopied);
        
        HRESULT ( STDMETHODCALLTYPE *GetCandidateListCountA )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC,
            /* [out] */ __RPC__out DWORD *pdwListSize,
            /* [out] */ __RPC__out DWORD *pdwBufLen);
        
        HRESULT ( STDMETHODCALLTYPE *GetCandidateListCountW )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC,
            /* [out] */ __RPC__out DWORD *pdwListSize,
            /* [out] */ __RPC__out DWORD *pdwBufLen);
        
        HRESULT ( STDMETHODCALLTYPE *GetCandidateWindow )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD dwIndex,
            /* [out] */ __RPC__out CANDIDATEFORM *pCandidate);
        
        HRESULT ( STDMETHODCALLTYPE *GetCompositionFontA )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC,
            /* [out] */ __RPC__out LOGFONTA *plf);
        
        HRESULT ( STDMETHODCALLTYPE *GetCompositionFontW )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC,
            /* [out] */ __RPC__out LOGFONTW *plf);
        
        HRESULT ( STDMETHODCALLTYPE *GetCompositionStringA )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD dwIndex,
            /* [in] */ DWORD dwBufLen,
            /* [out] */ __RPC__out LONG *plCopied,
            /* [out] */ __RPC__out LPVOID pBuf);
        
        HRESULT ( STDMETHODCALLTYPE *GetCompositionStringW )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD dwIndex,
            /* [in] */ DWORD dwBufLen,
            /* [out] */ __RPC__out LONG *plCopied,
            /* [out] */ __RPC__out LPVOID pBuf);
        
        HRESULT ( STDMETHODCALLTYPE *GetCompositionWindow )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC,
            /* [out] */ __RPC__out COMPOSITIONFORM *pCompForm);
        
        HRESULT ( STDMETHODCALLTYPE *GetContext )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HWND hWnd,
            /* [out] */ __RPC__out HIMC *phIMC);
        
        HRESULT ( STDMETHODCALLTYPE *GetConversionListA )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ HIMC hIMC,
            /* [in] */ __RPC__in LPSTR pSrc,
            /* [in] */ UINT uBufLen,
            /* [in] */ UINT uFlag,
            /* [out] */ __RPC__out CANDIDATELIST *pDst,
            /* [out] */ __RPC__out UINT *puCopied);
        
        HRESULT ( STDMETHODCALLTYPE *GetConversionListW )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ HIMC hIMC,
            /* [in] */ __RPC__in LPWSTR pSrc,
            /* [in] */ UINT uBufLen,
            /* [in] */ UINT uFlag,
            /* [out] */ __RPC__out CANDIDATELIST *pDst,
            /* [out] */ __RPC__out UINT *puCopied);
        
        HRESULT ( STDMETHODCALLTYPE *GetConversionStatus )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC,
            /* [out] */ __RPC__out DWORD *pfdwConversion,
            /* [out] */ __RPC__out DWORD *pfdwSentence);
        
        HRESULT ( STDMETHODCALLTYPE *GetDefaultIMEWnd )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HWND hWnd,
            /* [out] */ __RPC__deref_out_opt HWND *phDefWnd);
        
        HRESULT ( STDMETHODCALLTYPE *GetDescriptionA )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ UINT uBufLen,
            /* [out] */ __RPC__out LPSTR szDescription,
            /* [out] */ __RPC__out UINT *puCopied);
        
        HRESULT ( STDMETHODCALLTYPE *GetDescriptionW )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ UINT uBufLen,
            /* [out] */ __RPC__out LPWSTR szDescription,
            /* [out] */ __RPC__out UINT *puCopied);
        
        HRESULT ( STDMETHODCALLTYPE *GetGuideLineA )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD dwIndex,
            /* [in] */ DWORD dwBufLen,
            /* [out] */ __RPC__out LPSTR pBuf,
            /* [out] */ __RPC__out DWORD *pdwResult);
        
        HRESULT ( STDMETHODCALLTYPE *GetGuideLineW )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD dwIndex,
            /* [in] */ DWORD dwBufLen,
            /* [out] */ __RPC__out LPWSTR pBuf,
            /* [out] */ __RPC__out DWORD *pdwResult);
        
        HRESULT ( STDMETHODCALLTYPE *GetIMEFileNameA )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ UINT uBufLen,
            /* [out] */ __RPC__out LPSTR szFileName,
            /* [out] */ __RPC__out UINT *puCopied);
        
        HRESULT ( STDMETHODCALLTYPE *GetIMEFileNameW )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ UINT uBufLen,
            /* [out] */ __RPC__out LPWSTR szFileName,
            /* [out] */ __RPC__out UINT *puCopied);
        
        HRESULT ( STDMETHODCALLTYPE *GetOpenStatus )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC);
        
        HRESULT ( STDMETHODCALLTYPE *GetProperty )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ DWORD fdwIndex,
            /* [out] */ __RPC__out DWORD *pdwProperty);
        
        HRESULT ( STDMETHODCALLTYPE *GetRegisterWordStyleA )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ UINT nItem,
            /* [out] */ __RPC__out STYLEBUFA *pStyleBuf,
            /* [out] */ __RPC__out UINT *puCopied);
        
        HRESULT ( STDMETHODCALLTYPE *GetRegisterWordStyleW )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ UINT nItem,
            /* [out] */ __RPC__out STYLEBUFW *pStyleBuf,
            /* [out] */ __RPC__out UINT *puCopied);
        
        HRESULT ( STDMETHODCALLTYPE *GetStatusWindowPos )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC,
            /* [out] */ __RPC__out POINT *pptPos);
        
        HRESULT ( STDMETHODCALLTYPE *GetVirtualKey )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HWND hWnd,
            /* [out] */ __RPC__out UINT *puVirtualKey);
        
        HRESULT ( STDMETHODCALLTYPE *InstallIMEA )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in LPSTR szIMEFileName,
            /* [in] */ __RPC__in LPSTR szLayoutText,
            /* [out] */ __RPC__deref_out_opt HKL *phKL);
        
        HRESULT ( STDMETHODCALLTYPE *InstallIMEW )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in LPWSTR szIMEFileName,
            /* [in] */ __RPC__in LPWSTR szLayoutText,
            /* [out] */ __RPC__deref_out_opt HKL *phKL);
        
        HRESULT ( STDMETHODCALLTYPE *IsIME )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HKL hKL);
        
        HRESULT ( STDMETHODCALLTYPE *IsUIMessageA )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HWND hWndIME,
            /* [in] */ UINT msg,
            /* [in] */ WPARAM wParam,
            /* [in] */ LPARAM lParam);
        
        HRESULT ( STDMETHODCALLTYPE *IsUIMessageW )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HWND hWndIME,
            /* [in] */ UINT msg,
            /* [in] */ WPARAM wParam,
            /* [in] */ LPARAM lParam);
        
        HRESULT ( STDMETHODCALLTYPE *NotifyIME )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD dwAction,
            /* [in] */ DWORD dwIndex,
            /* [in] */ DWORD dwValue);
        
        HRESULT ( STDMETHODCALLTYPE *RegisterWordA )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ __RPC__in LPSTR szReading,
            /* [in] */ DWORD dwStyle,
            /* [in] */ __RPC__in LPSTR szRegister);
        
        HRESULT ( STDMETHODCALLTYPE *RegisterWordW )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ __RPC__in LPWSTR szReading,
            /* [in] */ DWORD dwStyle,
            /* [in] */ __RPC__in LPWSTR szRegister);
        
        HRESULT ( STDMETHODCALLTYPE *ReleaseContext )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HWND hWnd,
            /* [in] */ HIMC hIMC);
        
        HRESULT ( STDMETHODCALLTYPE *SetCandidateWindow )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC,
            /* [in] */ __RPC__in CANDIDATEFORM *pCandidate);
        
        HRESULT ( STDMETHODCALLTYPE *SetCompositionFontA )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC,
            /* [in] */ __RPC__in LOGFONTA *plf);
        
        HRESULT ( STDMETHODCALLTYPE *SetCompositionFontW )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC,
            /* [in] */ __RPC__in LOGFONTW *plf);
        
        HRESULT ( STDMETHODCALLTYPE *SetCompositionStringA )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD dwIndex,
            /* [in] */ __RPC__in LPVOID pComp,
            /* [in] */ DWORD dwCompLen,
            /* [in] */ __RPC__in LPVOID pRead,
            /* [in] */ DWORD dwReadLen);
        
        HRESULT ( STDMETHODCALLTYPE *SetCompositionStringW )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD dwIndex,
            /* [in] */ __RPC__in LPVOID pComp,
            /* [in] */ DWORD dwCompLen,
            /* [in] */ __RPC__in LPVOID pRead,
            /* [in] */ DWORD dwReadLen);
        
        HRESULT ( STDMETHODCALLTYPE *SetCompositionWindow )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC,
            /* [in] */ __RPC__in COMPOSITIONFORM *pCompForm);
        
        HRESULT ( STDMETHODCALLTYPE *SetConversionStatus )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD fdwConversion,
            /* [in] */ DWORD fdwSentence);
        
        HRESULT ( STDMETHODCALLTYPE *SetOpenStatus )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC,
            /* [in] */ BOOL fOpen);
        
        HRESULT ( STDMETHODCALLTYPE *SetStatusWindowPos )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC,
            /* [in] */ __RPC__in POINT *pptPos);
        
        HRESULT ( STDMETHODCALLTYPE *SimulateHotKey )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HWND hWnd,
            /* [in] */ DWORD dwHotKeyID);
        
        HRESULT ( STDMETHODCALLTYPE *UnregisterWordA )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ __RPC__in LPSTR szReading,
            /* [in] */ DWORD dwStyle,
            /* [in] */ __RPC__in LPSTR szUnregister);
        
        HRESULT ( STDMETHODCALLTYPE *UnregisterWordW )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HKL hKL,
            /* [in] */ __RPC__in LPWSTR szReading,
            /* [in] */ DWORD dwStyle,
            /* [in] */ __RPC__in LPWSTR szUnregister);
        
        HRESULT ( STDMETHODCALLTYPE *Activate )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ BOOL fRestoreLayout);
        
        HRESULT ( STDMETHODCALLTYPE *Deactivate )( 
            __RPC__in IActiveIMMApp * This);
        
        HRESULT ( STDMETHODCALLTYPE *OnDefWindowProc )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HWND hWnd,
            /* [in] */ UINT Msg,
            /* [in] */ WPARAM wParam,
            /* [in] */ LPARAM lParam,
            /* [out] */ __RPC__out LRESULT *plResult);
        
        HRESULT ( STDMETHODCALLTYPE *FilterClientWindows )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in ATOM *aaClassList,
            /* [in] */ UINT uSize);
        
        HRESULT ( STDMETHODCALLTYPE *GetCodePageA )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HKL hKL,
            /* [out] */ __RPC__out UINT *uCodePage);
        
        HRESULT ( STDMETHODCALLTYPE *GetLangId )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HKL hKL,
            /* [out] */ __RPC__out LANGID *plid);
        
        HRESULT ( STDMETHODCALLTYPE *AssociateContextEx )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ __RPC__in HWND hWnd,
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD dwFlags);
        
        HRESULT ( STDMETHODCALLTYPE *DisableIME )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ DWORD idThread);
        
        HRESULT ( STDMETHODCALLTYPE *GetImeMenuItemsA )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD dwFlags,
            /* [in] */ DWORD dwType,
            /* [in] */ __RPC__in IMEMENUITEMINFOA *pImeParentMenu,
            /* [out] */ __RPC__out IMEMENUITEMINFOA *pImeMenu,
            /* [in] */ DWORD dwSize,
            /* [out] */ __RPC__out DWORD *pdwResult);
        
        HRESULT ( STDMETHODCALLTYPE *GetImeMenuItemsW )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ HIMC hIMC,
            /* [in] */ DWORD dwFlags,
            /* [in] */ DWORD dwType,
            /* [in] */ __RPC__in IMEMENUITEMINFOW *pImeParentMenu,
            /* [out] */ __RPC__out IMEMENUITEMINFOW *pImeMenu,
            /* [in] */ DWORD dwSize,
            /* [out] */ __RPC__out DWORD *pdwResult);
        
        HRESULT ( STDMETHODCALLTYPE *EnumInputContext )( 
            __RPC__in IActiveIMMApp * This,
            /* [in] */ DWORD idThread,
            /* [out] */ __RPC__deref_out_opt IEnumInputContext **ppEnum);
        
        END_INTERFACE
    } IActiveIMMAppVtbl;

    interface IActiveIMMApp
    {
        CONST_VTBL struct IActiveIMMAppVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IActiveIMMApp_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IActiveIMMApp_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IActiveIMMApp_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IActiveIMMApp_AssociateContext(This,hWnd,hIME,phPrev)	\
    ( (This)->lpVtbl -> AssociateContext(This,hWnd,hIME,phPrev) ) 

#define IActiveIMMApp_ConfigureIMEA(This,hKL,hWnd,dwMode,pData)	\
    ( (This)->lpVtbl -> ConfigureIMEA(This,hKL,hWnd,dwMode,pData) ) 

#define IActiveIMMApp_ConfigureIMEW(This,hKL,hWnd,dwMode,pData)	\
    ( (This)->lpVtbl -> ConfigureIMEW(This,hKL,hWnd,dwMode,pData) ) 

#define IActiveIMMApp_CreateContext(This,phIMC)	\
    ( (This)->lpVtbl -> CreateContext(This,phIMC) ) 

#define IActiveIMMApp_DestroyContext(This,hIME)	\
    ( (This)->lpVtbl -> DestroyContext(This,hIME) ) 

#define IActiveIMMApp_EnumRegisterWordA(This,hKL,szReading,dwStyle,szRegister,pData,pEnum)	\
    ( (This)->lpVtbl -> EnumRegisterWordA(This,hKL,szReading,dwStyle,szRegister,pData,pEnum) ) 

#define IActiveIMMApp_EnumRegisterWordW(This,hKL,szReading,dwStyle,szRegister,pData,pEnum)	\
    ( (This)->lpVtbl -> EnumRegisterWordW(This,hKL,szReading,dwStyle,szRegister,pData,pEnum) ) 

#define IActiveIMMApp_EscapeA(This,hKL,hIMC,uEscape,pData,plResult)	\
    ( (This)->lpVtbl -> EscapeA(This,hKL,hIMC,uEscape,pData,plResult) ) 

#define IActiveIMMApp_EscapeW(This,hKL,hIMC,uEscape,pData,plResult)	\
    ( (This)->lpVtbl -> EscapeW(This,hKL,hIMC,uEscape,pData,plResult) ) 

#define IActiveIMMApp_GetCandidateListA(This,hIMC,dwIndex,uBufLen,pCandList,puCopied)	\
    ( (This)->lpVtbl -> GetCandidateListA(This,hIMC,dwIndex,uBufLen,pCandList,puCopied) ) 

#define IActiveIMMApp_GetCandidateListW(This,hIMC,dwIndex,uBufLen,pCandList,puCopied)	\
    ( (This)->lpVtbl -> GetCandidateListW(This,hIMC,dwIndex,uBufLen,pCandList,puCopied) ) 

#define IActiveIMMApp_GetCandidateListCountA(This,hIMC,pdwListSize,pdwBufLen)	\
    ( (This)->lpVtbl -> GetCandidateListCountA(This,hIMC,pdwListSize,pdwBufLen) ) 

#define IActiveIMMApp_GetCandidateListCountW(This,hIMC,pdwListSize,pdwBufLen)	\
    ( (This)->lpVtbl -> GetCandidateListCountW(This,hIMC,pdwListSize,pdwBufLen) ) 

#define IActiveIMMApp_GetCandidateWindow(This,hIMC,dwIndex,pCandidate)	\
    ( (This)->lpVtbl -> GetCandidateWindow(This,hIMC,dwIndex,pCandidate) ) 

#define IActiveIMMApp_GetCompositionFontA(This,hIMC,plf)	\
    ( (This)->lpVtbl -> GetCompositionFontA(This,hIMC,plf) ) 

#define IActiveIMMApp_GetCompositionFontW(This,hIMC,plf)	\
    ( (This)->lpVtbl -> GetCompositionFontW(This,hIMC,plf) ) 

#define IActiveIMMApp_GetCompositionStringA(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf)	\
    ( (This)->lpVtbl -> GetCompositionStringA(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf) ) 

#define IActiveIMMApp_GetCompositionStringW(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf)	\
    ( (This)->lpVtbl -> GetCompositionStringW(This,hIMC,dwIndex,dwBufLen,plCopied,pBuf) ) 

#define IActiveIMMApp_GetCompositionWindow(This,hIMC,pCompForm)	\
    ( (This)->lpVtbl -> GetCompositionWindow(This,hIMC,pCompForm) ) 

#define IActiveIMMApp_GetContext(This,hWnd,phIMC)	\
    ( (This)->lpVtbl -> GetContext(This,hWnd,phIMC) ) 

#define IActiveIMMApp_GetConversionListA(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied)	\
    ( (This)->lpVtbl -> GetConversionListA(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied) ) 

#define IActiveIMMApp_GetConversionListW(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied)	\
    ( (This)->lpVtbl -> GetConversionListW(This,hKL,hIMC,pSrc,uBufLen,uFlag,pDst,puCopied) ) 

#define IActiveIMMApp_GetConversionStatus(This,hIMC,pfdwConversion,pfdwSentence)	\
    ( (This)->lpVtbl -> GetConversionStatus(This,hIMC,pfdwConversion,pfdwSentence) ) 

#define IActiveIMMApp_GetDefaultIMEWnd(This,hWnd,phDefWnd)	\
    ( (This)->lpVtbl -> GetDefaultIMEWnd(This,hWnd,phDefWnd) ) 

#define IActiveIMMApp_GetDescriptionA(This,hKL,uBufLen,szDescription,puCopied)	\
    ( (This)->lpVtbl -> GetDescriptionA(This,hKL,uBufLen,szDescription,puCopied) ) 

#define IActiveIMMApp_GetDescriptionW(This,hKL,uBufLen,szDescription,puCopied)	\
    ( (This)->lpVtbl -> GetDescriptionW(This,hKL,uBufLen,szDescription,puCopied) ) 

#define IActiveIMMApp_GetGuideLineA(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult)	\
    ( (This)->lpVtbl -> GetGuideLineA(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult) ) 

#define IActiveIMMApp_GetGuideLineW(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult)	\
    ( (This)->lpVtbl -> GetGuideLineW(This,hIMC,dwIndex,dwBufLen,pBuf,pdwResult) ) 

#define IActiveIMMApp_GetIMEFileNameA(This,hKL,uBufLen,szFileName,puCopied)	\
    ( (This)->lpVtbl -> GetIMEFileNameA(This,hKL,uBufLen,szFileName,puCopied) ) 

#define IActiveIMMApp_GetIMEFileNameW(This,hKL,uBufLen,szFileName,puCopied)	\
    ( (This)->lpVtbl -> GetIMEFileNameW(This,hKL,uBufLen,szFileName,puCopied) ) 

#define IActiveIMMApp_GetOpenStatus(This,hIMC)	\
    ( (This)->lpVtbl -> GetOpenStatus(This,hIMC) ) 

#define IActiveIMMApp_GetProperty(This,hKL,fdwIndex,pdwProperty)	\
    ( (This)->lpVtbl -> GetProperty(This,hKL,fdwIndex,pdwProperty) ) 

#define IActiveIMMApp_GetRegisterWordStyleA(This,hKL,nItem,pStyleBuf,puCopied)	\
    ( (This)->lpVtbl -> GetRegisterWordStyleA(This,hKL,nItem,pStyleBuf,puCopied) ) 

#define IActiveIMMApp_GetRegisterWordStyleW(This,hKL,nItem,pStyleBuf,puCopied)	\
    ( (This)->lpVtbl -> GetRegisterWordStyleW(This,hKL,nItem,pStyleBuf,puCopied) ) 

#define IActiveIMMApp_GetStatusWindowPos(This,hIMC,pptPos)	\
    ( (This)->lpVtbl -> GetStatusWindowPos(This,hIMC,pptPos) ) 

#define IActiveIMMApp_GetVirtualKey(This,hWnd,puVirtualKey)	\
    ( (This)->lpVtbl -> GetVirtualKey(This,hWnd,puVirtualKey) ) 

#define IActiveIMMApp_InstallIMEA(This,szIMEFileName,szLayoutText,phKL)	\
    ( (This)->lpVtbl -> InstallIMEA(This,szIMEFileName,szLayoutText,phKL) ) 

#define IActiveIMMApp_InstallIMEW(This,szIMEFileName,szLayoutText,phKL)	\
    ( (This)->lpVtbl -> InstallIMEW(This,szIMEFileName,szLayoutText,phKL) ) 

#define IActiveIMMApp_IsIME(This,hKL)	\
    ( (This)->lpVtbl -> IsIME(This,hKL) ) 

#define IActiveIMMApp_IsUIMessageA(This,hWndIME,msg,wParam,lParam)	\
    ( (This)->lpVtbl -> IsUIMessageA(This,hWndIME,msg,wParam,lParam) ) 

#define IActiveIMMApp_IsUIMessageW(This,hWndIME,msg,wParam,lParam)	\
    ( (This)->lpVtbl -> IsUIMessageW(This,hWndIME,msg,wParam,lParam) ) 

#define IActiveIMMApp_NotifyIME(This,hIMC,dwAction,dwIndex,dwValue)	\
    ( (This)->lpVtbl -> NotifyIME(This,hIMC,dwAction,dwIndex,dwValue) ) 

#define IActiveIMMApp_RegisterWordA(This,hKL,szReading,dwStyle,szRegister)	\
    ( (This)->lpVtbl -> RegisterWordA(This,hKL,szReading,dwStyle,szRegister) ) 

#define IActiveIMMApp_RegisterWordW(This,hKL,szReading,dwStyle,szRegister)	\
    ( (This)->lpVtbl -> RegisterWordW(This,hKL,szReading,dwStyle,szRegister) ) 

#define IActiveIMMApp_ReleaseContext(This,hWnd,hIMC)	\
    ( (This)->lpVtbl -> ReleaseContext(This,hWnd,hIMC) ) 

#define IActiveIMMApp_SetCandidateWindow(This,hIMC,pCandidate)	\
    ( (This)->lpVtbl -> SetCandidateWindow(This,hIMC,pCandidate) ) 

#define IActiveIMMApp_SetCompositionFontA(This,hIMC,plf)	\
    ( (This)->lpVtbl -> SetCompositionFontA(This,hIMC,plf) ) 

#define IActiveIMMApp_SetCompositionFontW(This,hIMC,plf)	\
    ( (This)->lpVtbl -> SetCompositionFontW(This,hIMC,plf) ) 

#define IActiveIMMApp_SetCompositionStringA(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen)	\
    ( (This)->lpVtbl -> SetCompositionStringA(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen) ) 

#define IActiveIMMApp_SetCompositionStringW(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen)	\
    ( (This)->lpVtbl -> SetCompositionStringW(This,hIMC,dwIndex,pComp,dwCompLen,pRead,dwReadLen) ) 

#define IActiveIMMApp_SetCompositionWindow(This,hIMC,pCompForm)	\
    ( (This)->lpVtbl -> SetCompositionWindow(This,hIMC,pCompForm) ) 

#define IActiveIMMApp_SetConversionStatus(This,hIMC,fdwConversion,fdwSentence)	\
    ( (This)->lpVtbl -> SetConversionStatus(This,hIMC,fdwConversion,fdwSentence) ) 

#define IActiveIMMApp_SetOpenStatus(This,hIMC,fOpen)	\
    ( (This)->lpVtbl -> SetOpenStatus(This,hIMC,fOpen) ) 

#define IActiveIMMApp_SetStatusWindowPos(This,hIMC,pptPos)	\
    ( (This)->lpVtbl -> SetStatusWindowPos(This,hIMC,pptPos) ) 

#define IActiveIMMApp_SimulateHotKey(This,hWnd,dwHotKeyID)	\
    ( (This)->lpVtbl -> SimulateHotKey(This,hWnd,dwHotKeyID) ) 

#define IActiveIMMApp_UnregisterWordA(This,hKL,szReading,dwStyle,szUnregister)	\
    ( (This)->lpVtbl -> UnregisterWordA(This,hKL,szReading,dwStyle,szUnregister) ) 

#define IActiveIMMApp_UnregisterWordW(This,hKL,szReading,dwStyle,szUnregister)	\
    ( (This)->lpVtbl -> UnregisterWordW(This,hKL,szReading,dwStyle,szUnregister) ) 

#define IActiveIMMApp_Activate(This,fRestoreLayout)	\
    ( (This)->lpVtbl -> Activate(This,fRestoreLayout) ) 

#define IActiveIMMApp_Deactivate(This)	\
    ( (This)->lpVtbl -> Deactivate(This) ) 

#define IActiveIMMApp_OnDefWindowProc(This,hWnd,Msg,wParam,lParam,plResult)	\
    ( (This)->lpVtbl -> OnDefWindowProc(This,hWnd,Msg,wParam,lParam,plResult) ) 

#define IActiveIMMApp_FilterClientWindows(This,aaClassList,uSize)	\
    ( (This)->lpVtbl -> FilterClientWindows(This,aaClassList,uSize) ) 

#define IActiveIMMApp_GetCodePageA(This,hKL,uCodePage)	\
    ( (This)->lpVtbl -> GetCodePageA(This,hKL,uCodePage) ) 

#define IActiveIMMApp_GetLangId(This,hKL,plid)	\
    ( (This)->lpVtbl -> GetLangId(This,hKL,plid) ) 

#define IActiveIMMApp_AssociateContextEx(This,hWnd,hIMC,dwFlags)	\
    ( (This)->lpVtbl -> AssociateContextEx(This,hWnd,hIMC,dwFlags) ) 

#define IActiveIMMApp_DisableIME(This,idThread)	\
    ( (This)->lpVtbl -> DisableIME(This,idThread) ) 

#define IActiveIMMApp_GetImeMenuItemsA(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult)	\
    ( (This)->lpVtbl -> GetImeMenuItemsA(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult) ) 

#define IActiveIMMApp_GetImeMenuItemsW(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult)	\
    ( (This)->lpVtbl -> GetImeMenuItemsW(This,hIMC,dwFlags,dwType,pImeParentMenu,pImeMenu,dwSize,pdwResult) ) 

#define IActiveIMMApp_EnumInputContext(This,idThread,ppEnum)	\
    ( (This)->lpVtbl -> EnumInputContext(This,idThread,ppEnum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IActiveIMMApp_AssociateContext_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HWND hWnd,
    /* [in] */ HIMC hIME,
    /* [out] */ __RPC__out HIMC *phPrev);


void __RPC_STUB IActiveIMMApp_AssociateContext_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_ConfigureIMEA_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HKL hKL,
    /* [in] */ __RPC__in HWND hWnd,
    /* [in] */ DWORD dwMode,
    /* [in] */ __RPC__in REGISTERWORDA *pData);


void __RPC_STUB IActiveIMMApp_ConfigureIMEA_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_ConfigureIMEW_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HKL hKL,
    /* [in] */ __RPC__in HWND hWnd,
    /* [in] */ DWORD dwMode,
    /* [in] */ __RPC__in REGISTERWORDW *pData);


void __RPC_STUB IActiveIMMApp_ConfigureIMEW_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_CreateContext_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [out] */ __RPC__out HIMC *phIMC);


void __RPC_STUB IActiveIMMApp_CreateContext_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_DestroyContext_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIME);


void __RPC_STUB IActiveIMMApp_DestroyContext_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_EnumRegisterWordA_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HKL hKL,
    /* [in] */ __RPC__in LPSTR szReading,
    /* [in] */ DWORD dwStyle,
    /* [in] */ __RPC__in LPSTR szRegister,
    /* [in] */ __RPC__in LPVOID pData,
    /* [out] */ __RPC__deref_out_opt IEnumRegisterWordA **pEnum);


void __RPC_STUB IActiveIMMApp_EnumRegisterWordA_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_EnumRegisterWordW_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HKL hKL,
    /* [in] */ __RPC__in LPWSTR szReading,
    /* [in] */ DWORD dwStyle,
    /* [in] */ __RPC__in LPWSTR szRegister,
    /* [in] */ __RPC__in LPVOID pData,
    /* [out] */ __RPC__deref_out_opt IEnumRegisterWordW **pEnum);


void __RPC_STUB IActiveIMMApp_EnumRegisterWordW_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_EscapeA_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HKL hKL,
    /* [in] */ HIMC hIMC,
    /* [in] */ UINT uEscape,
    /* [out][in] */ __RPC__inout LPVOID pData,
    /* [out] */ __RPC__out LRESULT *plResult);


void __RPC_STUB IActiveIMMApp_EscapeA_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_EscapeW_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HKL hKL,
    /* [in] */ HIMC hIMC,
    /* [in] */ UINT uEscape,
    /* [out][in] */ __RPC__inout LPVOID pData,
    /* [out] */ __RPC__out LRESULT *plResult);


void __RPC_STUB IActiveIMMApp_EscapeW_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetCandidateListA_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC,
    /* [in] */ DWORD dwIndex,
    /* [in] */ UINT uBufLen,
    /* [out] */ __RPC__out CANDIDATELIST *pCandList,
    /* [out] */ __RPC__out UINT *puCopied);


void __RPC_STUB IActiveIMMApp_GetCandidateListA_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetCandidateListW_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC,
    /* [in] */ DWORD dwIndex,
    /* [in] */ UINT uBufLen,
    /* [out] */ __RPC__out CANDIDATELIST *pCandList,
    /* [out] */ __RPC__out UINT *puCopied);


void __RPC_STUB IActiveIMMApp_GetCandidateListW_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetCandidateListCountA_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC,
    /* [out] */ __RPC__out DWORD *pdwListSize,
    /* [out] */ __RPC__out DWORD *pdwBufLen);


void __RPC_STUB IActiveIMMApp_GetCandidateListCountA_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetCandidateListCountW_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC,
    /* [out] */ __RPC__out DWORD *pdwListSize,
    /* [out] */ __RPC__out DWORD *pdwBufLen);


void __RPC_STUB IActiveIMMApp_GetCandidateListCountW_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetCandidateWindow_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC,
    /* [in] */ DWORD dwIndex,
    /* [out] */ __RPC__out CANDIDATEFORM *pCandidate);


void __RPC_STUB IActiveIMMApp_GetCandidateWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetCompositionFontA_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC,
    /* [out] */ __RPC__out LOGFONTA *plf);


void __RPC_STUB IActiveIMMApp_GetCompositionFontA_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetCompositionFontW_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC,
    /* [out] */ __RPC__out LOGFONTW *plf);


void __RPC_STUB IActiveIMMApp_GetCompositionFontW_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetCompositionStringA_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC,
    /* [in] */ DWORD dwIndex,
    /* [in] */ DWORD dwBufLen,
    /* [out] */ __RPC__out LONG *plCopied,
    /* [out] */ __RPC__out LPVOID pBuf);


void __RPC_STUB IActiveIMMApp_GetCompositionStringA_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetCompositionStringW_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC,
    /* [in] */ DWORD dwIndex,
    /* [in] */ DWORD dwBufLen,
    /* [out] */ __RPC__out LONG *plCopied,
    /* [out] */ __RPC__out LPVOID pBuf);


void __RPC_STUB IActiveIMMApp_GetCompositionStringW_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetCompositionWindow_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC,
    /* [out] */ __RPC__out COMPOSITIONFORM *pCompForm);


void __RPC_STUB IActiveIMMApp_GetCompositionWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetContext_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HWND hWnd,
    /* [out] */ __RPC__out HIMC *phIMC);


void __RPC_STUB IActiveIMMApp_GetContext_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetConversionListA_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HKL hKL,
    /* [in] */ HIMC hIMC,
    /* [in] */ __RPC__in LPSTR pSrc,
    /* [in] */ UINT uBufLen,
    /* [in] */ UINT uFlag,
    /* [out] */ __RPC__out CANDIDATELIST *pDst,
    /* [out] */ __RPC__out UINT *puCopied);


void __RPC_STUB IActiveIMMApp_GetConversionListA_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetConversionListW_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HKL hKL,
    /* [in] */ HIMC hIMC,
    /* [in] */ __RPC__in LPWSTR pSrc,
    /* [in] */ UINT uBufLen,
    /* [in] */ UINT uFlag,
    /* [out] */ __RPC__out CANDIDATELIST *pDst,
    /* [out] */ __RPC__out UINT *puCopied);


void __RPC_STUB IActiveIMMApp_GetConversionListW_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetConversionStatus_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC,
    /* [out] */ __RPC__out DWORD *pfdwConversion,
    /* [out] */ __RPC__out DWORD *pfdwSentence);


void __RPC_STUB IActiveIMMApp_GetConversionStatus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetDefaultIMEWnd_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HWND hWnd,
    /* [out] */ __RPC__deref_out_opt HWND *phDefWnd);


void __RPC_STUB IActiveIMMApp_GetDefaultIMEWnd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetDescriptionA_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HKL hKL,
    /* [in] */ UINT uBufLen,
    /* [out] */ __RPC__out LPSTR szDescription,
    /* [out] */ __RPC__out UINT *puCopied);


void __RPC_STUB IActiveIMMApp_GetDescriptionA_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetDescriptionW_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HKL hKL,
    /* [in] */ UINT uBufLen,
    /* [out] */ __RPC__out LPWSTR szDescription,
    /* [out] */ __RPC__out UINT *puCopied);


void __RPC_STUB IActiveIMMApp_GetDescriptionW_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetGuideLineA_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC,
    /* [in] */ DWORD dwIndex,
    /* [in] */ DWORD dwBufLen,
    /* [out] */ __RPC__out LPSTR pBuf,
    /* [out] */ __RPC__out DWORD *pdwResult);


void __RPC_STUB IActiveIMMApp_GetGuideLineA_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetGuideLineW_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC,
    /* [in] */ DWORD dwIndex,
    /* [in] */ DWORD dwBufLen,
    /* [out] */ __RPC__out LPWSTR pBuf,
    /* [out] */ __RPC__out DWORD *pdwResult);


void __RPC_STUB IActiveIMMApp_GetGuideLineW_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetIMEFileNameA_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HKL hKL,
    /* [in] */ UINT uBufLen,
    /* [out] */ __RPC__out LPSTR szFileName,
    /* [out] */ __RPC__out UINT *puCopied);


void __RPC_STUB IActiveIMMApp_GetIMEFileNameA_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetIMEFileNameW_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HKL hKL,
    /* [in] */ UINT uBufLen,
    /* [out] */ __RPC__out LPWSTR szFileName,
    /* [out] */ __RPC__out UINT *puCopied);


void __RPC_STUB IActiveIMMApp_GetIMEFileNameW_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetOpenStatus_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC);


void __RPC_STUB IActiveIMMApp_GetOpenStatus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetProperty_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HKL hKL,
    /* [in] */ DWORD fdwIndex,
    /* [out] */ __RPC__out DWORD *pdwProperty);


void __RPC_STUB IActiveIMMApp_GetProperty_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetRegisterWordStyleA_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HKL hKL,
    /* [in] */ UINT nItem,
    /* [out] */ __RPC__out STYLEBUFA *pStyleBuf,
    /* [out] */ __RPC__out UINT *puCopied);


void __RPC_STUB IActiveIMMApp_GetRegisterWordStyleA_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetRegisterWordStyleW_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HKL hKL,
    /* [in] */ UINT nItem,
    /* [out] */ __RPC__out STYLEBUFW *pStyleBuf,
    /* [out] */ __RPC__out UINT *puCopied);


void __RPC_STUB IActiveIMMApp_GetRegisterWordStyleW_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetStatusWindowPos_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC,
    /* [out] */ __RPC__out POINT *pptPos);


void __RPC_STUB IActiveIMMApp_GetStatusWindowPos_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetVirtualKey_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HWND hWnd,
    /* [out] */ __RPC__out UINT *puVirtualKey);


void __RPC_STUB IActiveIMMApp_GetVirtualKey_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_InstallIMEA_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in LPSTR szIMEFileName,
    /* [in] */ __RPC__in LPSTR szLayoutText,
    /* [out] */ __RPC__deref_out_opt HKL *phKL);


void __RPC_STUB IActiveIMMApp_InstallIMEA_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_InstallIMEW_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in LPWSTR szIMEFileName,
    /* [in] */ __RPC__in LPWSTR szLayoutText,
    /* [out] */ __RPC__deref_out_opt HKL *phKL);


void __RPC_STUB IActiveIMMApp_InstallIMEW_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_IsIME_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HKL hKL);


void __RPC_STUB IActiveIMMApp_IsIME_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_IsUIMessageA_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HWND hWndIME,
    /* [in] */ UINT msg,
    /* [in] */ WPARAM wParam,
    /* [in] */ LPARAM lParam);


void __RPC_STUB IActiveIMMApp_IsUIMessageA_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_IsUIMessageW_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HWND hWndIME,
    /* [in] */ UINT msg,
    /* [in] */ WPARAM wParam,
    /* [in] */ LPARAM lParam);


void __RPC_STUB IActiveIMMApp_IsUIMessageW_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_NotifyIME_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC,
    /* [in] */ DWORD dwAction,
    /* [in] */ DWORD dwIndex,
    /* [in] */ DWORD dwValue);


void __RPC_STUB IActiveIMMApp_NotifyIME_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_RegisterWordA_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HKL hKL,
    /* [in] */ __RPC__in LPSTR szReading,
    /* [in] */ DWORD dwStyle,
    /* [in] */ __RPC__in LPSTR szRegister);


void __RPC_STUB IActiveIMMApp_RegisterWordA_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_RegisterWordW_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HKL hKL,
    /* [in] */ __RPC__in LPWSTR szReading,
    /* [in] */ DWORD dwStyle,
    /* [in] */ __RPC__in LPWSTR szRegister);


void __RPC_STUB IActiveIMMApp_RegisterWordW_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_ReleaseContext_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HWND hWnd,
    /* [in] */ HIMC hIMC);


void __RPC_STUB IActiveIMMApp_ReleaseContext_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_SetCandidateWindow_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC,
    /* [in] */ __RPC__in CANDIDATEFORM *pCandidate);


void __RPC_STUB IActiveIMMApp_SetCandidateWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_SetCompositionFontA_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC,
    /* [in] */ __RPC__in LOGFONTA *plf);


void __RPC_STUB IActiveIMMApp_SetCompositionFontA_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_SetCompositionFontW_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC,
    /* [in] */ __RPC__in LOGFONTW *plf);


void __RPC_STUB IActiveIMMApp_SetCompositionFontW_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_SetCompositionStringA_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC,
    /* [in] */ DWORD dwIndex,
    /* [in] */ __RPC__in LPVOID pComp,
    /* [in] */ DWORD dwCompLen,
    /* [in] */ __RPC__in LPVOID pRead,
    /* [in] */ DWORD dwReadLen);


void __RPC_STUB IActiveIMMApp_SetCompositionStringA_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_SetCompositionStringW_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC,
    /* [in] */ DWORD dwIndex,
    /* [in] */ __RPC__in LPVOID pComp,
    /* [in] */ DWORD dwCompLen,
    /* [in] */ __RPC__in LPVOID pRead,
    /* [in] */ DWORD dwReadLen);


void __RPC_STUB IActiveIMMApp_SetCompositionStringW_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_SetCompositionWindow_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC,
    /* [in] */ __RPC__in COMPOSITIONFORM *pCompForm);


void __RPC_STUB IActiveIMMApp_SetCompositionWindow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_SetConversionStatus_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC,
    /* [in] */ DWORD fdwConversion,
    /* [in] */ DWORD fdwSentence);


void __RPC_STUB IActiveIMMApp_SetConversionStatus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_SetOpenStatus_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC,
    /* [in] */ BOOL fOpen);


void __RPC_STUB IActiveIMMApp_SetOpenStatus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_SetStatusWindowPos_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC,
    /* [in] */ __RPC__in POINT *pptPos);


void __RPC_STUB IActiveIMMApp_SetStatusWindowPos_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_SimulateHotKey_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HWND hWnd,
    /* [in] */ DWORD dwHotKeyID);


void __RPC_STUB IActiveIMMApp_SimulateHotKey_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_UnregisterWordA_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HKL hKL,
    /* [in] */ __RPC__in LPSTR szReading,
    /* [in] */ DWORD dwStyle,
    /* [in] */ __RPC__in LPSTR szUnregister);


void __RPC_STUB IActiveIMMApp_UnregisterWordA_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_UnregisterWordW_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HKL hKL,
    /* [in] */ __RPC__in LPWSTR szReading,
    /* [in] */ DWORD dwStyle,
    /* [in] */ __RPC__in LPWSTR szUnregister);


void __RPC_STUB IActiveIMMApp_UnregisterWordW_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_Activate_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ BOOL fRestoreLayout);


void __RPC_STUB IActiveIMMApp_Activate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_Deactivate_Proxy( 
    __RPC__in IActiveIMMApp * This);


void __RPC_STUB IActiveIMMApp_Deactivate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_OnDefWindowProc_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HWND hWnd,
    /* [in] */ UINT Msg,
    /* [in] */ WPARAM wParam,
    /* [in] */ LPARAM lParam,
    /* [out] */ __RPC__out LRESULT *plResult);


void __RPC_STUB IActiveIMMApp_OnDefWindowProc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_FilterClientWindows_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in ATOM *aaClassList,
    /* [in] */ UINT uSize);


void __RPC_STUB IActiveIMMApp_FilterClientWindows_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetCodePageA_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HKL hKL,
    /* [out] */ __RPC__out UINT *uCodePage);


void __RPC_STUB IActiveIMMApp_GetCodePageA_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetLangId_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HKL hKL,
    /* [out] */ __RPC__out LANGID *plid);


void __RPC_STUB IActiveIMMApp_GetLangId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_AssociateContextEx_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ __RPC__in HWND hWnd,
    /* [in] */ HIMC hIMC,
    /* [in] */ DWORD dwFlags);


void __RPC_STUB IActiveIMMApp_AssociateContextEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_DisableIME_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ DWORD idThread);


void __RPC_STUB IActiveIMMApp_DisableIME_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetImeMenuItemsA_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC,
    /* [in] */ DWORD dwFlags,
    /* [in] */ DWORD dwType,
    /* [in] */ __RPC__in IMEMENUITEMINFOA *pImeParentMenu,
    /* [out] */ __RPC__out IMEMENUITEMINFOA *pImeMenu,
    /* [in] */ DWORD dwSize,
    /* [out] */ __RPC__out DWORD *pdwResult);


void __RPC_STUB IActiveIMMApp_GetImeMenuItemsA_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_GetImeMenuItemsW_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ HIMC hIMC,
    /* [in] */ DWORD dwFlags,
    /* [in] */ DWORD dwType,
    /* [in] */ __RPC__in IMEMENUITEMINFOW *pImeParentMenu,
    /* [out] */ __RPC__out IMEMENUITEMINFOW *pImeMenu,
    /* [in] */ DWORD dwSize,
    /* [out] */ __RPC__out DWORD *pdwResult);


void __RPC_STUB IActiveIMMApp_GetImeMenuItemsW_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IActiveIMMApp_EnumInputContext_Proxy( 
    __RPC__in IActiveIMMApp * This,
    /* [in] */ DWORD idThread,
    /* [out] */ __RPC__deref_out_opt IEnumInputContext **ppEnum);


void __RPC_STUB IActiveIMMApp_EnumInputContext_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IActiveIMMApp_INTERFACE_DEFINED__ */


#ifndef __ISegmentList_INTERFACE_DEFINED__
#define __ISegmentList_INTERFACE_DEFINED__

/* interface ISegmentList */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_ISegmentList;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f605-98b5-11cf-bb82-00aa00bdce0b")
    ISegmentList : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE CreateIterator( 
            /* [out] */ __RPC__deref_out_opt ISegmentListIterator **ppIIter) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetType( 
            /* [out] */ __RPC__out SELECTION_TYPE *peType) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsEmpty( 
            /* [out] */ __RPC__out BOOL *pfEmpty) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISegmentListVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISegmentList * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISegmentList * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISegmentList * This);
        
        HRESULT ( STDMETHODCALLTYPE *CreateIterator )( 
            __RPC__in ISegmentList * This,
            /* [out] */ __RPC__deref_out_opt ISegmentListIterator **ppIIter);
        
        HRESULT ( STDMETHODCALLTYPE *GetType )( 
            __RPC__in ISegmentList * This,
            /* [out] */ __RPC__out SELECTION_TYPE *peType);
        
        HRESULT ( STDMETHODCALLTYPE *IsEmpty )( 
            __RPC__in ISegmentList * This,
            /* [out] */ __RPC__out BOOL *pfEmpty);
        
        END_INTERFACE
    } ISegmentListVtbl;

    interface ISegmentList
    {
        CONST_VTBL struct ISegmentListVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISegmentList_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISegmentList_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISegmentList_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISegmentList_CreateIterator(This,ppIIter)	\
    ( (This)->lpVtbl -> CreateIterator(This,ppIIter) ) 

#define ISegmentList_GetType(This,peType)	\
    ( (This)->lpVtbl -> GetType(This,peType) ) 

#define ISegmentList_IsEmpty(This,pfEmpty)	\
    ( (This)->lpVtbl -> IsEmpty(This,pfEmpty) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISegmentList_INTERFACE_DEFINED__ */


#ifndef __ISegmentListIterator_INTERFACE_DEFINED__
#define __ISegmentListIterator_INTERFACE_DEFINED__

/* interface ISegmentListIterator */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_ISegmentListIterator;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f692-98b5-11cf-bb82-00aa00bdce0b")
    ISegmentListIterator : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Current( 
            /* [out] */ __RPC__deref_out_opt ISegment **ppISegment) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE First( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsDone( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Advance( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISegmentListIteratorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISegmentListIterator * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISegmentListIterator * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISegmentListIterator * This);
        
        HRESULT ( STDMETHODCALLTYPE *Current )( 
            __RPC__in ISegmentListIterator * This,
            /* [out] */ __RPC__deref_out_opt ISegment **ppISegment);
        
        HRESULT ( STDMETHODCALLTYPE *First )( 
            __RPC__in ISegmentListIterator * This);
        
        HRESULT ( STDMETHODCALLTYPE *IsDone )( 
            __RPC__in ISegmentListIterator * This);
        
        HRESULT ( STDMETHODCALLTYPE *Advance )( 
            __RPC__in ISegmentListIterator * This);
        
        END_INTERFACE
    } ISegmentListIteratorVtbl;

    interface ISegmentListIterator
    {
        CONST_VTBL struct ISegmentListIteratorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISegmentListIterator_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISegmentListIterator_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISegmentListIterator_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISegmentListIterator_Current(This,ppISegment)	\
    ( (This)->lpVtbl -> Current(This,ppISegment) ) 

#define ISegmentListIterator_First(This)	\
    ( (This)->lpVtbl -> First(This) ) 

#define ISegmentListIterator_IsDone(This)	\
    ( (This)->lpVtbl -> IsDone(This) ) 

#define ISegmentListIterator_Advance(This)	\
    ( (This)->lpVtbl -> Advance(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISegmentListIterator_INTERFACE_DEFINED__ */


#ifndef __IHTMLCaret_INTERFACE_DEFINED__
#define __IHTMLCaret_INTERFACE_DEFINED__

/* interface IHTMLCaret */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IHTMLCaret;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f604-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLCaret : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE MoveCaretToPointer( 
            /* [in] */ __RPC__in_opt IDisplayPointer *pDispPointer,
            /* [in] */ BOOL fScrollIntoView,
            /* [in] */ CARET_DIRECTION eDir) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveCaretToPointerEx( 
            /* [in] */ __RPC__in_opt IDisplayPointer *pDispPointer,
            /* [in] */ BOOL fVisible,
            /* [in] */ BOOL fScrollIntoView,
            /* [in] */ CARET_DIRECTION eDir) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveMarkupPointerToCaret( 
            /* [in] */ __RPC__in_opt IMarkupPointer *pIMarkupPointer) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveDisplayPointerToCaret( 
            /* [in] */ __RPC__in_opt IDisplayPointer *pDispPointer) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsVisible( 
            /* [out] */ __RPC__out BOOL *pIsVisible) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Show( 
            /* [in] */ BOOL fScrollIntoView) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Hide( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InsertText( 
            /* [in] */ __RPC__in OLECHAR *pText,
            /* [in] */ LONG lLen) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ScrollIntoView( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetLocation( 
            /* [out] */ __RPC__out POINT *pPoint,
            /* [in] */ BOOL fTranslate) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCaretDirection( 
            /* [out] */ __RPC__out CARET_DIRECTION *peDir) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetCaretDirection( 
            /* [in] */ CARET_DIRECTION eDir) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLCaretVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLCaret * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLCaret * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLCaret * This);
        
        HRESULT ( STDMETHODCALLTYPE *MoveCaretToPointer )( 
            __RPC__in IHTMLCaret * This,
            /* [in] */ __RPC__in_opt IDisplayPointer *pDispPointer,
            /* [in] */ BOOL fScrollIntoView,
            /* [in] */ CARET_DIRECTION eDir);
        
        HRESULT ( STDMETHODCALLTYPE *MoveCaretToPointerEx )( 
            __RPC__in IHTMLCaret * This,
            /* [in] */ __RPC__in_opt IDisplayPointer *pDispPointer,
            /* [in] */ BOOL fVisible,
            /* [in] */ BOOL fScrollIntoView,
            /* [in] */ CARET_DIRECTION eDir);
        
        HRESULT ( STDMETHODCALLTYPE *MoveMarkupPointerToCaret )( 
            __RPC__in IHTMLCaret * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIMarkupPointer);
        
        HRESULT ( STDMETHODCALLTYPE *MoveDisplayPointerToCaret )( 
            __RPC__in IHTMLCaret * This,
            /* [in] */ __RPC__in_opt IDisplayPointer *pDispPointer);
        
        HRESULT ( STDMETHODCALLTYPE *IsVisible )( 
            __RPC__in IHTMLCaret * This,
            /* [out] */ __RPC__out BOOL *pIsVisible);
        
        HRESULT ( STDMETHODCALLTYPE *Show )( 
            __RPC__in IHTMLCaret * This,
            /* [in] */ BOOL fScrollIntoView);
        
        HRESULT ( STDMETHODCALLTYPE *Hide )( 
            __RPC__in IHTMLCaret * This);
        
        HRESULT ( STDMETHODCALLTYPE *InsertText )( 
            __RPC__in IHTMLCaret * This,
            /* [in] */ __RPC__in OLECHAR *pText,
            /* [in] */ LONG lLen);
        
        HRESULT ( STDMETHODCALLTYPE *ScrollIntoView )( 
            __RPC__in IHTMLCaret * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetLocation )( 
            __RPC__in IHTMLCaret * This,
            /* [out] */ __RPC__out POINT *pPoint,
            /* [in] */ BOOL fTranslate);
        
        HRESULT ( STDMETHODCALLTYPE *GetCaretDirection )( 
            __RPC__in IHTMLCaret * This,
            /* [out] */ __RPC__out CARET_DIRECTION *peDir);
        
        HRESULT ( STDMETHODCALLTYPE *SetCaretDirection )( 
            __RPC__in IHTMLCaret * This,
            /* [in] */ CARET_DIRECTION eDir);
        
        END_INTERFACE
    } IHTMLCaretVtbl;

    interface IHTMLCaret
    {
        CONST_VTBL struct IHTMLCaretVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLCaret_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLCaret_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLCaret_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLCaret_MoveCaretToPointer(This,pDispPointer,fScrollIntoView,eDir)	\
    ( (This)->lpVtbl -> MoveCaretToPointer(This,pDispPointer,fScrollIntoView,eDir) ) 

#define IHTMLCaret_MoveCaretToPointerEx(This,pDispPointer,fVisible,fScrollIntoView,eDir)	\
    ( (This)->lpVtbl -> MoveCaretToPointerEx(This,pDispPointer,fVisible,fScrollIntoView,eDir) ) 

#define IHTMLCaret_MoveMarkupPointerToCaret(This,pIMarkupPointer)	\
    ( (This)->lpVtbl -> MoveMarkupPointerToCaret(This,pIMarkupPointer) ) 

#define IHTMLCaret_MoveDisplayPointerToCaret(This,pDispPointer)	\
    ( (This)->lpVtbl -> MoveDisplayPointerToCaret(This,pDispPointer) ) 

#define IHTMLCaret_IsVisible(This,pIsVisible)	\
    ( (This)->lpVtbl -> IsVisible(This,pIsVisible) ) 

#define IHTMLCaret_Show(This,fScrollIntoView)	\
    ( (This)->lpVtbl -> Show(This,fScrollIntoView) ) 

#define IHTMLCaret_Hide(This)	\
    ( (This)->lpVtbl -> Hide(This) ) 

#define IHTMLCaret_InsertText(This,pText,lLen)	\
    ( (This)->lpVtbl -> InsertText(This,pText,lLen) ) 

#define IHTMLCaret_ScrollIntoView(This)	\
    ( (This)->lpVtbl -> ScrollIntoView(This) ) 

#define IHTMLCaret_GetLocation(This,pPoint,fTranslate)	\
    ( (This)->lpVtbl -> GetLocation(This,pPoint,fTranslate) ) 

#define IHTMLCaret_GetCaretDirection(This,peDir)	\
    ( (This)->lpVtbl -> GetCaretDirection(This,peDir) ) 

#define IHTMLCaret_SetCaretDirection(This,eDir)	\
    ( (This)->lpVtbl -> SetCaretDirection(This,eDir) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLCaret_INTERFACE_DEFINED__ */


#ifndef __ISegment_INTERFACE_DEFINED__
#define __ISegment_INTERFACE_DEFINED__

/* interface ISegment */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_ISegment;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f683-98b5-11cf-bb82-00aa00bdce0b")
    ISegment : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetPointers( 
            /* [in] */ __RPC__in_opt IMarkupPointer *pIStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIEnd) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISegmentVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISegment * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISegment * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISegment * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetPointers )( 
            __RPC__in ISegment * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIEnd);
        
        END_INTERFACE
    } ISegmentVtbl;

    interface ISegment
    {
        CONST_VTBL struct ISegmentVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#define ISegment_GetPointers(This,pIStart,pIEnd)	\
    ( (This)->lpVtbl -> GetPointers(This,pIStart,pIEnd) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISegment_INTERFACE_DEFINED__ */


#ifndef __IElementSegment_INTERFACE_DEFINED__
#define __IElementSegment_INTERFACE_DEFINED__

/* interface IElementSegment */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IElementSegment;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f68f-98b5-11cf-bb82-00aa00bdce0b")
    IElementSegment : public ISegment
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetElement( 
            /* [out] */ __RPC__deref_out_opt IHTMLElement **ppIElement) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetPrimary( 
            /* [in] */ BOOL fPrimary) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsPrimary( 
            /* [out] */ __RPC__out BOOL *pfPrimary) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IElementSegmentVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IElementSegment * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IElementSegment * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IElementSegment * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetPointers )( 
            __RPC__in IElementSegment * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIEnd);
        
        HRESULT ( STDMETHODCALLTYPE *GetElement )( 
            __RPC__in IElementSegment * This,
            /* [out] */ __RPC__deref_out_opt IHTMLElement **ppIElement);
        
        HRESULT ( STDMETHODCALLTYPE *SetPrimary )( 
            __RPC__in IElementSegment * This,
            /* [in] */ BOOL fPrimary);
        
        HRESULT ( STDMETHODCALLTYPE *IsPrimary )( 
            __RPC__in IElementSegment * This,
            /* [out] */ __RPC__out BOOL *pfPrimary);
        
        END_INTERFACE
    } IElementSegmentVtbl;

    interface IElementSegment
    {
        CONST_VTBL struct IElementSegmentVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#define IElementSegment_GetPointers(This,pIStart,pIEnd)	\
    ( (This)->lpVtbl -> GetPointers(This,pIStart,pIEnd) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IElementSegment_INTERFACE_DEFINED__ */


#ifndef __IHighlightSegment_INTERFACE_DEFINED__
#define __IHighlightSegment_INTERFACE_DEFINED__

/* interface IHighlightSegment */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IHighlightSegment;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f690-98b5-11cf-bb82-00aa00bdce0b")
    IHighlightSegment : public ISegment
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct IHighlightSegmentVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHighlightSegment * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHighlightSegment * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHighlightSegment * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetPointers )( 
            __RPC__in IHighlightSegment * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIEnd);
        
        END_INTERFACE
    } IHighlightSegmentVtbl;

    interface IHighlightSegment
    {
        CONST_VTBL struct IHighlightSegmentVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHighlightSegment_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHighlightSegment_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHighlightSegment_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHighlightSegment_GetPointers(This,pIStart,pIEnd)	\
    ( (This)->lpVtbl -> GetPointers(This,pIStart,pIEnd) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHighlightSegment_INTERFACE_DEFINED__ */


#ifndef __IHighlightRenderingServices_INTERFACE_DEFINED__
#define __IHighlightRenderingServices_INTERFACE_DEFINED__

/* interface IHighlightRenderingServices */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IHighlightRenderingServices;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f606-98b5-11cf-bb82-00aa00bdce0b")
    IHighlightRenderingServices : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE AddSegment( 
            /* [in] */ __RPC__in_opt IDisplayPointer *pDispPointerStart,
            /* [in] */ __RPC__in_opt IDisplayPointer *pDispPointerEnd,
            /* [in] */ __RPC__in_opt IHTMLRenderStyle *pIRenderStyle,
            /* [out] */ __RPC__deref_out_opt IHighlightSegment **ppISegment) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveSegmentToPointers( 
            /* [in] */ __RPC__in_opt IHighlightSegment *pISegment,
            /* [in] */ __RPC__in_opt IDisplayPointer *pDispPointerStart,
            /* [in] */ __RPC__in_opt IDisplayPointer *pDispPointerEnd) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveSegment( 
            /* [in] */ __RPC__in_opt IHighlightSegment *pISegment) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHighlightRenderingServicesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHighlightRenderingServices * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHighlightRenderingServices * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHighlightRenderingServices * This);
        
        HRESULT ( STDMETHODCALLTYPE *AddSegment )( 
            __RPC__in IHighlightRenderingServices * This,
            /* [in] */ __RPC__in_opt IDisplayPointer *pDispPointerStart,
            /* [in] */ __RPC__in_opt IDisplayPointer *pDispPointerEnd,
            /* [in] */ __RPC__in_opt IHTMLRenderStyle *pIRenderStyle,
            /* [out] */ __RPC__deref_out_opt IHighlightSegment **ppISegment);
        
        HRESULT ( STDMETHODCALLTYPE *MoveSegmentToPointers )( 
            __RPC__in IHighlightRenderingServices * This,
            /* [in] */ __RPC__in_opt IHighlightSegment *pISegment,
            /* [in] */ __RPC__in_opt IDisplayPointer *pDispPointerStart,
            /* [in] */ __RPC__in_opt IDisplayPointer *pDispPointerEnd);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveSegment )( 
            __RPC__in IHighlightRenderingServices * This,
            /* [in] */ __RPC__in_opt IHighlightSegment *pISegment);
        
        END_INTERFACE
    } IHighlightRenderingServicesVtbl;

    interface IHighlightRenderingServices
    {
        CONST_VTBL struct IHighlightRenderingServicesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHighlightRenderingServices_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHighlightRenderingServices_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHighlightRenderingServices_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHighlightRenderingServices_AddSegment(This,pDispPointerStart,pDispPointerEnd,pIRenderStyle,ppISegment)	\
    ( (This)->lpVtbl -> AddSegment(This,pDispPointerStart,pDispPointerEnd,pIRenderStyle,ppISegment) ) 

#define IHighlightRenderingServices_MoveSegmentToPointers(This,pISegment,pDispPointerStart,pDispPointerEnd)	\
    ( (This)->lpVtbl -> MoveSegmentToPointers(This,pISegment,pDispPointerStart,pDispPointerEnd) ) 

#define IHighlightRenderingServices_RemoveSegment(This,pISegment)	\
    ( (This)->lpVtbl -> RemoveSegment(This,pISegment) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHighlightRenderingServices_INTERFACE_DEFINED__ */


#ifndef __ILineInfo_INTERFACE_DEFINED__
#define __ILineInfo_INTERFACE_DEFINED__

/* interface ILineInfo */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_ILineInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f7e2-98b5-11cf-bb82-00aa00bdce0b")
    ILineInfo : public IUnknown
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_x( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_baseLine( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_textDescent( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_textHeight( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_lineDirection( 
            /* [out][retval] */ __RPC__out LONG *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ILineInfoVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ILineInfo * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ILineInfo * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ILineInfo * This);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_x )( 
            __RPC__in ILineInfo * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseLine )( 
            __RPC__in ILineInfo * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textDescent )( 
            __RPC__in ILineInfo * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textHeight )( 
            __RPC__in ILineInfo * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lineDirection )( 
            __RPC__in ILineInfo * This,
            /* [out][retval] */ __RPC__out LONG *p);
        
        END_INTERFACE
    } ILineInfoVtbl;

    interface ILineInfo
    {
        CONST_VTBL struct ILineInfoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ILineInfo_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ILineInfo_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ILineInfo_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ILineInfo_get_x(This,p)	\
    ( (This)->lpVtbl -> get_x(This,p) ) 

#define ILineInfo_get_baseLine(This,p)	\
    ( (This)->lpVtbl -> get_baseLine(This,p) ) 

#define ILineInfo_get_textDescent(This,p)	\
    ( (This)->lpVtbl -> get_textDescent(This,p) ) 

#define ILineInfo_get_textHeight(This,p)	\
    ( (This)->lpVtbl -> get_textHeight(This,p) ) 

#define ILineInfo_get_lineDirection(This,p)	\
    ( (This)->lpVtbl -> get_lineDirection(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ILineInfo_INTERFACE_DEFINED__ */


#ifndef __IDisplayPointer_INTERFACE_DEFINED__
#define __IDisplayPointer_INTERFACE_DEFINED__

/* interface IDisplayPointer */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IDisplayPointer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f69e-98b5-11cf-bb82-00aa00bdce0b")
    IDisplayPointer : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE MoveToPoint( 
            /* [in] */ POINT ptPoint,
            /* [in] */ COORD_SYSTEM eCoordSystem,
            /* [in] */ __RPC__in_opt IHTMLElement *pElementContext,
            /* [in] */ DWORD dwHitTestOptions,
            /* [out] */ __RPC__out DWORD *pdwHitTestResults) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveUnit( 
            /* [in] */ DISPLAY_MOVEUNIT eMoveUnit,
            /* [in] */ LONG lXPos) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PositionMarkupPointer( 
            /* [in] */ __RPC__in_opt IMarkupPointer *pMarkupPointer) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveToPointer( 
            /* [in] */ __RPC__in_opt IDisplayPointer *pDispPointer) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetPointerGravity( 
            /* [in] */ POINTER_GRAVITY eGravity) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetPointerGravity( 
            /* [out] */ __RPC__out POINTER_GRAVITY *peGravity) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetDisplayGravity( 
            /* [in] */ DISPLAY_GRAVITY eGravity) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetDisplayGravity( 
            /* [out] */ __RPC__out DISPLAY_GRAVITY *peGravity) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsPositioned( 
            /* [out] */ __RPC__out BOOL *pfPositioned) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Unposition( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsEqualTo( 
            /* [in] */ __RPC__in_opt IDisplayPointer *pDispPointer,
            /* [out] */ __RPC__out BOOL *pfIsEqual) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsLeftOf( 
            /* [in] */ __RPC__in_opt IDisplayPointer *pDispPointer,
            /* [out] */ __RPC__out BOOL *pfIsLeftOf) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsRightOf( 
            /* [in] */ __RPC__in_opt IDisplayPointer *pDispPointer,
            /* [out] */ __RPC__out BOOL *pfIsRightOf) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsAtBOL( 
            /* [out] */ __RPC__out BOOL *pfBOL) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveToMarkupPointer( 
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointer,
            /* [in] */ __RPC__in_opt IDisplayPointer *pDispLineContext) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ScrollIntoView( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetLineInfo( 
            /* [out] */ __RPC__deref_out_opt ILineInfo **ppLineInfo) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetFlowElement( 
            /* [out] */ __RPC__deref_out_opt IHTMLElement **ppLayoutElement) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE QueryBreaks( 
            /* [out] */ __RPC__out DWORD *pdwBreaks) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDisplayPointerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDisplayPointer * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDisplayPointer * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDisplayPointer * This);
        
        HRESULT ( STDMETHODCALLTYPE *MoveToPoint )( 
            __RPC__in IDisplayPointer * This,
            /* [in] */ POINT ptPoint,
            /* [in] */ COORD_SYSTEM eCoordSystem,
            /* [in] */ __RPC__in_opt IHTMLElement *pElementContext,
            /* [in] */ DWORD dwHitTestOptions,
            /* [out] */ __RPC__out DWORD *pdwHitTestResults);
        
        HRESULT ( STDMETHODCALLTYPE *MoveUnit )( 
            __RPC__in IDisplayPointer * This,
            /* [in] */ DISPLAY_MOVEUNIT eMoveUnit,
            /* [in] */ LONG lXPos);
        
        HRESULT ( STDMETHODCALLTYPE *PositionMarkupPointer )( 
            __RPC__in IDisplayPointer * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pMarkupPointer);
        
        HRESULT ( STDMETHODCALLTYPE *MoveToPointer )( 
            __RPC__in IDisplayPointer * This,
            /* [in] */ __RPC__in_opt IDisplayPointer *pDispPointer);
        
        HRESULT ( STDMETHODCALLTYPE *SetPointerGravity )( 
            __RPC__in IDisplayPointer * This,
            /* [in] */ POINTER_GRAVITY eGravity);
        
        HRESULT ( STDMETHODCALLTYPE *GetPointerGravity )( 
            __RPC__in IDisplayPointer * This,
            /* [out] */ __RPC__out POINTER_GRAVITY *peGravity);
        
        HRESULT ( STDMETHODCALLTYPE *SetDisplayGravity )( 
            __RPC__in IDisplayPointer * This,
            /* [in] */ DISPLAY_GRAVITY eGravity);
        
        HRESULT ( STDMETHODCALLTYPE *GetDisplayGravity )( 
            __RPC__in IDisplayPointer * This,
            /* [out] */ __RPC__out DISPLAY_GRAVITY *peGravity);
        
        HRESULT ( STDMETHODCALLTYPE *IsPositioned )( 
            __RPC__in IDisplayPointer * This,
            /* [out] */ __RPC__out BOOL *pfPositioned);
        
        HRESULT ( STDMETHODCALLTYPE *Unposition )( 
            __RPC__in IDisplayPointer * This);
        
        HRESULT ( STDMETHODCALLTYPE *IsEqualTo )( 
            __RPC__in IDisplayPointer * This,
            /* [in] */ __RPC__in_opt IDisplayPointer *pDispPointer,
            /* [out] */ __RPC__out BOOL *pfIsEqual);
        
        HRESULT ( STDMETHODCALLTYPE *IsLeftOf )( 
            __RPC__in IDisplayPointer * This,
            /* [in] */ __RPC__in_opt IDisplayPointer *pDispPointer,
            /* [out] */ __RPC__out BOOL *pfIsLeftOf);
        
        HRESULT ( STDMETHODCALLTYPE *IsRightOf )( 
            __RPC__in IDisplayPointer * This,
            /* [in] */ __RPC__in_opt IDisplayPointer *pDispPointer,
            /* [out] */ __RPC__out BOOL *pfIsRightOf);
        
        HRESULT ( STDMETHODCALLTYPE *IsAtBOL )( 
            __RPC__in IDisplayPointer * This,
            /* [out] */ __RPC__out BOOL *pfBOL);
        
        HRESULT ( STDMETHODCALLTYPE *MoveToMarkupPointer )( 
            __RPC__in IDisplayPointer * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointer,
            /* [in] */ __RPC__in_opt IDisplayPointer *pDispLineContext);
        
        HRESULT ( STDMETHODCALLTYPE *ScrollIntoView )( 
            __RPC__in IDisplayPointer * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetLineInfo )( 
            __RPC__in IDisplayPointer * This,
            /* [out] */ __RPC__deref_out_opt ILineInfo **ppLineInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetFlowElement )( 
            __RPC__in IDisplayPointer * This,
            /* [out] */ __RPC__deref_out_opt IHTMLElement **ppLayoutElement);
        
        HRESULT ( STDMETHODCALLTYPE *QueryBreaks )( 
            __RPC__in IDisplayPointer * This,
            /* [out] */ __RPC__out DWORD *pdwBreaks);
        
        END_INTERFACE
    } IDisplayPointerVtbl;

    interface IDisplayPointer
    {
        CONST_VTBL struct IDisplayPointerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDisplayPointer_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDisplayPointer_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDisplayPointer_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDisplayPointer_MoveToPoint(This,ptPoint,eCoordSystem,pElementContext,dwHitTestOptions,pdwHitTestResults)	\
    ( (This)->lpVtbl -> MoveToPoint(This,ptPoint,eCoordSystem,pElementContext,dwHitTestOptions,pdwHitTestResults) ) 

#define IDisplayPointer_MoveUnit(This,eMoveUnit,lXPos)	\
    ( (This)->lpVtbl -> MoveUnit(This,eMoveUnit,lXPos) ) 

#define IDisplayPointer_PositionMarkupPointer(This,pMarkupPointer)	\
    ( (This)->lpVtbl -> PositionMarkupPointer(This,pMarkupPointer) ) 

#define IDisplayPointer_MoveToPointer(This,pDispPointer)	\
    ( (This)->lpVtbl -> MoveToPointer(This,pDispPointer) ) 

#define IDisplayPointer_SetPointerGravity(This,eGravity)	\
    ( (This)->lpVtbl -> SetPointerGravity(This,eGravity) ) 

#define IDisplayPointer_GetPointerGravity(This,peGravity)	\
    ( (This)->lpVtbl -> GetPointerGravity(This,peGravity) ) 

#define IDisplayPointer_SetDisplayGravity(This,eGravity)	\
    ( (This)->lpVtbl -> SetDisplayGravity(This,eGravity) ) 

#define IDisplayPointer_GetDisplayGravity(This,peGravity)	\
    ( (This)->lpVtbl -> GetDisplayGravity(This,peGravity) ) 

#define IDisplayPointer_IsPositioned(This,pfPositioned)	\
    ( (This)->lpVtbl -> IsPositioned(This,pfPositioned) ) 

#define IDisplayPointer_Unposition(This)	\
    ( (This)->lpVtbl -> Unposition(This) ) 

#define IDisplayPointer_IsEqualTo(This,pDispPointer,pfIsEqual)	\
    ( (This)->lpVtbl -> IsEqualTo(This,pDispPointer,pfIsEqual) ) 

#define IDisplayPointer_IsLeftOf(This,pDispPointer,pfIsLeftOf)	\
    ( (This)->lpVtbl -> IsLeftOf(This,pDispPointer,pfIsLeftOf) ) 

#define IDisplayPointer_IsRightOf(This,pDispPointer,pfIsRightOf)	\
    ( (This)->lpVtbl -> IsRightOf(This,pDispPointer,pfIsRightOf) ) 

#define IDisplayPointer_IsAtBOL(This,pfBOL)	\
    ( (This)->lpVtbl -> IsAtBOL(This,pfBOL) ) 

#define IDisplayPointer_MoveToMarkupPointer(This,pPointer,pDispLineContext)	\
    ( (This)->lpVtbl -> MoveToMarkupPointer(This,pPointer,pDispLineContext) ) 

#define IDisplayPointer_ScrollIntoView(This)	\
    ( (This)->lpVtbl -> ScrollIntoView(This) ) 

#define IDisplayPointer_GetLineInfo(This,ppLineInfo)	\
    ( (This)->lpVtbl -> GetLineInfo(This,ppLineInfo) ) 

#define IDisplayPointer_GetFlowElement(This,ppLayoutElement)	\
    ( (This)->lpVtbl -> GetFlowElement(This,ppLayoutElement) ) 

#define IDisplayPointer_QueryBreaks(This,pdwBreaks)	\
    ( (This)->lpVtbl -> QueryBreaks(This,pdwBreaks) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDisplayPointer_INTERFACE_DEFINED__ */


#ifndef __IDisplayServices_INTERFACE_DEFINED__
#define __IDisplayServices_INTERFACE_DEFINED__

/* interface IDisplayServices */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IDisplayServices;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f69d-98b5-11cf-bb82-00aa00bdce0b")
    IDisplayServices : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE CreateDisplayPointer( 
            /* [out] */ __RPC__deref_out_opt IDisplayPointer **ppDispPointer) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE TransformRect( 
            /* [out][in] */ __RPC__inout RECT *pRect,
            /* [in] */ COORD_SYSTEM eSource,
            /* [in] */ COORD_SYSTEM eDestination,
            /* [in] */ __RPC__in_opt IHTMLElement *pIElement) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE TransformPoint( 
            /* [out][in] */ __RPC__inout POINT *pPoint,
            /* [in] */ COORD_SYSTEM eSource,
            /* [in] */ COORD_SYSTEM eDestination,
            /* [in] */ __RPC__in_opt IHTMLElement *pIElement) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCaret( 
            /* [out] */ __RPC__deref_out_opt IHTMLCaret **ppCaret) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetComputedStyle( 
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointer,
            /* [out] */ __RPC__deref_out_opt IHTMLComputedStyle **ppComputedStyle) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ScrollRectIntoView( 
            /* [in] */ __RPC__in_opt IHTMLElement *pIElement,
            /* [in] */ RECT rect) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE HasFlowLayout( 
            /* [in] */ __RPC__in_opt IHTMLElement *pIElement,
            /* [out] */ __RPC__out BOOL *pfHasFlowLayout) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDisplayServicesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDisplayServices * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDisplayServices * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDisplayServices * This);
        
        HRESULT ( STDMETHODCALLTYPE *CreateDisplayPointer )( 
            __RPC__in IDisplayServices * This,
            /* [out] */ __RPC__deref_out_opt IDisplayPointer **ppDispPointer);
        
        HRESULT ( STDMETHODCALLTYPE *TransformRect )( 
            __RPC__in IDisplayServices * This,
            /* [out][in] */ __RPC__inout RECT *pRect,
            /* [in] */ COORD_SYSTEM eSource,
            /* [in] */ COORD_SYSTEM eDestination,
            /* [in] */ __RPC__in_opt IHTMLElement *pIElement);
        
        HRESULT ( STDMETHODCALLTYPE *TransformPoint )( 
            __RPC__in IDisplayServices * This,
            /* [out][in] */ __RPC__inout POINT *pPoint,
            /* [in] */ COORD_SYSTEM eSource,
            /* [in] */ COORD_SYSTEM eDestination,
            /* [in] */ __RPC__in_opt IHTMLElement *pIElement);
        
        HRESULT ( STDMETHODCALLTYPE *GetCaret )( 
            __RPC__in IDisplayServices * This,
            /* [out] */ __RPC__deref_out_opt IHTMLCaret **ppCaret);
        
        HRESULT ( STDMETHODCALLTYPE *GetComputedStyle )( 
            __RPC__in IDisplayServices * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointer,
            /* [out] */ __RPC__deref_out_opt IHTMLComputedStyle **ppComputedStyle);
        
        HRESULT ( STDMETHODCALLTYPE *ScrollRectIntoView )( 
            __RPC__in IDisplayServices * This,
            /* [in] */ __RPC__in_opt IHTMLElement *pIElement,
            /* [in] */ RECT rect);
        
        HRESULT ( STDMETHODCALLTYPE *HasFlowLayout )( 
            __RPC__in IDisplayServices * This,
            /* [in] */ __RPC__in_opt IHTMLElement *pIElement,
            /* [out] */ __RPC__out BOOL *pfHasFlowLayout);
        
        END_INTERFACE
    } IDisplayServicesVtbl;

    interface IDisplayServices
    {
        CONST_VTBL struct IDisplayServicesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDisplayServices_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDisplayServices_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDisplayServices_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDisplayServices_CreateDisplayPointer(This,ppDispPointer)	\
    ( (This)->lpVtbl -> CreateDisplayPointer(This,ppDispPointer) ) 

#define IDisplayServices_TransformRect(This,pRect,eSource,eDestination,pIElement)	\
    ( (This)->lpVtbl -> TransformRect(This,pRect,eSource,eDestination,pIElement) ) 

#define IDisplayServices_TransformPoint(This,pPoint,eSource,eDestination,pIElement)	\
    ( (This)->lpVtbl -> TransformPoint(This,pPoint,eSource,eDestination,pIElement) ) 

#define IDisplayServices_GetCaret(This,ppCaret)	\
    ( (This)->lpVtbl -> GetCaret(This,ppCaret) ) 

#define IDisplayServices_GetComputedStyle(This,pPointer,ppComputedStyle)	\
    ( (This)->lpVtbl -> GetComputedStyle(This,pPointer,ppComputedStyle) ) 

#define IDisplayServices_ScrollRectIntoView(This,pIElement,rect)	\
    ( (This)->lpVtbl -> ScrollRectIntoView(This,pIElement,rect) ) 

#define IDisplayServices_HasFlowLayout(This,pIElement,pfHasFlowLayout)	\
    ( (This)->lpVtbl -> HasFlowLayout(This,pIElement,pfHasFlowLayout) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDisplayServices_INTERFACE_DEFINED__ */


#ifndef __IHtmlDlgSafeHelper_INTERFACE_DEFINED__
#define __IHtmlDlgSafeHelper_INTERFACE_DEFINED__

/* interface IHtmlDlgSafeHelper */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IHtmlDlgSafeHelper;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f81a-98b5-11cf-bb82-00aa00bdce0b")
    IHtmlDlgSafeHelper : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE choosecolordlg( 
            /* [in][optional] */ VARIANT initColor,
            /* [out][retval] */ __RPC__out VARIANT *rgbColor) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE getCharset( 
            /* [in] */ __RPC__in BSTR fontName,
            /* [out][retval] */ __RPC__out VARIANT *charset) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Fonts( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_BlockFormats( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHtmlDlgSafeHelperVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHtmlDlgSafeHelper * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHtmlDlgSafeHelper * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHtmlDlgSafeHelper * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHtmlDlgSafeHelper * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHtmlDlgSafeHelper * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHtmlDlgSafeHelper * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHtmlDlgSafeHelper * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *choosecolordlg )( 
            __RPC__in IHtmlDlgSafeHelper * This,
            /* [in][optional] */ VARIANT initColor,
            /* [out][retval] */ __RPC__out VARIANT *rgbColor);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *getCharset )( 
            __RPC__in IHtmlDlgSafeHelper * This,
            /* [in] */ __RPC__in BSTR fontName,
            /* [out][retval] */ __RPC__out VARIANT *charset);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Fonts )( 
            __RPC__in IHtmlDlgSafeHelper * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BlockFormats )( 
            __RPC__in IHtmlDlgSafeHelper * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        END_INTERFACE
    } IHtmlDlgSafeHelperVtbl;

    interface IHtmlDlgSafeHelper
    {
        CONST_VTBL struct IHtmlDlgSafeHelperVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHtmlDlgSafeHelper_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHtmlDlgSafeHelper_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHtmlDlgSafeHelper_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHtmlDlgSafeHelper_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHtmlDlgSafeHelper_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHtmlDlgSafeHelper_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHtmlDlgSafeHelper_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHtmlDlgSafeHelper_choosecolordlg(This,initColor,rgbColor)	\
    ( (This)->lpVtbl -> choosecolordlg(This,initColor,rgbColor) ) 

#define IHtmlDlgSafeHelper_getCharset(This,fontName,charset)	\
    ( (This)->lpVtbl -> getCharset(This,fontName,charset) ) 

#define IHtmlDlgSafeHelper_get_Fonts(This,p)	\
    ( (This)->lpVtbl -> get_Fonts(This,p) ) 

#define IHtmlDlgSafeHelper_get_BlockFormats(This,p)	\
    ( (This)->lpVtbl -> get_BlockFormats(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHtmlDlgSafeHelper_INTERFACE_DEFINED__ */


#ifndef __IBlockFormats_INTERFACE_DEFINED__
#define __IBlockFormats_INTERFACE_DEFINED__

/* interface IBlockFormats */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IBlockFormats;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f830-98b5-11cf-bb82-00aa00bdce0b")
    IBlockFormats : public IDispatch
    {
    public:
        virtual /* [restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ __RPC__in VARIANT *pvarIndex,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrBlockFormat) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IBlockFormatsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IBlockFormats * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IBlockFormats * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IBlockFormats * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IBlockFormats * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IBlockFormats * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IBlockFormats * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IBlockFormats * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            __RPC__in IBlockFormats * This,
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            __RPC__in IBlockFormats * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            __RPC__in IBlockFormats * This,
            /* [in] */ __RPC__in VARIANT *pvarIndex,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrBlockFormat);
        
        END_INTERFACE
    } IBlockFormatsVtbl;

    interface IBlockFormats
    {
        CONST_VTBL struct IBlockFormatsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IBlockFormats_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IBlockFormats_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IBlockFormats_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IBlockFormats_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IBlockFormats_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IBlockFormats_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IBlockFormats_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IBlockFormats_get__NewEnum(This,p)	\
    ( (This)->lpVtbl -> get__NewEnum(This,p) ) 

#define IBlockFormats_get_Count(This,p)	\
    ( (This)->lpVtbl -> get_Count(This,p) ) 

#define IBlockFormats_Item(This,pvarIndex,pbstrBlockFormat)	\
    ( (This)->lpVtbl -> Item(This,pvarIndex,pbstrBlockFormat) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IBlockFormats_INTERFACE_DEFINED__ */


#ifndef __IFontNames_INTERFACE_DEFINED__
#define __IFontNames_INTERFACE_DEFINED__

/* interface IFontNames */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IFontNames;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f839-98b5-11cf-bb82-00aa00bdce0b")
    IFontNames : public IDispatch
    {
    public:
        virtual /* [restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ __RPC__in VARIANT *pvarIndex,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrFontName) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IFontNamesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IFontNames * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IFontNames * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IFontNames * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IFontNames * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IFontNames * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IFontNames * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IFontNames * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            __RPC__in IFontNames * This,
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            __RPC__in IFontNames * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            __RPC__in IFontNames * This,
            /* [in] */ __RPC__in VARIANT *pvarIndex,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrFontName);
        
        END_INTERFACE
    } IFontNamesVtbl;

    interface IFontNames
    {
        CONST_VTBL struct IFontNamesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IFontNames_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IFontNames_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IFontNames_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IFontNames_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IFontNames_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IFontNames_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IFontNames_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IFontNames_get__NewEnum(This,p)	\
    ( (This)->lpVtbl -> get__NewEnum(This,p) ) 

#define IFontNames_get_Count(This,p)	\
    ( (This)->lpVtbl -> get_Count(This,p) ) 

#define IFontNames_Item(This,pvarIndex,pbstrFontName)	\
    ( (This)->lpVtbl -> Item(This,pvarIndex,pbstrFontName) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IFontNames_INTERFACE_DEFINED__ */


#ifndef __ICSSFilter_INTERFACE_DEFINED__
#define __ICSSFilter_INTERFACE_DEFINED__

/* interface ICSSFilter */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_ICSSFilter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f3ec-98b5-11cf-bb82-00aa00bdce0b")
    ICSSFilter : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetSite( 
            /* [in] */ __RPC__in_opt ICSSFilterSite *pSink) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnAmbientPropertyChange( 
            /* [in] */ LONG dispid) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICSSFilterVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ICSSFilter * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ICSSFilter * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ICSSFilter * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetSite )( 
            __RPC__in ICSSFilter * This,
            /* [in] */ __RPC__in_opt ICSSFilterSite *pSink);
        
        HRESULT ( STDMETHODCALLTYPE *OnAmbientPropertyChange )( 
            __RPC__in ICSSFilter * This,
            /* [in] */ LONG dispid);
        
        END_INTERFACE
    } ICSSFilterVtbl;

    interface ICSSFilter
    {
        CONST_VTBL struct ICSSFilterVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICSSFilter_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICSSFilter_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICSSFilter_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICSSFilter_SetSite(This,pSink)	\
    ( (This)->lpVtbl -> SetSite(This,pSink) ) 

#define ICSSFilter_OnAmbientPropertyChange(This,dispid)	\
    ( (This)->lpVtbl -> OnAmbientPropertyChange(This,dispid) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICSSFilter_INTERFACE_DEFINED__ */


#ifndef __ISecureUrlHost_INTERFACE_DEFINED__
#define __ISecureUrlHost_INTERFACE_DEFINED__

/* interface ISecureUrlHost */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_ISecureUrlHost;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c81984c4-74c8-11d2-baa9-00c04fc2040e")
    ISecureUrlHost : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE ValidateSecureUrl( 
            /* [out] */ __RPC__out BOOL *pfAllow,
            /* [in] */ __RPC__in OLECHAR *pchUrlInQuestion,
            /* [in] */ DWORD dwFlags) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISecureUrlHostVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISecureUrlHost * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISecureUrlHost * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISecureUrlHost * This);
        
        HRESULT ( STDMETHODCALLTYPE *ValidateSecureUrl )( 
            __RPC__in ISecureUrlHost * This,
            /* [out] */ __RPC__out BOOL *pfAllow,
            /* [in] */ __RPC__in OLECHAR *pchUrlInQuestion,
            /* [in] */ DWORD dwFlags);
        
        END_INTERFACE
    } ISecureUrlHostVtbl;

    interface ISecureUrlHost
    {
        CONST_VTBL struct ISecureUrlHostVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISecureUrlHost_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISecureUrlHost_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISecureUrlHost_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISecureUrlHost_ValidateSecureUrl(This,pfAllow,pchUrlInQuestion,dwFlags)	\
    ( (This)->lpVtbl -> ValidateSecureUrl(This,pfAllow,pchUrlInQuestion,dwFlags) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISecureUrlHost_INTERFACE_DEFINED__ */


#ifndef __IMarkupServices_INTERFACE_DEFINED__
#define __IMarkupServices_INTERFACE_DEFINED__

/* interface IMarkupServices */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IMarkupServices;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4a0-98b5-11cf-bb82-00aa00bdce0b")
    IMarkupServices : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE CreateMarkupPointer( 
            /* [out] */ __RPC__deref_out_opt IMarkupPointer **ppPointer) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateMarkupContainer( 
            /* [out] */ __RPC__deref_out_opt IMarkupContainer **ppMarkupContainer) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateElement( 
            /* [in] */ ELEMENT_TAG_ID tagID,
            /* [in] */ __RPC__in OLECHAR *pchAttributes,
            /* [out] */ __RPC__deref_out_opt IHTMLElement **ppElement) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CloneElement( 
            /* [in] */ __RPC__in_opt IHTMLElement *pElemCloneThis,
            /* [out] */ __RPC__deref_out_opt IHTMLElement **ppElementTheClone) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InsertElement( 
            /* [in] */ __RPC__in_opt IHTMLElement *pElementInsert,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerFinish) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveElement( 
            /* [in] */ __RPC__in_opt IHTMLElement *pElementRemove) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerFinish) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Copy( 
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerSourceStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerSourceFinish,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerTarget) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Move( 
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerSourceStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerSourceFinish,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerTarget) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InsertText( 
            /* [in] */ __RPC__in OLECHAR *pchText,
            /* [in] */ long cch,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerTarget) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ParseString( 
            /* [in] */ __RPC__in OLECHAR *pchHTML,
            /* [in] */ DWORD dwFlags,
            /* [out] */ __RPC__deref_out_opt IMarkupContainer **ppContainerResult,
            /* [in] */ __RPC__in_opt IMarkupPointer *ppPointerStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *ppPointerFinish) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ParseGlobal( 
            /* [in] */ __RPC__in HGLOBAL hglobalHTML,
            /* [in] */ DWORD dwFlags,
            /* [out] */ __RPC__deref_out_opt IMarkupContainer **ppContainerResult,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerFinish) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsScopedElement( 
            /* [in] */ __RPC__in_opt IHTMLElement *pElement,
            /* [out] */ __RPC__out BOOL *pfScoped) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetElementTagId( 
            /* [in] */ __RPC__in_opt IHTMLElement *pElement,
            /* [out] */ __RPC__out ELEMENT_TAG_ID *ptagId) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetTagIDForName( 
            /* [in] */ __RPC__in BSTR bstrName,
            /* [out] */ __RPC__out ELEMENT_TAG_ID *ptagId) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetNameForTagID( 
            /* [in] */ ELEMENT_TAG_ID tagId,
            /* [out] */ __RPC__deref_out_opt BSTR *pbstrName) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MovePointersToRange( 
            /* [in] */ __RPC__in_opt IHTMLTxtRange *pIRange,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerFinish) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveRangeToPointers( 
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerFinish,
            /* [in] */ __RPC__in_opt IHTMLTxtRange *pIRange) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE BeginUndoUnit( 
            /* [in] */ __RPC__in OLECHAR *pchTitle) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EndUndoUnit( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IMarkupServicesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IMarkupServices * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IMarkupServices * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IMarkupServices * This);
        
        HRESULT ( STDMETHODCALLTYPE *CreateMarkupPointer )( 
            __RPC__in IMarkupServices * This,
            /* [out] */ __RPC__deref_out_opt IMarkupPointer **ppPointer);
        
        HRESULT ( STDMETHODCALLTYPE *CreateMarkupContainer )( 
            __RPC__in IMarkupServices * This,
            /* [out] */ __RPC__deref_out_opt IMarkupContainer **ppMarkupContainer);
        
        HRESULT ( STDMETHODCALLTYPE *CreateElement )( 
            __RPC__in IMarkupServices * This,
            /* [in] */ ELEMENT_TAG_ID tagID,
            /* [in] */ __RPC__in OLECHAR *pchAttributes,
            /* [out] */ __RPC__deref_out_opt IHTMLElement **ppElement);
        
        HRESULT ( STDMETHODCALLTYPE *CloneElement )( 
            __RPC__in IMarkupServices * This,
            /* [in] */ __RPC__in_opt IHTMLElement *pElemCloneThis,
            /* [out] */ __RPC__deref_out_opt IHTMLElement **ppElementTheClone);
        
        HRESULT ( STDMETHODCALLTYPE *InsertElement )( 
            __RPC__in IMarkupServices * This,
            /* [in] */ __RPC__in_opt IHTMLElement *pElementInsert,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerFinish);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveElement )( 
            __RPC__in IMarkupServices * This,
            /* [in] */ __RPC__in_opt IHTMLElement *pElementRemove);
        
        HRESULT ( STDMETHODCALLTYPE *Remove )( 
            __RPC__in IMarkupServices * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerFinish);
        
        HRESULT ( STDMETHODCALLTYPE *Copy )( 
            __RPC__in IMarkupServices * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerSourceStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerSourceFinish,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerTarget);
        
        HRESULT ( STDMETHODCALLTYPE *Move )( 
            __RPC__in IMarkupServices * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerSourceStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerSourceFinish,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerTarget);
        
        HRESULT ( STDMETHODCALLTYPE *InsertText )( 
            __RPC__in IMarkupServices * This,
            /* [in] */ __RPC__in OLECHAR *pchText,
            /* [in] */ long cch,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerTarget);
        
        HRESULT ( STDMETHODCALLTYPE *ParseString )( 
            __RPC__in IMarkupServices * This,
            /* [in] */ __RPC__in OLECHAR *pchHTML,
            /* [in] */ DWORD dwFlags,
            /* [out] */ __RPC__deref_out_opt IMarkupContainer **ppContainerResult,
            /* [in] */ __RPC__in_opt IMarkupPointer *ppPointerStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *ppPointerFinish);
        
        HRESULT ( STDMETHODCALLTYPE *ParseGlobal )( 
            __RPC__in IMarkupServices * This,
            /* [in] */ __RPC__in HGLOBAL hglobalHTML,
            /* [in] */ DWORD dwFlags,
            /* [out] */ __RPC__deref_out_opt IMarkupContainer **ppContainerResult,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerFinish);
        
        HRESULT ( STDMETHODCALLTYPE *IsScopedElement )( 
            __RPC__in IMarkupServices * This,
            /* [in] */ __RPC__in_opt IHTMLElement *pElement,
            /* [out] */ __RPC__out BOOL *pfScoped);
        
        HRESULT ( STDMETHODCALLTYPE *GetElementTagId )( 
            __RPC__in IMarkupServices * This,
            /* [in] */ __RPC__in_opt IHTMLElement *pElement,
            /* [out] */ __RPC__out ELEMENT_TAG_ID *ptagId);
        
        HRESULT ( STDMETHODCALLTYPE *GetTagIDForName )( 
            __RPC__in IMarkupServices * This,
            /* [in] */ __RPC__in BSTR bstrName,
            /* [out] */ __RPC__out ELEMENT_TAG_ID *ptagId);
        
        HRESULT ( STDMETHODCALLTYPE *GetNameForTagID )( 
            __RPC__in IMarkupServices * This,
            /* [in] */ ELEMENT_TAG_ID tagId,
            /* [out] */ __RPC__deref_out_opt BSTR *pbstrName);
        
        HRESULT ( STDMETHODCALLTYPE *MovePointersToRange )( 
            __RPC__in IMarkupServices * This,
            /* [in] */ __RPC__in_opt IHTMLTxtRange *pIRange,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerFinish);
        
        HRESULT ( STDMETHODCALLTYPE *MoveRangeToPointers )( 
            __RPC__in IMarkupServices * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerFinish,
            /* [in] */ __RPC__in_opt IHTMLTxtRange *pIRange);
        
        HRESULT ( STDMETHODCALLTYPE *BeginUndoUnit )( 
            __RPC__in IMarkupServices * This,
            /* [in] */ __RPC__in OLECHAR *pchTitle);
        
        HRESULT ( STDMETHODCALLTYPE *EndUndoUnit )( 
            __RPC__in IMarkupServices * This);
        
        END_INTERFACE
    } IMarkupServicesVtbl;

    interface IMarkupServices
    {
        CONST_VTBL struct IMarkupServicesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMarkupServices_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMarkupServices_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMarkupServices_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMarkupServices_CreateMarkupPointer(This,ppPointer)	\
    ( (This)->lpVtbl -> CreateMarkupPointer(This,ppPointer) ) 

#define IMarkupServices_CreateMarkupContainer(This,ppMarkupContainer)	\
    ( (This)->lpVtbl -> CreateMarkupContainer(This,ppMarkupContainer) ) 

#define IMarkupServices_CreateElement(This,tagID,pchAttributes,ppElement)	\
    ( (This)->lpVtbl -> CreateElement(This,tagID,pchAttributes,ppElement) ) 

#define IMarkupServices_CloneElement(This,pElemCloneThis,ppElementTheClone)	\
    ( (This)->lpVtbl -> CloneElement(This,pElemCloneThis,ppElementTheClone) ) 

#define IMarkupServices_InsertElement(This,pElementInsert,pPointerStart,pPointerFinish)	\
    ( (This)->lpVtbl -> InsertElement(This,pElementInsert,pPointerStart,pPointerFinish) ) 

#define IMarkupServices_RemoveElement(This,pElementRemove)	\
    ( (This)->lpVtbl -> RemoveElement(This,pElementRemove) ) 

#define IMarkupServices_Remove(This,pPointerStart,pPointerFinish)	\
    ( (This)->lpVtbl -> Remove(This,pPointerStart,pPointerFinish) ) 

#define IMarkupServices_Copy(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget)	\
    ( (This)->lpVtbl -> Copy(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget) ) 

#define IMarkupServices_Move(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget)	\
    ( (This)->lpVtbl -> Move(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget) ) 

#define IMarkupServices_InsertText(This,pchText,cch,pPointerTarget)	\
    ( (This)->lpVtbl -> InsertText(This,pchText,cch,pPointerTarget) ) 

#define IMarkupServices_ParseString(This,pchHTML,dwFlags,ppContainerResult,ppPointerStart,ppPointerFinish)	\
    ( (This)->lpVtbl -> ParseString(This,pchHTML,dwFlags,ppContainerResult,ppPointerStart,ppPointerFinish) ) 

#define IMarkupServices_ParseGlobal(This,hglobalHTML,dwFlags,ppContainerResult,pPointerStart,pPointerFinish)	\
    ( (This)->lpVtbl -> ParseGlobal(This,hglobalHTML,dwFlags,ppContainerResult,pPointerStart,pPointerFinish) ) 

#define IMarkupServices_IsScopedElement(This,pElement,pfScoped)	\
    ( (This)->lpVtbl -> IsScopedElement(This,pElement,pfScoped) ) 

#define IMarkupServices_GetElementTagId(This,pElement,ptagId)	\
    ( (This)->lpVtbl -> GetElementTagId(This,pElement,ptagId) ) 

#define IMarkupServices_GetTagIDForName(This,bstrName,ptagId)	\
    ( (This)->lpVtbl -> GetTagIDForName(This,bstrName,ptagId) ) 

#define IMarkupServices_GetNameForTagID(This,tagId,pbstrName)	\
    ( (This)->lpVtbl -> GetNameForTagID(This,tagId,pbstrName) ) 

#define IMarkupServices_MovePointersToRange(This,pIRange,pPointerStart,pPointerFinish)	\
    ( (This)->lpVtbl -> MovePointersToRange(This,pIRange,pPointerStart,pPointerFinish) ) 

#define IMarkupServices_MoveRangeToPointers(This,pPointerStart,pPointerFinish,pIRange)	\
    ( (This)->lpVtbl -> MoveRangeToPointers(This,pPointerStart,pPointerFinish,pIRange) ) 

#define IMarkupServices_BeginUndoUnit(This,pchTitle)	\
    ( (This)->lpVtbl -> BeginUndoUnit(This,pchTitle) ) 

#define IMarkupServices_EndUndoUnit(This)	\
    ( (This)->lpVtbl -> EndUndoUnit(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMarkupServices_INTERFACE_DEFINED__ */


#ifndef __IMarkupServices2_INTERFACE_DEFINED__
#define __IMarkupServices2_INTERFACE_DEFINED__

/* interface IMarkupServices2 */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IMarkupServices2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f682-98b5-11cf-bb82-00aa00bdce0b")
    IMarkupServices2 : public IMarkupServices
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE ParseGlobalEx( 
            /* [in] */ __RPC__in HGLOBAL hglobalHTML,
            /* [in] */ DWORD dwFlags,
            /* [in] */ __RPC__in_opt IMarkupContainer *pContext,
            /* [out] */ __RPC__deref_out_opt IMarkupContainer **ppContainerResult,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerFinish) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ValidateElements( 
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerFinish,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerTarget,
            /* [out][in] */ __RPC__inout_opt IMarkupPointer *pPointerStatus,
            /* [out] */ __RPC__deref_out_opt IHTMLElement **ppElemFailBottom,
            /* [out] */ __RPC__deref_out_opt IHTMLElement **ppElemFailTop) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SaveSegmentsToClipboard( 
            /* [in] */ __RPC__in_opt ISegmentList *pSegmentList,
            /* [in] */ DWORD dwFlags) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IMarkupServices2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IMarkupServices2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IMarkupServices2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IMarkupServices2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *CreateMarkupPointer )( 
            __RPC__in IMarkupServices2 * This,
            /* [out] */ __RPC__deref_out_opt IMarkupPointer **ppPointer);
        
        HRESULT ( STDMETHODCALLTYPE *CreateMarkupContainer )( 
            __RPC__in IMarkupServices2 * This,
            /* [out] */ __RPC__deref_out_opt IMarkupContainer **ppMarkupContainer);
        
        HRESULT ( STDMETHODCALLTYPE *CreateElement )( 
            __RPC__in IMarkupServices2 * This,
            /* [in] */ ELEMENT_TAG_ID tagID,
            /* [in] */ __RPC__in OLECHAR *pchAttributes,
            /* [out] */ __RPC__deref_out_opt IHTMLElement **ppElement);
        
        HRESULT ( STDMETHODCALLTYPE *CloneElement )( 
            __RPC__in IMarkupServices2 * This,
            /* [in] */ __RPC__in_opt IHTMLElement *pElemCloneThis,
            /* [out] */ __RPC__deref_out_opt IHTMLElement **ppElementTheClone);
        
        HRESULT ( STDMETHODCALLTYPE *InsertElement )( 
            __RPC__in IMarkupServices2 * This,
            /* [in] */ __RPC__in_opt IHTMLElement *pElementInsert,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerFinish);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveElement )( 
            __RPC__in IMarkupServices2 * This,
            /* [in] */ __RPC__in_opt IHTMLElement *pElementRemove);
        
        HRESULT ( STDMETHODCALLTYPE *Remove )( 
            __RPC__in IMarkupServices2 * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerFinish);
        
        HRESULT ( STDMETHODCALLTYPE *Copy )( 
            __RPC__in IMarkupServices2 * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerSourceStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerSourceFinish,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerTarget);
        
        HRESULT ( STDMETHODCALLTYPE *Move )( 
            __RPC__in IMarkupServices2 * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerSourceStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerSourceFinish,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerTarget);
        
        HRESULT ( STDMETHODCALLTYPE *InsertText )( 
            __RPC__in IMarkupServices2 * This,
            /* [in] */ __RPC__in OLECHAR *pchText,
            /* [in] */ long cch,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerTarget);
        
        HRESULT ( STDMETHODCALLTYPE *ParseString )( 
            __RPC__in IMarkupServices2 * This,
            /* [in] */ __RPC__in OLECHAR *pchHTML,
            /* [in] */ DWORD dwFlags,
            /* [out] */ __RPC__deref_out_opt IMarkupContainer **ppContainerResult,
            /* [in] */ __RPC__in_opt IMarkupPointer *ppPointerStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *ppPointerFinish);
        
        HRESULT ( STDMETHODCALLTYPE *ParseGlobal )( 
            __RPC__in IMarkupServices2 * This,
            /* [in] */ __RPC__in HGLOBAL hglobalHTML,
            /* [in] */ DWORD dwFlags,
            /* [out] */ __RPC__deref_out_opt IMarkupContainer **ppContainerResult,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerFinish);
        
        HRESULT ( STDMETHODCALLTYPE *IsScopedElement )( 
            __RPC__in IMarkupServices2 * This,
            /* [in] */ __RPC__in_opt IHTMLElement *pElement,
            /* [out] */ __RPC__out BOOL *pfScoped);
        
        HRESULT ( STDMETHODCALLTYPE *GetElementTagId )( 
            __RPC__in IMarkupServices2 * This,
            /* [in] */ __RPC__in_opt IHTMLElement *pElement,
            /* [out] */ __RPC__out ELEMENT_TAG_ID *ptagId);
        
        HRESULT ( STDMETHODCALLTYPE *GetTagIDForName )( 
            __RPC__in IMarkupServices2 * This,
            /* [in] */ __RPC__in BSTR bstrName,
            /* [out] */ __RPC__out ELEMENT_TAG_ID *ptagId);
        
        HRESULT ( STDMETHODCALLTYPE *GetNameForTagID )( 
            __RPC__in IMarkupServices2 * This,
            /* [in] */ ELEMENT_TAG_ID tagId,
            /* [out] */ __RPC__deref_out_opt BSTR *pbstrName);
        
        HRESULT ( STDMETHODCALLTYPE *MovePointersToRange )( 
            __RPC__in IMarkupServices2 * This,
            /* [in] */ __RPC__in_opt IHTMLTxtRange *pIRange,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerFinish);
        
        HRESULT ( STDMETHODCALLTYPE *MoveRangeToPointers )( 
            __RPC__in IMarkupServices2 * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerFinish,
            /* [in] */ __RPC__in_opt IHTMLTxtRange *pIRange);
        
        HRESULT ( STDMETHODCALLTYPE *BeginUndoUnit )( 
            __RPC__in IMarkupServices2 * This,
            /* [in] */ __RPC__in OLECHAR *pchTitle);
        
        HRESULT ( STDMETHODCALLTYPE *EndUndoUnit )( 
            __RPC__in IMarkupServices2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *ParseGlobalEx )( 
            __RPC__in IMarkupServices2 * This,
            /* [in] */ __RPC__in HGLOBAL hglobalHTML,
            /* [in] */ DWORD dwFlags,
            /* [in] */ __RPC__in_opt IMarkupContainer *pContext,
            /* [out] */ __RPC__deref_out_opt IMarkupContainer **ppContainerResult,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerFinish);
        
        HRESULT ( STDMETHODCALLTYPE *ValidateElements )( 
            __RPC__in IMarkupServices2 * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerFinish,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerTarget,
            /* [out][in] */ __RPC__inout_opt IMarkupPointer *pPointerStatus,
            /* [out] */ __RPC__deref_out_opt IHTMLElement **ppElemFailBottom,
            /* [out] */ __RPC__deref_out_opt IHTMLElement **ppElemFailTop);
        
        HRESULT ( STDMETHODCALLTYPE *SaveSegmentsToClipboard )( 
            __RPC__in IMarkupServices2 * This,
            /* [in] */ __RPC__in_opt ISegmentList *pSegmentList,
            /* [in] */ DWORD dwFlags);
        
        END_INTERFACE
    } IMarkupServices2Vtbl;

    interface IMarkupServices2
    {
        CONST_VTBL struct IMarkupServices2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMarkupServices2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMarkupServices2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMarkupServices2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMarkupServices2_CreateMarkupPointer(This,ppPointer)	\
    ( (This)->lpVtbl -> CreateMarkupPointer(This,ppPointer) ) 

#define IMarkupServices2_CreateMarkupContainer(This,ppMarkupContainer)	\
    ( (This)->lpVtbl -> CreateMarkupContainer(This,ppMarkupContainer) ) 

#define IMarkupServices2_CreateElement(This,tagID,pchAttributes,ppElement)	\
    ( (This)->lpVtbl -> CreateElement(This,tagID,pchAttributes,ppElement) ) 

#define IMarkupServices2_CloneElement(This,pElemCloneThis,ppElementTheClone)	\
    ( (This)->lpVtbl -> CloneElement(This,pElemCloneThis,ppElementTheClone) ) 

#define IMarkupServices2_InsertElement(This,pElementInsert,pPointerStart,pPointerFinish)	\
    ( (This)->lpVtbl -> InsertElement(This,pElementInsert,pPointerStart,pPointerFinish) ) 

#define IMarkupServices2_RemoveElement(This,pElementRemove)	\
    ( (This)->lpVtbl -> RemoveElement(This,pElementRemove) ) 

#define IMarkupServices2_Remove(This,pPointerStart,pPointerFinish)	\
    ( (This)->lpVtbl -> Remove(This,pPointerStart,pPointerFinish) ) 

#define IMarkupServices2_Copy(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget)	\
    ( (This)->lpVtbl -> Copy(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget) ) 

#define IMarkupServices2_Move(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget)	\
    ( (This)->lpVtbl -> Move(This,pPointerSourceStart,pPointerSourceFinish,pPointerTarget) ) 

#define IMarkupServices2_InsertText(This,pchText,cch,pPointerTarget)	\
    ( (This)->lpVtbl -> InsertText(This,pchText,cch,pPointerTarget) ) 

#define IMarkupServices2_ParseString(This,pchHTML,dwFlags,ppContainerResult,ppPointerStart,ppPointerFinish)	\
    ( (This)->lpVtbl -> ParseString(This,pchHTML,dwFlags,ppContainerResult,ppPointerStart,ppPointerFinish) ) 

#define IMarkupServices2_ParseGlobal(This,hglobalHTML,dwFlags,ppContainerResult,pPointerStart,pPointerFinish)	\
    ( (This)->lpVtbl -> ParseGlobal(This,hglobalHTML,dwFlags,ppContainerResult,pPointerStart,pPointerFinish) ) 

#define IMarkupServices2_IsScopedElement(This,pElement,pfScoped)	\
    ( (This)->lpVtbl -> IsScopedElement(This,pElement,pfScoped) ) 

#define IMarkupServices2_GetElementTagId(This,pElement,ptagId)	\
    ( (This)->lpVtbl -> GetElementTagId(This,pElement,ptagId) ) 

#define IMarkupServices2_GetTagIDForName(This,bstrName,ptagId)	\
    ( (This)->lpVtbl -> GetTagIDForName(This,bstrName,ptagId) ) 

#define IMarkupServices2_GetNameForTagID(This,tagId,pbstrName)	\
    ( (This)->lpVtbl -> GetNameForTagID(This,tagId,pbstrName) ) 

#define IMarkupServices2_MovePointersToRange(This,pIRange,pPointerStart,pPointerFinish)	\
    ( (This)->lpVtbl -> MovePointersToRange(This,pIRange,pPointerStart,pPointerFinish) ) 

#define IMarkupServices2_MoveRangeToPointers(This,pPointerStart,pPointerFinish,pIRange)	\
    ( (This)->lpVtbl -> MoveRangeToPointers(This,pPointerStart,pPointerFinish,pIRange) ) 

#define IMarkupServices2_BeginUndoUnit(This,pchTitle)	\
    ( (This)->lpVtbl -> BeginUndoUnit(This,pchTitle) ) 

#define IMarkupServices2_EndUndoUnit(This)	\
    ( (This)->lpVtbl -> EndUndoUnit(This) ) 


#define IMarkupServices2_ParseGlobalEx(This,hglobalHTML,dwFlags,pContext,ppContainerResult,pPointerStart,pPointerFinish)	\
    ( (This)->lpVtbl -> ParseGlobalEx(This,hglobalHTML,dwFlags,pContext,ppContainerResult,pPointerStart,pPointerFinish) ) 

#define IMarkupServices2_ValidateElements(This,pPointerStart,pPointerFinish,pPointerTarget,pPointerStatus,ppElemFailBottom,ppElemFailTop)	\
    ( (This)->lpVtbl -> ValidateElements(This,pPointerStart,pPointerFinish,pPointerTarget,pPointerStatus,ppElemFailBottom,ppElemFailTop) ) 

#define IMarkupServices2_SaveSegmentsToClipboard(This,pSegmentList,dwFlags)	\
    ( (This)->lpVtbl -> SaveSegmentsToClipboard(This,pSegmentList,dwFlags) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMarkupServices2_INTERFACE_DEFINED__ */


#ifndef __IHTMLChangePlayback_INTERFACE_DEFINED__
#define __IHTMLChangePlayback_INTERFACE_DEFINED__

/* interface IHTMLChangePlayback */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IHTMLChangePlayback;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f6e0-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLChangePlayback : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE ExecChange( 
            /* [in] */ __RPC__in BYTE *pbRecord,
            /* [in] */ BOOL fForward) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLChangePlaybackVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLChangePlayback * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLChangePlayback * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLChangePlayback * This);
        
        HRESULT ( STDMETHODCALLTYPE *ExecChange )( 
            __RPC__in IHTMLChangePlayback * This,
            /* [in] */ __RPC__in BYTE *pbRecord,
            /* [in] */ BOOL fForward);
        
        END_INTERFACE
    } IHTMLChangePlaybackVtbl;

    interface IHTMLChangePlayback
    {
        CONST_VTBL struct IHTMLChangePlaybackVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLChangePlayback_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLChangePlayback_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLChangePlayback_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLChangePlayback_ExecChange(This,pbRecord,fForward)	\
    ( (This)->lpVtbl -> ExecChange(This,pbRecord,fForward) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLChangePlayback_INTERFACE_DEFINED__ */


#ifndef __IMarkupPointer2_INTERFACE_DEFINED__
#define __IMarkupPointer2_INTERFACE_DEFINED__

/* interface IMarkupPointer2 */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IMarkupPointer2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f675-98b5-11cf-bb82-00aa00bdce0b")
    IMarkupPointer2 : public IMarkupPointer
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE IsAtWordBreak( 
            /* [out] */ __RPC__out BOOL *pfAtBreak) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMarkupPosition( 
            /* [out] */ __RPC__out long *plMP) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveToMarkupPosition( 
            /* [in] */ __RPC__in_opt IMarkupContainer *pContainer,
            /* [in] */ long lMP) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveUnitBounded( 
            /* [in] */ MOVEUNIT_ACTION muAction,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIBoundary) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsInsideURL( 
            /* [in] */ __RPC__in_opt IMarkupPointer *pRight,
            /* [out] */ __RPC__out BOOL *pfResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveToContent( 
            /* [in] */ __RPC__in_opt IHTMLElement *pIElement,
            /* [in] */ BOOL fAtStart) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IMarkupPointer2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IMarkupPointer2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IMarkupPointer2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IMarkupPointer2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *OwningDoc )( 
            __RPC__in IMarkupPointer2 * This,
            /* [out] */ __RPC__deref_out_opt IHTMLDocument2 **ppDoc);
        
        HRESULT ( STDMETHODCALLTYPE *Gravity )( 
            __RPC__in IMarkupPointer2 * This,
            /* [out] */ __RPC__out POINTER_GRAVITY *pGravity);
        
        HRESULT ( STDMETHODCALLTYPE *SetGravity )( 
            __RPC__in IMarkupPointer2 * This,
            /* [in] */ POINTER_GRAVITY Gravity);
        
        HRESULT ( STDMETHODCALLTYPE *Cling )( 
            __RPC__in IMarkupPointer2 * This,
            /* [out] */ __RPC__out BOOL *pfCling);
        
        HRESULT ( STDMETHODCALLTYPE *SetCling )( 
            __RPC__in IMarkupPointer2 * This,
            /* [in] */ BOOL fCLing);
        
        HRESULT ( STDMETHODCALLTYPE *Unposition )( 
            __RPC__in IMarkupPointer2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *IsPositioned )( 
            __RPC__in IMarkupPointer2 * This,
            /* [out] */ __RPC__out BOOL *pfPositioned);
        
        HRESULT ( STDMETHODCALLTYPE *GetContainer )( 
            __RPC__in IMarkupPointer2 * This,
            /* [out] */ __RPC__deref_out_opt IMarkupContainer **ppContainer);
        
        HRESULT ( STDMETHODCALLTYPE *MoveAdjacentToElement )( 
            __RPC__in IMarkupPointer2 * This,
            /* [in] */ __RPC__in_opt IHTMLElement *pElement,
            /* [in] */ ELEMENT_ADJACENCY eAdj);
        
        HRESULT ( STDMETHODCALLTYPE *MoveToPointer )( 
            __RPC__in IMarkupPointer2 * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointer);
        
        HRESULT ( STDMETHODCALLTYPE *MoveToContainer )( 
            __RPC__in IMarkupPointer2 * This,
            /* [in] */ __RPC__in_opt IMarkupContainer *pContainer,
            /* [in] */ BOOL fAtStart);
        
        HRESULT ( STDMETHODCALLTYPE *Left )( 
            __RPC__in IMarkupPointer2 * This,
            /* [in] */ BOOL fMove,
            /* [out] */ __RPC__out MARKUP_CONTEXT_TYPE *pContext,
            /* [out] */ __RPC__deref_out_opt IHTMLElement **ppElement,
            /* [out][in] */ __RPC__inout long *pcch,
            /* [size_is][out] */ __RPC__out_ecount_full(*pcch) OLECHAR *pchText);
        
        HRESULT ( STDMETHODCALLTYPE *Right )( 
            __RPC__in IMarkupPointer2 * This,
            /* [in] */ BOOL fMove,
            /* [out] */ __RPC__out MARKUP_CONTEXT_TYPE *pContext,
            /* [out] */ __RPC__deref_out_opt IHTMLElement **ppElement,
            /* [out][in] */ __RPC__inout long *pcch,
            /* [size_is][out] */ __RPC__out_ecount_full(*pcch) OLECHAR *pchText);
        
        HRESULT ( STDMETHODCALLTYPE *CurrentScope )( 
            __RPC__in IMarkupPointer2 * This,
            /* [out] */ __RPC__deref_out_opt IHTMLElement **ppElemCurrent);
        
        HRESULT ( STDMETHODCALLTYPE *IsLeftOf )( 
            __RPC__in IMarkupPointer2 * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerThat,
            /* [out] */ __RPC__out BOOL *pfResult);
        
        HRESULT ( STDMETHODCALLTYPE *IsLeftOfOrEqualTo )( 
            __RPC__in IMarkupPointer2 * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerThat,
            /* [out] */ __RPC__out BOOL *pfResult);
        
        HRESULT ( STDMETHODCALLTYPE *IsRightOf )( 
            __RPC__in IMarkupPointer2 * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerThat,
            /* [out] */ __RPC__out BOOL *pfResult);
        
        HRESULT ( STDMETHODCALLTYPE *IsRightOfOrEqualTo )( 
            __RPC__in IMarkupPointer2 * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerThat,
            /* [out] */ __RPC__out BOOL *pfResult);
        
        HRESULT ( STDMETHODCALLTYPE *IsEqualTo )( 
            __RPC__in IMarkupPointer2 * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerThat,
            /* [out] */ __RPC__out BOOL *pfAreEqual);
        
        HRESULT ( STDMETHODCALLTYPE *MoveUnit )( 
            __RPC__in IMarkupPointer2 * This,
            /* [in] */ MOVEUNIT_ACTION muAction);
        
        HRESULT ( STDMETHODCALLTYPE *FindText )( 
            __RPC__in IMarkupPointer2 * This,
            /* [string][in] */ __RPC__in_string OLECHAR *pchFindText,
            /* [in] */ DWORD dwFlags,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIEndMatch,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIEndSearch);
        
        HRESULT ( STDMETHODCALLTYPE *IsAtWordBreak )( 
            __RPC__in IMarkupPointer2 * This,
            /* [out] */ __RPC__out BOOL *pfAtBreak);
        
        HRESULT ( STDMETHODCALLTYPE *GetMarkupPosition )( 
            __RPC__in IMarkupPointer2 * This,
            /* [out] */ __RPC__out long *plMP);
        
        HRESULT ( STDMETHODCALLTYPE *MoveToMarkupPosition )( 
            __RPC__in IMarkupPointer2 * This,
            /* [in] */ __RPC__in_opt IMarkupContainer *pContainer,
            /* [in] */ long lMP);
        
        HRESULT ( STDMETHODCALLTYPE *MoveUnitBounded )( 
            __RPC__in IMarkupPointer2 * This,
            /* [in] */ MOVEUNIT_ACTION muAction,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIBoundary);
        
        HRESULT ( STDMETHODCALLTYPE *IsInsideURL )( 
            __RPC__in IMarkupPointer2 * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pRight,
            /* [out] */ __RPC__out BOOL *pfResult);
        
        HRESULT ( STDMETHODCALLTYPE *MoveToContent )( 
            __RPC__in IMarkupPointer2 * This,
            /* [in] */ __RPC__in_opt IHTMLElement *pIElement,
            /* [in] */ BOOL fAtStart);
        
        END_INTERFACE
    } IMarkupPointer2Vtbl;

    interface IMarkupPointer2
    {
        CONST_VTBL struct IMarkupPointer2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMarkupPointer2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMarkupPointer2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMarkupPointer2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMarkupPointer2_OwningDoc(This,ppDoc)	\
    ( (This)->lpVtbl -> OwningDoc(This,ppDoc) ) 

#define IMarkupPointer2_Gravity(This,pGravity)	\
    ( (This)->lpVtbl -> Gravity(This,pGravity) ) 

#define IMarkupPointer2_SetGravity(This,Gravity)	\
    ( (This)->lpVtbl -> SetGravity(This,Gravity) ) 

#define IMarkupPointer2_Cling(This,pfCling)	\
    ( (This)->lpVtbl -> Cling(This,pfCling) ) 

#define IMarkupPointer2_SetCling(This,fCLing)	\
    ( (This)->lpVtbl -> SetCling(This,fCLing) ) 

#define IMarkupPointer2_Unposition(This)	\
    ( (This)->lpVtbl -> Unposition(This) ) 

#define IMarkupPointer2_IsPositioned(This,pfPositioned)	\
    ( (This)->lpVtbl -> IsPositioned(This,pfPositioned) ) 

#define IMarkupPointer2_GetContainer(This,ppContainer)	\
    ( (This)->lpVtbl -> GetContainer(This,ppContainer) ) 

#define IMarkupPointer2_MoveAdjacentToElement(This,pElement,eAdj)	\
    ( (This)->lpVtbl -> MoveAdjacentToElement(This,pElement,eAdj) ) 

#define IMarkupPointer2_MoveToPointer(This,pPointer)	\
    ( (This)->lpVtbl -> MoveToPointer(This,pPointer) ) 

#define IMarkupPointer2_MoveToContainer(This,pContainer,fAtStart)	\
    ( (This)->lpVtbl -> MoveToContainer(This,pContainer,fAtStart) ) 

#define IMarkupPointer2_Left(This,fMove,pContext,ppElement,pcch,pchText)	\
    ( (This)->lpVtbl -> Left(This,fMove,pContext,ppElement,pcch,pchText) ) 

#define IMarkupPointer2_Right(This,fMove,pContext,ppElement,pcch,pchText)	\
    ( (This)->lpVtbl -> Right(This,fMove,pContext,ppElement,pcch,pchText) ) 

#define IMarkupPointer2_CurrentScope(This,ppElemCurrent)	\
    ( (This)->lpVtbl -> CurrentScope(This,ppElemCurrent) ) 

#define IMarkupPointer2_IsLeftOf(This,pPointerThat,pfResult)	\
    ( (This)->lpVtbl -> IsLeftOf(This,pPointerThat,pfResult) ) 

#define IMarkupPointer2_IsLeftOfOrEqualTo(This,pPointerThat,pfResult)	\
    ( (This)->lpVtbl -> IsLeftOfOrEqualTo(This,pPointerThat,pfResult) ) 

#define IMarkupPointer2_IsRightOf(This,pPointerThat,pfResult)	\
    ( (This)->lpVtbl -> IsRightOf(This,pPointerThat,pfResult) ) 

#define IMarkupPointer2_IsRightOfOrEqualTo(This,pPointerThat,pfResult)	\
    ( (This)->lpVtbl -> IsRightOfOrEqualTo(This,pPointerThat,pfResult) ) 

#define IMarkupPointer2_IsEqualTo(This,pPointerThat,pfAreEqual)	\
    ( (This)->lpVtbl -> IsEqualTo(This,pPointerThat,pfAreEqual) ) 

#define IMarkupPointer2_MoveUnit(This,muAction)	\
    ( (This)->lpVtbl -> MoveUnit(This,muAction) ) 

#define IMarkupPointer2_FindText(This,pchFindText,dwFlags,pIEndMatch,pIEndSearch)	\
    ( (This)->lpVtbl -> FindText(This,pchFindText,dwFlags,pIEndMatch,pIEndSearch) ) 


#define IMarkupPointer2_IsAtWordBreak(This,pfAtBreak)	\
    ( (This)->lpVtbl -> IsAtWordBreak(This,pfAtBreak) ) 

#define IMarkupPointer2_GetMarkupPosition(This,plMP)	\
    ( (This)->lpVtbl -> GetMarkupPosition(This,plMP) ) 

#define IMarkupPointer2_MoveToMarkupPosition(This,pContainer,lMP)	\
    ( (This)->lpVtbl -> MoveToMarkupPosition(This,pContainer,lMP) ) 

#define IMarkupPointer2_MoveUnitBounded(This,muAction,pIBoundary)	\
    ( (This)->lpVtbl -> MoveUnitBounded(This,muAction,pIBoundary) ) 

#define IMarkupPointer2_IsInsideURL(This,pRight,pfResult)	\
    ( (This)->lpVtbl -> IsInsideURL(This,pRight,pfResult) ) 

#define IMarkupPointer2_MoveToContent(This,pIElement,fAtStart)	\
    ( (This)->lpVtbl -> MoveToContent(This,pIElement,fAtStart) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMarkupPointer2_INTERFACE_DEFINED__ */


#ifndef __IMarkupTextFrags_INTERFACE_DEFINED__
#define __IMarkupTextFrags_INTERFACE_DEFINED__

/* interface IMarkupTextFrags */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IMarkupTextFrags;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f5fa-98b5-11cf-bb82-00aa00bdce0b")
    IMarkupTextFrags : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetTextFragCount( 
            /* [out] */ __RPC__out long *pcFrags) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetTextFrag( 
            /* [in] */ long iFrag,
            /* [out] */ __RPC__deref_out_opt BSTR *pbstrFrag,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerFrag) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveTextFrag( 
            /* [in] */ long iFrag) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InsertTextFrag( 
            /* [in] */ long iFrag,
            /* [in] */ __RPC__in BSTR bstrInsert,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerInsert) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FindTextFragFromMarkupPointer( 
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerFind,
            /* [out] */ __RPC__out long *piFrag,
            /* [out] */ __RPC__out BOOL *pfFragFound) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IMarkupTextFragsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IMarkupTextFrags * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IMarkupTextFrags * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IMarkupTextFrags * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTextFragCount )( 
            __RPC__in IMarkupTextFrags * This,
            /* [out] */ __RPC__out long *pcFrags);
        
        HRESULT ( STDMETHODCALLTYPE *GetTextFrag )( 
            __RPC__in IMarkupTextFrags * This,
            /* [in] */ long iFrag,
            /* [out] */ __RPC__deref_out_opt BSTR *pbstrFrag,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerFrag);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveTextFrag )( 
            __RPC__in IMarkupTextFrags * This,
            /* [in] */ long iFrag);
        
        HRESULT ( STDMETHODCALLTYPE *InsertTextFrag )( 
            __RPC__in IMarkupTextFrags * This,
            /* [in] */ long iFrag,
            /* [in] */ __RPC__in BSTR bstrInsert,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerInsert);
        
        HRESULT ( STDMETHODCALLTYPE *FindTextFragFromMarkupPointer )( 
            __RPC__in IMarkupTextFrags * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pPointerFind,
            /* [out] */ __RPC__out long *piFrag,
            /* [out] */ __RPC__out BOOL *pfFragFound);
        
        END_INTERFACE
    } IMarkupTextFragsVtbl;

    interface IMarkupTextFrags
    {
        CONST_VTBL struct IMarkupTextFragsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMarkupTextFrags_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMarkupTextFrags_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMarkupTextFrags_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMarkupTextFrags_GetTextFragCount(This,pcFrags)	\
    ( (This)->lpVtbl -> GetTextFragCount(This,pcFrags) ) 

#define IMarkupTextFrags_GetTextFrag(This,iFrag,pbstrFrag,pPointerFrag)	\
    ( (This)->lpVtbl -> GetTextFrag(This,iFrag,pbstrFrag,pPointerFrag) ) 

#define IMarkupTextFrags_RemoveTextFrag(This,iFrag)	\
    ( (This)->lpVtbl -> RemoveTextFrag(This,iFrag) ) 

#define IMarkupTextFrags_InsertTextFrag(This,iFrag,bstrInsert,pPointerInsert)	\
    ( (This)->lpVtbl -> InsertTextFrag(This,iFrag,bstrInsert,pPointerInsert) ) 

#define IMarkupTextFrags_FindTextFragFromMarkupPointer(This,pPointerFind,piFrag,pfFragFound)	\
    ( (This)->lpVtbl -> FindTextFragFromMarkupPointer(This,pPointerFind,piFrag,pfFragFound) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMarkupTextFrags_INTERFACE_DEFINED__ */


#ifndef __IXMLGenericParse_INTERFACE_DEFINED__
#define __IXMLGenericParse_INTERFACE_DEFINED__

/* interface IXMLGenericParse */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IXMLGenericParse;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E4E23071-4D07-11d2-AE76-0080C73BC199")
    IXMLGenericParse : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetGenericParse( 
            /* [in] */ VARIANT_BOOL fDoGeneric) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IXMLGenericParseVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IXMLGenericParse * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IXMLGenericParse * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IXMLGenericParse * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetGenericParse )( 
            __RPC__in IXMLGenericParse * This,
            /* [in] */ VARIANT_BOOL fDoGeneric);
        
        END_INTERFACE
    } IXMLGenericParseVtbl;

    interface IXMLGenericParse
    {
        CONST_VTBL struct IXMLGenericParseVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#define IXMLGenericParse_SetGenericParse(This,fDoGeneric)	\
    ( (This)->lpVtbl -> SetGenericParse(This,fDoGeneric) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IXMLGenericParse_INTERFACE_DEFINED__ */


#ifndef __IHTMLEditHost_INTERFACE_DEFINED__
#define __IHTMLEditHost_INTERFACE_DEFINED__

/* interface IHTMLEditHost */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IHTMLEditHost;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f6a0-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLEditHost : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SnapRect( 
            /* [in] */ __RPC__in_opt IHTMLElement *pIElement,
            /* [out][in] */ __RPC__inout RECT *prcNew,
            /* [in] */ ELEMENT_CORNER eHandle) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLEditHostVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLEditHost * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLEditHost * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLEditHost * This);
        
        HRESULT ( STDMETHODCALLTYPE *SnapRect )( 
            __RPC__in IHTMLEditHost * This,
            /* [in] */ __RPC__in_opt IHTMLElement *pIElement,
            /* [out][in] */ __RPC__inout RECT *prcNew,
            /* [in] */ ELEMENT_CORNER eHandle);
        
        END_INTERFACE
    } IHTMLEditHostVtbl;

    interface IHTMLEditHost
    {
        CONST_VTBL struct IHTMLEditHostVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLEditHost_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLEditHost_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLEditHost_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLEditHost_SnapRect(This,pIElement,prcNew,eHandle)	\
    ( (This)->lpVtbl -> SnapRect(This,pIElement,prcNew,eHandle) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLEditHost_INTERFACE_DEFINED__ */


#ifndef __IHTMLEditHost2_INTERFACE_DEFINED__
#define __IHTMLEditHost2_INTERFACE_DEFINED__

/* interface IHTMLEditHost2 */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IHTMLEditHost2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f848-98b5-11cf-bb82-00aa00bdce0d")
    IHTMLEditHost2 : public IHTMLEditHost
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE PreDrag( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLEditHost2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLEditHost2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLEditHost2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLEditHost2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *SnapRect )( 
            __RPC__in IHTMLEditHost2 * This,
            /* [in] */ __RPC__in_opt IHTMLElement *pIElement,
            /* [out][in] */ __RPC__inout RECT *prcNew,
            /* [in] */ ELEMENT_CORNER eHandle);
        
        HRESULT ( STDMETHODCALLTYPE *PreDrag )( 
            __RPC__in IHTMLEditHost2 * This);
        
        END_INTERFACE
    } IHTMLEditHost2Vtbl;

    interface IHTMLEditHost2
    {
        CONST_VTBL struct IHTMLEditHost2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLEditHost2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLEditHost2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLEditHost2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLEditHost2_SnapRect(This,pIElement,prcNew,eHandle)	\
    ( (This)->lpVtbl -> SnapRect(This,pIElement,prcNew,eHandle) ) 


#define IHTMLEditHost2_PreDrag(This)	\
    ( (This)->lpVtbl -> PreDrag(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLEditHost2_INTERFACE_DEFINED__ */


#ifndef __ISequenceNumber_INTERFACE_DEFINED__
#define __ISequenceNumber_INTERFACE_DEFINED__

/* interface ISequenceNumber */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_ISequenceNumber;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f6c1-98b5-11cf-bb82-00aa00bdce0b")
    ISequenceNumber : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetSequenceNumber( 
            /* [in] */ long nCurrent,
            /* [out] */ __RPC__out long *pnNew) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISequenceNumberVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISequenceNumber * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISequenceNumber * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISequenceNumber * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetSequenceNumber )( 
            __RPC__in ISequenceNumber * This,
            /* [in] */ long nCurrent,
            /* [out] */ __RPC__out long *pnNew);
        
        END_INTERFACE
    } ISequenceNumberVtbl;

    interface ISequenceNumber
    {
        CONST_VTBL struct ISequenceNumberVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISequenceNumber_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISequenceNumber_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISequenceNumber_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISequenceNumber_GetSequenceNumber(This,nCurrent,pnNew)	\
    ( (This)->lpVtbl -> GetSequenceNumber(This,nCurrent,pnNew) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISequenceNumber_INTERFACE_DEFINED__ */


#ifndef __IIMEServices_INTERFACE_DEFINED__
#define __IIMEServices_INTERFACE_DEFINED__

/* interface IIMEServices */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IIMEServices;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f6ca-98b5-11cf-bb82-00aa00bdce0b")
    IIMEServices : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetActiveIMM( 
            /* [out] */ __RPC__deref_out_opt IActiveIMMApp **ppActiveIMM) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IIMEServicesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IIMEServices * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IIMEServices * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IIMEServices * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetActiveIMM )( 
            __RPC__in IIMEServices * This,
            /* [out] */ __RPC__deref_out_opt IActiveIMMApp **ppActiveIMM);
        
        END_INTERFACE
    } IIMEServicesVtbl;

    interface IIMEServices
    {
        CONST_VTBL struct IIMEServicesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIMEServices_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IIMEServices_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IIMEServices_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IIMEServices_GetActiveIMM(This,ppActiveIMM)	\
    ( (This)->lpVtbl -> GetActiveIMM(This,ppActiveIMM) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IIMEServices_INTERFACE_DEFINED__ */


#ifndef __ISelectionServicesListener_INTERFACE_DEFINED__
#define __ISelectionServicesListener_INTERFACE_DEFINED__

/* interface ISelectionServicesListener */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_ISelectionServicesListener;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f699-98b5-11cf-bb82-00aa00bdce0b")
    ISelectionServicesListener : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE BeginSelectionUndo( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EndSelectionUndo( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnSelectedElementExit( 
            /* [in] */ __RPC__in_opt IMarkupPointer *pIElementStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIElementEnd,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIElementContentStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIElementContentEnd) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnChangeType( 
            /* [in] */ SELECTION_TYPE eType,
            /* [in] */ __RPC__in_opt ISelectionServicesListener *pIListener) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetTypeDetail( 
            /* [out] */ __RPC__deref_out_opt BSTR *pTypeDetail) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISelectionServicesListenerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISelectionServicesListener * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISelectionServicesListener * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISelectionServicesListener * This);
        
        HRESULT ( STDMETHODCALLTYPE *BeginSelectionUndo )( 
            __RPC__in ISelectionServicesListener * This);
        
        HRESULT ( STDMETHODCALLTYPE *EndSelectionUndo )( 
            __RPC__in ISelectionServicesListener * This);
        
        HRESULT ( STDMETHODCALLTYPE *OnSelectedElementExit )( 
            __RPC__in ISelectionServicesListener * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIElementStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIElementEnd,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIElementContentStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIElementContentEnd);
        
        HRESULT ( STDMETHODCALLTYPE *OnChangeType )( 
            __RPC__in ISelectionServicesListener * This,
            /* [in] */ SELECTION_TYPE eType,
            /* [in] */ __RPC__in_opt ISelectionServicesListener *pIListener);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeDetail )( 
            __RPC__in ISelectionServicesListener * This,
            /* [out] */ __RPC__deref_out_opt BSTR *pTypeDetail);
        
        END_INTERFACE
    } ISelectionServicesListenerVtbl;

    interface ISelectionServicesListener
    {
        CONST_VTBL struct ISelectionServicesListenerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISelectionServicesListener_INTERFACE_DEFINED__ */


#ifndef __ISelectionServices_INTERFACE_DEFINED__
#define __ISelectionServices_INTERFACE_DEFINED__

/* interface ISelectionServices */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_ISelectionServices;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f684-98b5-11cf-bb82-00aa00bdce0b")
    ISelectionServices : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetSelectionType( 
            /* [in] */ SELECTION_TYPE eType,
            /* [in] */ __RPC__in_opt ISelectionServicesListener *pIListener) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMarkupContainer( 
            /* [out] */ __RPC__deref_out_opt IMarkupContainer **ppIContainer) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddSegment( 
            /* [in] */ __RPC__in_opt IMarkupPointer *pIStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIEnd,
            /* [out] */ __RPC__deref_out_opt ISegment **ppISegmentAdded) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddElementSegment( 
            /* [in] */ __RPC__in_opt IHTMLElement *pIElement,
            /* [out] */ __RPC__deref_out_opt IElementSegment **ppISegmentAdded) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveSegment( 
            /* [in] */ __RPC__in_opt ISegment *pISegment) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetSelectionServicesListener( 
            /* [out] */ __RPC__deref_out_opt ISelectionServicesListener **ppISelectionServicesListener) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISelectionServicesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISelectionServices * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISelectionServices * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISelectionServices * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetSelectionType )( 
            __RPC__in ISelectionServices * This,
            /* [in] */ SELECTION_TYPE eType,
            /* [in] */ __RPC__in_opt ISelectionServicesListener *pIListener);
        
        HRESULT ( STDMETHODCALLTYPE *GetMarkupContainer )( 
            __RPC__in ISelectionServices * This,
            /* [out] */ __RPC__deref_out_opt IMarkupContainer **ppIContainer);
        
        HRESULT ( STDMETHODCALLTYPE *AddSegment )( 
            __RPC__in ISelectionServices * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIEnd,
            /* [out] */ __RPC__deref_out_opt ISegment **ppISegmentAdded);
        
        HRESULT ( STDMETHODCALLTYPE *AddElementSegment )( 
            __RPC__in ISelectionServices * This,
            /* [in] */ __RPC__in_opt IHTMLElement *pIElement,
            /* [out] */ __RPC__deref_out_opt IElementSegment **ppISegmentAdded);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveSegment )( 
            __RPC__in ISelectionServices * This,
            /* [in] */ __RPC__in_opt ISegment *pISegment);
        
        HRESULT ( STDMETHODCALLTYPE *GetSelectionServicesListener )( 
            __RPC__in ISelectionServices * This,
            /* [out] */ __RPC__deref_out_opt ISelectionServicesListener **ppISelectionServicesListener);
        
        END_INTERFACE
    } ISelectionServicesVtbl;

    interface ISelectionServices
    {
        CONST_VTBL struct ISelectionServicesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISelectionServices_INTERFACE_DEFINED__ */


#ifndef __IHTMLEditDesigner_INTERFACE_DEFINED__
#define __IHTMLEditDesigner_INTERFACE_DEFINED__

/* interface IHTMLEditDesigner */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IHTMLEditDesigner;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f662-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLEditDesigner : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE PreHandleEvent( 
            /* [in] */ DISPID inEvtDispId,
            /* [in] */ __RPC__in_opt IHTMLEventObj *pIEventObj) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PostHandleEvent( 
            /* [in] */ DISPID inEvtDispId,
            /* [in] */ __RPC__in_opt IHTMLEventObj *pIEventObj) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator( 
            /* [in] */ DISPID inEvtDispId,
            /* [in] */ __RPC__in_opt IHTMLEventObj *pIEventObj) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PostEditorEventNotify( 
            /* [in] */ DISPID inEvtDispId,
            /* [in] */ __RPC__in_opt IHTMLEventObj *pIEventObj) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLEditDesignerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLEditDesigner * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLEditDesigner * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLEditDesigner * This);
        
        HRESULT ( STDMETHODCALLTYPE *PreHandleEvent )( 
            __RPC__in IHTMLEditDesigner * This,
            /* [in] */ DISPID inEvtDispId,
            /* [in] */ __RPC__in_opt IHTMLEventObj *pIEventObj);
        
        HRESULT ( STDMETHODCALLTYPE *PostHandleEvent )( 
            __RPC__in IHTMLEditDesigner * This,
            /* [in] */ DISPID inEvtDispId,
            /* [in] */ __RPC__in_opt IHTMLEventObj *pIEventObj);
        
        HRESULT ( STDMETHODCALLTYPE *TranslateAccelerator )( 
            __RPC__in IHTMLEditDesigner * This,
            /* [in] */ DISPID inEvtDispId,
            /* [in] */ __RPC__in_opt IHTMLEventObj *pIEventObj);
        
        HRESULT ( STDMETHODCALLTYPE *PostEditorEventNotify )( 
            __RPC__in IHTMLEditDesigner * This,
            /* [in] */ DISPID inEvtDispId,
            /* [in] */ __RPC__in_opt IHTMLEventObj *pIEventObj);
        
        END_INTERFACE
    } IHTMLEditDesignerVtbl;

    interface IHTMLEditDesigner
    {
        CONST_VTBL struct IHTMLEditDesignerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLEditDesigner_INTERFACE_DEFINED__ */


#ifndef __IHTMLEditServices_INTERFACE_DEFINED__
#define __IHTMLEditServices_INTERFACE_DEFINED__

/* interface IHTMLEditServices */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IHTMLEditServices;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f663-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLEditServices : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE AddDesigner( 
            /* [in] */ __RPC__in_opt IHTMLEditDesigner *pIDesigner) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveDesigner( 
            /* [in] */ __RPC__in_opt IHTMLEditDesigner *pIDesigner) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetSelectionServices( 
            /* [in] */ __RPC__in_opt IMarkupContainer *pIContainer,
            /* [out] */ __RPC__deref_out_opt ISelectionServices **ppSelSvc) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveToSelectionAnchor( 
            /* [in] */ __RPC__in_opt IMarkupPointer *pIStartAnchor) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveToSelectionEnd( 
            /* [in] */ __RPC__in_opt IMarkupPointer *pIEndAnchor) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SelectRange( 
            /* [in] */ __RPC__in_opt IMarkupPointer *pStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pEnd,
            /* [in] */ SELECTION_TYPE eType) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLEditServicesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLEditServices * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLEditServices * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLEditServices * This);
        
        HRESULT ( STDMETHODCALLTYPE *AddDesigner )( 
            __RPC__in IHTMLEditServices * This,
            /* [in] */ __RPC__in_opt IHTMLEditDesigner *pIDesigner);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveDesigner )( 
            __RPC__in IHTMLEditServices * This,
            /* [in] */ __RPC__in_opt IHTMLEditDesigner *pIDesigner);
        
        HRESULT ( STDMETHODCALLTYPE *GetSelectionServices )( 
            __RPC__in IHTMLEditServices * This,
            /* [in] */ __RPC__in_opt IMarkupContainer *pIContainer,
            /* [out] */ __RPC__deref_out_opt ISelectionServices **ppSelSvc);
        
        HRESULT ( STDMETHODCALLTYPE *MoveToSelectionAnchor )( 
            __RPC__in IHTMLEditServices * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIStartAnchor);
        
        HRESULT ( STDMETHODCALLTYPE *MoveToSelectionEnd )( 
            __RPC__in IHTMLEditServices * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIEndAnchor);
        
        HRESULT ( STDMETHODCALLTYPE *SelectRange )( 
            __RPC__in IHTMLEditServices * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pEnd,
            /* [in] */ SELECTION_TYPE eType);
        
        END_INTERFACE
    } IHTMLEditServicesVtbl;

    interface IHTMLEditServices
    {
        CONST_VTBL struct IHTMLEditServicesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLEditServices_INTERFACE_DEFINED__ */


#ifndef __IHTMLEditServices2_INTERFACE_DEFINED__
#define __IHTMLEditServices2_INTERFACE_DEFINED__

/* interface IHTMLEditServices2 */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IHTMLEditServices2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f812-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLEditServices2 : public IHTMLEditServices
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE MoveToSelectionAnchorEx( 
            /* [in] */ __RPC__in_opt IDisplayPointer *pIStartAnchor) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveToSelectionEndEx( 
            /* [in] */ __RPC__in_opt IDisplayPointer *pIEndAnchor) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FreezeVirtualCaretPos( 
            /* [in] */ BOOL fReCompute) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UnFreezeVirtualCaretPos( 
            /* [in] */ BOOL fReset) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLEditServices2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLEditServices2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLEditServices2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLEditServices2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *AddDesigner )( 
            __RPC__in IHTMLEditServices2 * This,
            /* [in] */ __RPC__in_opt IHTMLEditDesigner *pIDesigner);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveDesigner )( 
            __RPC__in IHTMLEditServices2 * This,
            /* [in] */ __RPC__in_opt IHTMLEditDesigner *pIDesigner);
        
        HRESULT ( STDMETHODCALLTYPE *GetSelectionServices )( 
            __RPC__in IHTMLEditServices2 * This,
            /* [in] */ __RPC__in_opt IMarkupContainer *pIContainer,
            /* [out] */ __RPC__deref_out_opt ISelectionServices **ppSelSvc);
        
        HRESULT ( STDMETHODCALLTYPE *MoveToSelectionAnchor )( 
            __RPC__in IHTMLEditServices2 * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIStartAnchor);
        
        HRESULT ( STDMETHODCALLTYPE *MoveToSelectionEnd )( 
            __RPC__in IHTMLEditServices2 * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pIEndAnchor);
        
        HRESULT ( STDMETHODCALLTYPE *SelectRange )( 
            __RPC__in IHTMLEditServices2 * This,
            /* [in] */ __RPC__in_opt IMarkupPointer *pStart,
            /* [in] */ __RPC__in_opt IMarkupPointer *pEnd,
            /* [in] */ SELECTION_TYPE eType);
        
        HRESULT ( STDMETHODCALLTYPE *MoveToSelectionAnchorEx )( 
            __RPC__in IHTMLEditServices2 * This,
            /* [in] */ __RPC__in_opt IDisplayPointer *pIStartAnchor);
        
        HRESULT ( STDMETHODCALLTYPE *MoveToSelectionEndEx )( 
            __RPC__in IHTMLEditServices2 * This,
            /* [in] */ __RPC__in_opt IDisplayPointer *pIEndAnchor);
        
        HRESULT ( STDMETHODCALLTYPE *FreezeVirtualCaretPos )( 
            __RPC__in IHTMLEditServices2 * This,
            /* [in] */ BOOL fReCompute);
        
        HRESULT ( STDMETHODCALLTYPE *UnFreezeVirtualCaretPos )( 
            __RPC__in IHTMLEditServices2 * This,
            /* [in] */ BOOL fReset);
        
        END_INTERFACE
    } IHTMLEditServices2Vtbl;

    interface IHTMLEditServices2
    {
        CONST_VTBL struct IHTMLEditServices2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLEditServices2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLEditServices2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLEditServices2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLEditServices2_AddDesigner(This,pIDesigner)	\
    ( (This)->lpVtbl -> AddDesigner(This,pIDesigner) ) 

#define IHTMLEditServices2_RemoveDesigner(This,pIDesigner)	\
    ( (This)->lpVtbl -> RemoveDesigner(This,pIDesigner) ) 

#define IHTMLEditServices2_GetSelectionServices(This,pIContainer,ppSelSvc)	\
    ( (This)->lpVtbl -> GetSelectionServices(This,pIContainer,ppSelSvc) ) 

#define IHTMLEditServices2_MoveToSelectionAnchor(This,pIStartAnchor)	\
    ( (This)->lpVtbl -> MoveToSelectionAnchor(This,pIStartAnchor) ) 

#define IHTMLEditServices2_MoveToSelectionEnd(This,pIEndAnchor)	\
    ( (This)->lpVtbl -> MoveToSelectionEnd(This,pIEndAnchor) ) 

#define IHTMLEditServices2_SelectRange(This,pStart,pEnd,eType)	\
    ( (This)->lpVtbl -> SelectRange(This,pStart,pEnd,eType) ) 


#define IHTMLEditServices2_MoveToSelectionAnchorEx(This,pIStartAnchor)	\
    ( (This)->lpVtbl -> MoveToSelectionAnchorEx(This,pIStartAnchor) ) 

#define IHTMLEditServices2_MoveToSelectionEndEx(This,pIEndAnchor)	\
    ( (This)->lpVtbl -> MoveToSelectionEndEx(This,pIEndAnchor) ) 

#define IHTMLEditServices2_FreezeVirtualCaretPos(This,fReCompute)	\
    ( (This)->lpVtbl -> FreezeVirtualCaretPos(This,fReCompute) ) 

#define IHTMLEditServices2_UnFreezeVirtualCaretPos(This,fReset)	\
    ( (This)->lpVtbl -> UnFreezeVirtualCaretPos(This,fReset) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLEditServices2_INTERFACE_DEFINED__ */


#ifndef __IHTMLComputedStyle_INTERFACE_DEFINED__
#define __IHTMLComputedStyle_INTERFACE_DEFINED__

/* interface IHTMLComputedStyle */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IHTMLComputedStyle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f6c3-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLComputedStyle : public IUnknown
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_bold( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_italic( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_underline( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_overline( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_strikeOut( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_subScript( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_superScript( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_explicitFace( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_fontWeight( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_fontSize( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_fontName( 
            /* [out][retval] */ __RPC__out TCHAR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_hasBgColor( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_textColor( 
            /* [out][retval] */ __RPC__out DWORD *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_backgroundColor( 
            /* [out][retval] */ __RPC__out DWORD *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_preFormatted( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_direction( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_blockDirection( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_OL( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsEqual( 
            /* [in] */ __RPC__in_opt IHTMLComputedStyle *pComputedStyle,
            /* [out] */ __RPC__out VARIANT_BOOL *pfEqual) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLComputedStyleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLComputedStyle * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLComputedStyle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLComputedStyle * This);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bold )( 
            __RPC__in IHTMLComputedStyle * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_italic )( 
            __RPC__in IHTMLComputedStyle * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_underline )( 
            __RPC__in IHTMLComputedStyle * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_overline )( 
            __RPC__in IHTMLComputedStyle * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_strikeOut )( 
            __RPC__in IHTMLComputedStyle * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_subScript )( 
            __RPC__in IHTMLComputedStyle * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_superScript )( 
            __RPC__in IHTMLComputedStyle * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_explicitFace )( 
            __RPC__in IHTMLComputedStyle * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontWeight )( 
            __RPC__in IHTMLComputedStyle * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontSize )( 
            __RPC__in IHTMLComputedStyle * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fontName )( 
            __RPC__in IHTMLComputedStyle * This,
            /* [out][retval] */ __RPC__out TCHAR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasBgColor )( 
            __RPC__in IHTMLComputedStyle * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textColor )( 
            __RPC__in IHTMLComputedStyle * This,
            /* [out][retval] */ __RPC__out DWORD *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backgroundColor )( 
            __RPC__in IHTMLComputedStyle * This,
            /* [out][retval] */ __RPC__out DWORD *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_preFormatted )( 
            __RPC__in IHTMLComputedStyle * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_direction )( 
            __RPC__in IHTMLComputedStyle * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_blockDirection )( 
            __RPC__in IHTMLComputedStyle * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OL )( 
            __RPC__in IHTMLComputedStyle * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        HRESULT ( STDMETHODCALLTYPE *IsEqual )( 
            __RPC__in IHTMLComputedStyle * This,
            /* [in] */ __RPC__in_opt IHTMLComputedStyle *pComputedStyle,
            /* [out] */ __RPC__out VARIANT_BOOL *pfEqual);
        
        END_INTERFACE
    } IHTMLComputedStyleVtbl;

    interface IHTMLComputedStyle
    {
        CONST_VTBL struct IHTMLComputedStyleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLComputedStyle_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLComputedStyle_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLComputedStyle_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLComputedStyle_get_bold(This,p)	\
    ( (This)->lpVtbl -> get_bold(This,p) ) 

#define IHTMLComputedStyle_get_italic(This,p)	\
    ( (This)->lpVtbl -> get_italic(This,p) ) 

#define IHTMLComputedStyle_get_underline(This,p)	\
    ( (This)->lpVtbl -> get_underline(This,p) ) 

#define IHTMLComputedStyle_get_overline(This,p)	\
    ( (This)->lpVtbl -> get_overline(This,p) ) 

#define IHTMLComputedStyle_get_strikeOut(This,p)	\
    ( (This)->lpVtbl -> get_strikeOut(This,p) ) 

#define IHTMLComputedStyle_get_subScript(This,p)	\
    ( (This)->lpVtbl -> get_subScript(This,p) ) 

#define IHTMLComputedStyle_get_superScript(This,p)	\
    ( (This)->lpVtbl -> get_superScript(This,p) ) 

#define IHTMLComputedStyle_get_explicitFace(This,p)	\
    ( (This)->lpVtbl -> get_explicitFace(This,p) ) 

#define IHTMLComputedStyle_get_fontWeight(This,p)	\
    ( (This)->lpVtbl -> get_fontWeight(This,p) ) 

#define IHTMLComputedStyle_get_fontSize(This,p)	\
    ( (This)->lpVtbl -> get_fontSize(This,p) ) 

#define IHTMLComputedStyle_get_fontName(This,p)	\
    ( (This)->lpVtbl -> get_fontName(This,p) ) 

#define IHTMLComputedStyle_get_hasBgColor(This,p)	\
    ( (This)->lpVtbl -> get_hasBgColor(This,p) ) 

#define IHTMLComputedStyle_get_textColor(This,p)	\
    ( (This)->lpVtbl -> get_textColor(This,p) ) 

#define IHTMLComputedStyle_get_backgroundColor(This,p)	\
    ( (This)->lpVtbl -> get_backgroundColor(This,p) ) 

#define IHTMLComputedStyle_get_preFormatted(This,p)	\
    ( (This)->lpVtbl -> get_preFormatted(This,p) ) 

#define IHTMLComputedStyle_get_direction(This,p)	\
    ( (This)->lpVtbl -> get_direction(This,p) ) 

#define IHTMLComputedStyle_get_blockDirection(This,p)	\
    ( (This)->lpVtbl -> get_blockDirection(This,p) ) 

#define IHTMLComputedStyle_get_OL(This,p)	\
    ( (This)->lpVtbl -> get_OL(This,p) ) 

#define IHTMLComputedStyle_IsEqual(This,pComputedStyle,pfEqual)	\
    ( (This)->lpVtbl -> IsEqual(This,pComputedStyle,pfEqual) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLComputedStyle_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HtmlDlgSafeHelper;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f819-98b5-11cf-bb82-00aa00bdce0b")
HtmlDlgSafeHelper;
#endif

EXTERN_C const CLSID CLSID_BlockFormats;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f831-98b5-11cf-bb82-00aa00bdce0b")
BlockFormats;
#endif

EXTERN_C const CLSID CLSID_FontNames;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f83a-98b5-11cf-bb82-00aa00bdce0b")
FontNames;
#endif

#ifndef __IDeveloperConsoleMessageReceiver_INTERFACE_DEFINED__
#define __IDeveloperConsoleMessageReceiver_INTERFACE_DEFINED__

/* interface IDeveloperConsoleMessageReceiver */
/* [local][unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDeveloperConsoleMessageReceiver;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510808-98b5-11cf-bb82-00aa00bdce0b")
    IDeveloperConsoleMessageReceiver : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Write( 
            /* [annotation][in] */ 
            _In_  LPCWSTR source,
            /* [annotation][in] */ 
            _In_  DEV_CONSOLE_MESSAGE_LEVEL level,
            /* [annotation][in] */ 
            _In_  int messageId,
            /* [annotation][in] */ 
            _In_  LPCWSTR messageText) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE WriteWithUrl( 
            /* [annotation][in] */ 
            _In_  LPCWSTR source,
            /* [annotation][in] */ 
            _In_  DEV_CONSOLE_MESSAGE_LEVEL level,
            /* [annotation][in] */ 
            _In_  int messageId,
            /* [annotation][in] */ 
            _In_  LPCWSTR messageText,
            /* [annotation][in] */ 
            _In_  LPCWSTR fileUrl) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE WriteWithUrlAndLine( 
            /* [annotation][in] */ 
            _In_  LPCWSTR source,
            /* [annotation][in] */ 
            _In_  DEV_CONSOLE_MESSAGE_LEVEL level,
            /* [annotation][in] */ 
            _In_  int messageId,
            /* [annotation][in] */ 
            _In_  LPCWSTR messageText,
            /* [annotation][in] */ 
            _In_  LPCWSTR fileUrl,
            /* [annotation][in] */ 
            _In_  ULONG line) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE WriteWithUrlLineAndColumn( 
            /* [annotation][in] */ 
            _In_  LPCWSTR source,
            /* [annotation][in] */ 
            _In_  DEV_CONSOLE_MESSAGE_LEVEL level,
            /* [annotation][in] */ 
            _In_  int messageId,
            /* [annotation][in] */ 
            _In_  LPCWSTR messageText,
            /* [annotation][in] */ 
            _In_  LPCWSTR fileUrl,
            /* [annotation][in] */ 
            _In_  ULONG line,
            /* [annotation][in] */ 
            _In_  ULONG column) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDeveloperConsoleMessageReceiverVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDeveloperConsoleMessageReceiver * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDeveloperConsoleMessageReceiver * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDeveloperConsoleMessageReceiver * This);
        
        HRESULT ( STDMETHODCALLTYPE *Write )( 
            IDeveloperConsoleMessageReceiver * This,
            /* [annotation][in] */ 
            _In_  LPCWSTR source,
            /* [annotation][in] */ 
            _In_  DEV_CONSOLE_MESSAGE_LEVEL level,
            /* [annotation][in] */ 
            _In_  int messageId,
            /* [annotation][in] */ 
            _In_  LPCWSTR messageText);
        
        HRESULT ( STDMETHODCALLTYPE *WriteWithUrl )( 
            IDeveloperConsoleMessageReceiver * This,
            /* [annotation][in] */ 
            _In_  LPCWSTR source,
            /* [annotation][in] */ 
            _In_  DEV_CONSOLE_MESSAGE_LEVEL level,
            /* [annotation][in] */ 
            _In_  int messageId,
            /* [annotation][in] */ 
            _In_  LPCWSTR messageText,
            /* [annotation][in] */ 
            _In_  LPCWSTR fileUrl);
        
        HRESULT ( STDMETHODCALLTYPE *WriteWithUrlAndLine )( 
            IDeveloperConsoleMessageReceiver * This,
            /* [annotation][in] */ 
            _In_  LPCWSTR source,
            /* [annotation][in] */ 
            _In_  DEV_CONSOLE_MESSAGE_LEVEL level,
            /* [annotation][in] */ 
            _In_  int messageId,
            /* [annotation][in] */ 
            _In_  LPCWSTR messageText,
            /* [annotation][in] */ 
            _In_  LPCWSTR fileUrl,
            /* [annotation][in] */ 
            _In_  ULONG line);
        
        HRESULT ( STDMETHODCALLTYPE *WriteWithUrlLineAndColumn )( 
            IDeveloperConsoleMessageReceiver * This,
            /* [annotation][in] */ 
            _In_  LPCWSTR source,
            /* [annotation][in] */ 
            _In_  DEV_CONSOLE_MESSAGE_LEVEL level,
            /* [annotation][in] */ 
            _In_  int messageId,
            /* [annotation][in] */ 
            _In_  LPCWSTR messageText,
            /* [annotation][in] */ 
            _In_  LPCWSTR fileUrl,
            /* [annotation][in] */ 
            _In_  ULONG line,
            /* [annotation][in] */ 
            _In_  ULONG column);
        
        END_INTERFACE
    } IDeveloperConsoleMessageReceiverVtbl;

    interface IDeveloperConsoleMessageReceiver
    {
        CONST_VTBL struct IDeveloperConsoleMessageReceiverVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDeveloperConsoleMessageReceiver_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDeveloperConsoleMessageReceiver_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDeveloperConsoleMessageReceiver_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDeveloperConsoleMessageReceiver_Write(This,source,level,messageId,messageText)	\
    ( (This)->lpVtbl -> Write(This,source,level,messageId,messageText) ) 

#define IDeveloperConsoleMessageReceiver_WriteWithUrl(This,source,level,messageId,messageText,fileUrl)	\
    ( (This)->lpVtbl -> WriteWithUrl(This,source,level,messageId,messageText,fileUrl) ) 

#define IDeveloperConsoleMessageReceiver_WriteWithUrlAndLine(This,source,level,messageId,messageText,fileUrl,line)	\
    ( (This)->lpVtbl -> WriteWithUrlAndLine(This,source,level,messageId,messageText,fileUrl,line) ) 

#define IDeveloperConsoleMessageReceiver_WriteWithUrlLineAndColumn(This,source,level,messageId,messageText,fileUrl,line,column)	\
    ( (This)->lpVtbl -> WriteWithUrlLineAndColumn(This,source,level,messageId,messageText,fileUrl,line,column) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDeveloperConsoleMessageReceiver_INTERFACE_DEFINED__ */


#ifndef __IScriptEventHandler_INTERFACE_DEFINED__
#define __IScriptEventHandler_INTERFACE_DEFINED__

/* interface IScriptEventHandler */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IScriptEventHandler;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051083a-98b5-11cf-bb82-00aa00bdce0b")
    IScriptEventHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE FunctionName( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrFunctionName) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DebugDocumentContext( 
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **ppDebugDocumentContext) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EventHandlerDispatch( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppDispHandler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UsesCapture( 
            /* [out][retval] */ __RPC__out BOOL *pfUsesCapture) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Cookie( 
            /* [out][retval] */ __RPC__out ULONGLONG *pullCookie) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IScriptEventHandlerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IScriptEventHandler * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IScriptEventHandler * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IScriptEventHandler * This);
        
        HRESULT ( STDMETHODCALLTYPE *FunctionName )( 
            __RPC__in IScriptEventHandler * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *pbstrFunctionName);
        
        HRESULT ( STDMETHODCALLTYPE *DebugDocumentContext )( 
            __RPC__in IScriptEventHandler * This,
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **ppDebugDocumentContext);
        
        HRESULT ( STDMETHODCALLTYPE *EventHandlerDispatch )( 
            __RPC__in IScriptEventHandler * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppDispHandler);
        
        HRESULT ( STDMETHODCALLTYPE *UsesCapture )( 
            __RPC__in IScriptEventHandler * This,
            /* [out][retval] */ __RPC__out BOOL *pfUsesCapture);
        
        HRESULT ( STDMETHODCALLTYPE *Cookie )( 
            __RPC__in IScriptEventHandler * This,
            /* [out][retval] */ __RPC__out ULONGLONG *pullCookie);
        
        END_INTERFACE
    } IScriptEventHandlerVtbl;

    interface IScriptEventHandler
    {
        CONST_VTBL struct IScriptEventHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IScriptEventHandler_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IScriptEventHandler_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IScriptEventHandler_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IScriptEventHandler_FunctionName(This,pbstrFunctionName)	\
    ( (This)->lpVtbl -> FunctionName(This,pbstrFunctionName) ) 

#define IScriptEventHandler_DebugDocumentContext(This,ppDebugDocumentContext)	\
    ( (This)->lpVtbl -> DebugDocumentContext(This,ppDebugDocumentContext) ) 

#define IScriptEventHandler_EventHandlerDispatch(This,ppDispHandler)	\
    ( (This)->lpVtbl -> EventHandlerDispatch(This,ppDispHandler) ) 

#define IScriptEventHandler_UsesCapture(This,pfUsesCapture)	\
    ( (This)->lpVtbl -> UsesCapture(This,pfUsesCapture) ) 

#define IScriptEventHandler_Cookie(This,pullCookie)	\
    ( (This)->lpVtbl -> Cookie(This,pullCookie) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IScriptEventHandler_INTERFACE_DEFINED__ */


#ifndef __IDebugCallbackNotificationHandler_INTERFACE_DEFINED__
#define __IDebugCallbackNotificationHandler_INTERFACE_DEFINED__

/* interface IDebugCallbackNotificationHandler */
/* [local][unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IDebugCallbackNotificationHandler;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510842-98b5-11cf-bb82-00aa00bdce0b")
    IDebugCallbackNotificationHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE RequestedCallbackTypes( 
            /* [annotation][out] */ 
            _Out_  DWORD *pCallbackMask) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE BeforeDispatchEvent( 
            /* [annotation][in] */ 
            _In_  IUnknown *pEvent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DispatchEventComplete( 
            /* [annotation][in] */ 
            _In_  IUnknown *pEvent,
            /* [in] */ DWORD propagationStatus) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE BeforeInvokeDomCallback( 
            /* [annotation][in] */ 
            _In_  IUnknown *pEvent,
            /* [annotation][in] */ 
            _In_  IScriptEventHandler *pCallback,
            /* [in] */ DOM_EVENT_PHASE eStage,
            /* [in] */ DWORD propagationStatus) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InvokeDomCallbackComplete( 
            /* [annotation][in] */ 
            _In_  IUnknown *pEvent,
            /* [annotation][in] */ 
            _In_  IScriptEventHandler *pCallback,
            /* [in] */ DOM_EVENT_PHASE eStage,
            /* [in] */ DWORD propagationStatus) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE BeforeInvokeCallback( 
            /* [in] */ SCRIPT_TIMER_TYPE eCallbackType,
            /* [in] */ DWORD callbackCookie,
            /* [annotation][in] */ 
            _In_  IDispatch *pDispHandler,
            /* [annotation][in] */ 
            _In_  ULONGLONG ullHandlerCookie,
            /* [annotation][in] */ 
            _In_opt_  BSTR functionName,
            /* [annotation][in] */ 
            _In_  UINT32 line,
            /* [annotation][in] */ 
            _In_  UINT32 column,
            /* [annotation][in] */ 
            _In_  UINT32 cchLength,
            /* [annotation][in] */ 
            _In_opt_  IUnknown *pDebugDocumentContext) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InvokeCallbackComplete( 
            /* [in] */ SCRIPT_TIMER_TYPE eCallbackType,
            /* [in] */ DWORD callbackCookie,
            /* [annotation][in] */ 
            _In_  IDispatch *pDispHandler,
            /* [annotation][in] */ 
            _In_  ULONGLONG ullHandlerCookie,
            /* [annotation][in] */ 
            _In_opt_  BSTR functionName,
            /* [annotation][in] */ 
            _In_  UINT32 line,
            /* [annotation][in] */ 
            _In_  UINT32 column,
            /* [annotation][in] */ 
            _In_  UINT32 cchLength,
            /* [annotation][in] */ 
            _In_opt_  IUnknown *pDebugDocumentContext) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDebugCallbackNotificationHandlerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDebugCallbackNotificationHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDebugCallbackNotificationHandler * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDebugCallbackNotificationHandler * This);
        
        HRESULT ( STDMETHODCALLTYPE *RequestedCallbackTypes )( 
            IDebugCallbackNotificationHandler * This,
            /* [annotation][out] */ 
            _Out_  DWORD *pCallbackMask);
        
        HRESULT ( STDMETHODCALLTYPE *BeforeDispatchEvent )( 
            IDebugCallbackNotificationHandler * This,
            /* [annotation][in] */ 
            _In_  IUnknown *pEvent);
        
        HRESULT ( STDMETHODCALLTYPE *DispatchEventComplete )( 
            IDebugCallbackNotificationHandler * This,
            /* [annotation][in] */ 
            _In_  IUnknown *pEvent,
            /* [in] */ DWORD propagationStatus);
        
        HRESULT ( STDMETHODCALLTYPE *BeforeInvokeDomCallback )( 
            IDebugCallbackNotificationHandler * This,
            /* [annotation][in] */ 
            _In_  IUnknown *pEvent,
            /* [annotation][in] */ 
            _In_  IScriptEventHandler *pCallback,
            /* [in] */ DOM_EVENT_PHASE eStage,
            /* [in] */ DWORD propagationStatus);
        
        HRESULT ( STDMETHODCALLTYPE *InvokeDomCallbackComplete )( 
            IDebugCallbackNotificationHandler * This,
            /* [annotation][in] */ 
            _In_  IUnknown *pEvent,
            /* [annotation][in] */ 
            _In_  IScriptEventHandler *pCallback,
            /* [in] */ DOM_EVENT_PHASE eStage,
            /* [in] */ DWORD propagationStatus);
        
        HRESULT ( STDMETHODCALLTYPE *BeforeInvokeCallback )( 
            IDebugCallbackNotificationHandler * This,
            /* [in] */ SCRIPT_TIMER_TYPE eCallbackType,
            /* [in] */ DWORD callbackCookie,
            /* [annotation][in] */ 
            _In_  IDispatch *pDispHandler,
            /* [annotation][in] */ 
            _In_  ULONGLONG ullHandlerCookie,
            /* [annotation][in] */ 
            _In_opt_  BSTR functionName,
            /* [annotation][in] */ 
            _In_  UINT32 line,
            /* [annotation][in] */ 
            _In_  UINT32 column,
            /* [annotation][in] */ 
            _In_  UINT32 cchLength,
            /* [annotation][in] */ 
            _In_opt_  IUnknown *pDebugDocumentContext);
        
        HRESULT ( STDMETHODCALLTYPE *InvokeCallbackComplete )( 
            IDebugCallbackNotificationHandler * This,
            /* [in] */ SCRIPT_TIMER_TYPE eCallbackType,
            /* [in] */ DWORD callbackCookie,
            /* [annotation][in] */ 
            _In_  IDispatch *pDispHandler,
            /* [annotation][in] */ 
            _In_  ULONGLONG ullHandlerCookie,
            /* [annotation][in] */ 
            _In_opt_  BSTR functionName,
            /* [annotation][in] */ 
            _In_  UINT32 line,
            /* [annotation][in] */ 
            _In_  UINT32 column,
            /* [annotation][in] */ 
            _In_  UINT32 cchLength,
            /* [annotation][in] */ 
            _In_opt_  IUnknown *pDebugDocumentContext);
        
        END_INTERFACE
    } IDebugCallbackNotificationHandlerVtbl;

    interface IDebugCallbackNotificationHandler
    {
        CONST_VTBL struct IDebugCallbackNotificationHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDebugCallbackNotificationHandler_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDebugCallbackNotificationHandler_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDebugCallbackNotificationHandler_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDebugCallbackNotificationHandler_RequestedCallbackTypes(This,pCallbackMask)	\
    ( (This)->lpVtbl -> RequestedCallbackTypes(This,pCallbackMask) ) 

#define IDebugCallbackNotificationHandler_BeforeDispatchEvent(This,pEvent)	\
    ( (This)->lpVtbl -> BeforeDispatchEvent(This,pEvent) ) 

#define IDebugCallbackNotificationHandler_DispatchEventComplete(This,pEvent,propagationStatus)	\
    ( (This)->lpVtbl -> DispatchEventComplete(This,pEvent,propagationStatus) ) 

#define IDebugCallbackNotificationHandler_BeforeInvokeDomCallback(This,pEvent,pCallback,eStage,propagationStatus)	\
    ( (This)->lpVtbl -> BeforeInvokeDomCallback(This,pEvent,pCallback,eStage,propagationStatus) ) 

#define IDebugCallbackNotificationHandler_InvokeDomCallbackComplete(This,pEvent,pCallback,eStage,propagationStatus)	\
    ( (This)->lpVtbl -> InvokeDomCallbackComplete(This,pEvent,pCallback,eStage,propagationStatus) ) 

#define IDebugCallbackNotificationHandler_BeforeInvokeCallback(This,eCallbackType,callbackCookie,pDispHandler,ullHandlerCookie,functionName,line,column,cchLength,pDebugDocumentContext)	\
    ( (This)->lpVtbl -> BeforeInvokeCallback(This,eCallbackType,callbackCookie,pDispHandler,ullHandlerCookie,functionName,line,column,cchLength,pDebugDocumentContext) ) 

#define IDebugCallbackNotificationHandler_InvokeCallbackComplete(This,eCallbackType,callbackCookie,pDispHandler,ullHandlerCookie,functionName,line,column,cchLength,pDebugDocumentContext)	\
    ( (This)->lpVtbl -> InvokeCallbackComplete(This,eCallbackType,callbackCookie,pDispHandler,ullHandlerCookie,functionName,line,column,cchLength,pDebugDocumentContext) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDebugCallbackNotificationHandler_INTERFACE_DEFINED__ */


#ifndef __IScriptEventHandlerSourceInfo_INTERFACE_DEFINED__
#define __IScriptEventHandlerSourceInfo_INTERFACE_DEFINED__

/* interface IScriptEventHandlerSourceInfo */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IScriptEventHandlerSourceInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510841-98b5-11cf-bb82-00aa00bdce0b")
    IScriptEventHandlerSourceInfo : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetSourceInfo( 
            /* [out] */ __RPC__deref_out_opt BSTR *pbstrFunctionName,
            /* [out] */ __RPC__out UINT32 *line,
            /* [out] */ __RPC__out UINT32 *column,
            /* [out] */ __RPC__out UINT32 *cchLength) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IScriptEventHandlerSourceInfoVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IScriptEventHandlerSourceInfo * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IScriptEventHandlerSourceInfo * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IScriptEventHandlerSourceInfo * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetSourceInfo )( 
            __RPC__in IScriptEventHandlerSourceInfo * This,
            /* [out] */ __RPC__deref_out_opt BSTR *pbstrFunctionName,
            /* [out] */ __RPC__out UINT32 *line,
            /* [out] */ __RPC__out UINT32 *column,
            /* [out] */ __RPC__out UINT32 *cchLength);
        
        END_INTERFACE
    } IScriptEventHandlerSourceInfoVtbl;

    interface IScriptEventHandlerSourceInfo
    {
        CONST_VTBL struct IScriptEventHandlerSourceInfoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IScriptEventHandlerSourceInfo_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IScriptEventHandlerSourceInfo_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IScriptEventHandlerSourceInfo_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IScriptEventHandlerSourceInfo_GetSourceInfo(This,pbstrFunctionName,line,column,cchLength)	\
    ( (This)->lpVtbl -> GetSourceInfo(This,pbstrFunctionName,line,column,cchLength) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IScriptEventHandlerSourceInfo_INTERFACE_DEFINED__ */


#ifndef __IDOMEventRegistrationCallback_INTERFACE_DEFINED__
#define __IDOMEventRegistrationCallback_INTERFACE_DEFINED__

/* interface IDOMEventRegistrationCallback */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IDOMEventRegistrationCallback;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051083b-98b5-11cf-bb82-00aa00bdce0b")
    IDOMEventRegistrationCallback : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE OnDOMEventListenerAdded( 
            /* [in] */ __RPC__in LPCWSTR pszEventType,
            /* [in] */ __RPC__in_opt IScriptEventHandler *pHandler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnDOMEventListenerRemoved( 
            /* [in] */ ULONGLONG ullCookie) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDOMEventRegistrationCallbackVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IDOMEventRegistrationCallback * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IDOMEventRegistrationCallback * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IDOMEventRegistrationCallback * This);
        
        HRESULT ( STDMETHODCALLTYPE *OnDOMEventListenerAdded )( 
            __RPC__in IDOMEventRegistrationCallback * This,
            /* [in] */ __RPC__in LPCWSTR pszEventType,
            /* [in] */ __RPC__in_opt IScriptEventHandler *pHandler);
        
        HRESULT ( STDMETHODCALLTYPE *OnDOMEventListenerRemoved )( 
            __RPC__in IDOMEventRegistrationCallback * This,
            /* [in] */ ULONGLONG ullCookie);
        
        END_INTERFACE
    } IDOMEventRegistrationCallbackVtbl;

    interface IDOMEventRegistrationCallback
    {
        CONST_VTBL struct IDOMEventRegistrationCallbackVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDOMEventRegistrationCallback_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDOMEventRegistrationCallback_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDOMEventRegistrationCallback_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDOMEventRegistrationCallback_OnDOMEventListenerAdded(This,pszEventType,pHandler)	\
    ( (This)->lpVtbl -> OnDOMEventListenerAdded(This,pszEventType,pHandler) ) 

#define IDOMEventRegistrationCallback_OnDOMEventListenerRemoved(This,ullCookie)	\
    ( (This)->lpVtbl -> OnDOMEventListenerRemoved(This,ullCookie) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDOMEventRegistrationCallback_INTERFACE_DEFINED__ */


#ifndef __IEventTarget2_INTERFACE_DEFINED__
#define __IEventTarget2_INTERFACE_DEFINED__

/* interface IEventTarget2 */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IEventTarget2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510839-98b5-11cf-bb82-00aa00bdce0b")
    IEventTarget2 : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetRegisteredEventTypes( 
            /* [out][retval] */ __RPC__deref_out_opt SAFEARRAY **ppEventTypeArray) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetListenersForType( 
            /* [in] */ __RPC__in LPCWSTR pszEventType,
            /* [out][retval] */ __RPC__deref_out_opt SAFEARRAY **ppEventHandlerArray) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RegisterForDOMEventListeners( 
            /* [in] */ __RPC__in_opt IDOMEventRegistrationCallback *pCallback) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UnregisterForDOMEventListeners( 
            /* [in] */ __RPC__in_opt IDOMEventRegistrationCallback *pCallback) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IEventTarget2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IEventTarget2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IEventTarget2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IEventTarget2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetRegisteredEventTypes )( 
            __RPC__in IEventTarget2 * This,
            /* [out][retval] */ __RPC__deref_out_opt SAFEARRAY **ppEventTypeArray);
        
        HRESULT ( STDMETHODCALLTYPE *GetListenersForType )( 
            __RPC__in IEventTarget2 * This,
            /* [in] */ __RPC__in LPCWSTR pszEventType,
            /* [out][retval] */ __RPC__deref_out_opt SAFEARRAY **ppEventHandlerArray);
        
        HRESULT ( STDMETHODCALLTYPE *RegisterForDOMEventListeners )( 
            __RPC__in IEventTarget2 * This,
            /* [in] */ __RPC__in_opt IDOMEventRegistrationCallback *pCallback);
        
        HRESULT ( STDMETHODCALLTYPE *UnregisterForDOMEventListeners )( 
            __RPC__in IEventTarget2 * This,
            /* [in] */ __RPC__in_opt IDOMEventRegistrationCallback *pCallback);
        
        END_INTERFACE
    } IEventTarget2Vtbl;

    interface IEventTarget2
    {
        CONST_VTBL struct IEventTarget2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IEventTarget2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IEventTarget2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IEventTarget2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IEventTarget2_GetRegisteredEventTypes(This,ppEventTypeArray)	\
    ( (This)->lpVtbl -> GetRegisteredEventTypes(This,ppEventTypeArray) ) 

#define IEventTarget2_GetListenersForType(This,pszEventType,ppEventHandlerArray)	\
    ( (This)->lpVtbl -> GetListenersForType(This,pszEventType,ppEventHandlerArray) ) 

#define IEventTarget2_RegisterForDOMEventListeners(This,pCallback)	\
    ( (This)->lpVtbl -> RegisterForDOMEventListeners(This,pCallback) ) 

#define IEventTarget2_UnregisterForDOMEventListeners(This,pCallback)	\
    ( (This)->lpVtbl -> UnregisterForDOMEventListeners(This,pCallback) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IEventTarget2_INTERFACE_DEFINED__ */


#ifndef __HTMLNamespaceEvents_DISPINTERFACE_DEFINED__
#define __HTMLNamespaceEvents_DISPINTERFACE_DEFINED__

/* dispinterface HTMLNamespaceEvents */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_HTMLNamespaceEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f6bd-98b5-11cf-bb82-00aa00bdce0b")
    HTMLNamespaceEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct HTMLNamespaceEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in HTMLNamespaceEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in HTMLNamespaceEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in HTMLNamespaceEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in HTMLNamespaceEvents * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in HTMLNamespaceEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in HTMLNamespaceEvents * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLNamespaceEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } HTMLNamespaceEventsVtbl;

    interface HTMLNamespaceEvents
    {
        CONST_VTBL struct HTMLNamespaceEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define HTMLNamespaceEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define HTMLNamespaceEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define HTMLNamespaceEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define HTMLNamespaceEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define HTMLNamespaceEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define HTMLNamespaceEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define HTMLNamespaceEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __HTMLNamespaceEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IHTMLNamespace_INTERFACE_DEFINED__
#define __IHTMLNamespace_INTERFACE_DEFINED__

/* interface IHTMLNamespace */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLNamespace;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f6bb-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLNamespace : public IDispatch
    {
    public:
        virtual /* [bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_urn( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_tagNames( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_readyState( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_onreadystatechange( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_onreadystatechange( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE doImport( 
            /* [in] */ __RPC__in BSTR bstrImplementationUrl) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE attachEvent( 
            /* [in] */ __RPC__in BSTR event,
            /* [in] */ __RPC__in_opt IDispatch *pDisp,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfResult) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE detachEvent( 
            /* [in] */ __RPC__in BSTR event,
            /* [in] */ __RPC__in_opt IDispatch *pDisp) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLNamespaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLNamespace * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLNamespace * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLNamespace * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLNamespace * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLNamespace * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLNamespace * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLNamespace * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            __RPC__in IHTMLNamespace * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_urn )( 
            __RPC__in IHTMLNamespace * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_tagNames )( 
            __RPC__in IHTMLNamespace * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_readyState )( 
            __RPC__in IHTMLNamespace * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][displaybind][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onreadystatechange )( 
            __RPC__in IHTMLNamespace * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][displaybind][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_onreadystatechange )( 
            __RPC__in IHTMLNamespace * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *doImport )( 
            __RPC__in IHTMLNamespace * This,
            /* [in] */ __RPC__in BSTR bstrImplementationUrl);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *attachEvent )( 
            __RPC__in IHTMLNamespace * This,
            /* [in] */ __RPC__in BSTR event,
            /* [in] */ __RPC__in_opt IDispatch *pDisp,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *pfResult);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *detachEvent )( 
            __RPC__in IHTMLNamespace * This,
            /* [in] */ __RPC__in BSTR event,
            /* [in] */ __RPC__in_opt IDispatch *pDisp);
        
        END_INTERFACE
    } IHTMLNamespaceVtbl;

    interface IHTMLNamespace
    {
        CONST_VTBL struct IHTMLNamespaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLNamespace_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLNamespace_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLNamespace_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLNamespace_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLNamespace_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLNamespace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLNamespace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLNamespace_get_name(This,p)	\
    ( (This)->lpVtbl -> get_name(This,p) ) 

#define IHTMLNamespace_get_urn(This,p)	\
    ( (This)->lpVtbl -> get_urn(This,p) ) 

#define IHTMLNamespace_get_tagNames(This,p)	\
    ( (This)->lpVtbl -> get_tagNames(This,p) ) 

#define IHTMLNamespace_get_readyState(This,p)	\
    ( (This)->lpVtbl -> get_readyState(This,p) ) 

#define IHTMLNamespace_put_onreadystatechange(This,v)	\
    ( (This)->lpVtbl -> put_onreadystatechange(This,v) ) 

#define IHTMLNamespace_get_onreadystatechange(This,p)	\
    ( (This)->lpVtbl -> get_onreadystatechange(This,p) ) 

#define IHTMLNamespace_doImport(This,bstrImplementationUrl)	\
    ( (This)->lpVtbl -> doImport(This,bstrImplementationUrl) ) 

#define IHTMLNamespace_attachEvent(This,event,pDisp,pfResult)	\
    ( (This)->lpVtbl -> attachEvent(This,event,pDisp,pfResult) ) 

#define IHTMLNamespace_detachEvent(This,event,pDisp)	\
    ( (This)->lpVtbl -> detachEvent(This,event,pDisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLNamespace_INTERFACE_DEFINED__ */


#ifndef __IHTMLNamespaceCollection_INTERFACE_DEFINED__
#define __IHTMLNamespaceCollection_INTERFACE_DEFINED__

/* interface IHTMLNamespaceCollection */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLNamespaceCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f6b8-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLNamespaceCollection : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ VARIANT index,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppNamespace) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE add( 
            /* [in] */ __RPC__in BSTR bstrNamespace,
            /* [in] */ __RPC__in BSTR bstrUrn,
            /* [in][optional] */ VARIANT implementationUrl,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppNamespace) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLNamespaceCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLNamespaceCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLNamespaceCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLNamespaceCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLNamespaceCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLNamespaceCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLNamespaceCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLNamespaceCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLNamespaceCollection * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLNamespaceCollection * This,
            /* [in] */ VARIANT index,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppNamespace);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *add )( 
            __RPC__in IHTMLNamespaceCollection * This,
            /* [in] */ __RPC__in BSTR bstrNamespace,
            /* [in] */ __RPC__in BSTR bstrUrn,
            /* [in][optional] */ VARIANT implementationUrl,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **ppNamespace);
        
        END_INTERFACE
    } IHTMLNamespaceCollectionVtbl;

    interface IHTMLNamespaceCollection
    {
        CONST_VTBL struct IHTMLNamespaceCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLNamespaceCollection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLNamespaceCollection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLNamespaceCollection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLNamespaceCollection_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLNamespaceCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLNamespaceCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLNamespaceCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLNamespaceCollection_get_length(This,p)	\
    ( (This)->lpVtbl -> get_length(This,p) ) 

#define IHTMLNamespaceCollection_item(This,index,ppNamespace)	\
    ( (This)->lpVtbl -> item(This,index,ppNamespace) ) 

#define IHTMLNamespaceCollection_add(This,bstrNamespace,bstrUrn,implementationUrl,ppNamespace)	\
    ( (This)->lpVtbl -> add(This,bstrNamespace,bstrUrn,implementationUrl,ppNamespace) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLNamespaceCollection_INTERFACE_DEFINED__ */


#ifndef __DispHTMLNamespace_DISPINTERFACE_DEFINED__
#define __DispHTMLNamespace_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLNamespace */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLNamespace;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f54f-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLNamespace : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLNamespaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLNamespace * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLNamespace * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLNamespace * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLNamespace * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLNamespace * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLNamespace * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLNamespace * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLNamespaceVtbl;

    interface DispHTMLNamespace
    {
        CONST_VTBL struct DispHTMLNamespaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLNamespace_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLNamespace_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLNamespace_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLNamespace_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLNamespace_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLNamespace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLNamespace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLNamespace_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLNamespace;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f6bc-98b5-11cf-bb82-00aa00bdce0b")
HTMLNamespace;
#endif

#ifndef __DispHTMLNamespaceCollection_DISPINTERFACE_DEFINED__
#define __DispHTMLNamespaceCollection_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLNamespaceCollection */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLNamespaceCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f550-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLNamespaceCollection : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLNamespaceCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLNamespaceCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLNamespaceCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLNamespaceCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLNamespaceCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLNamespaceCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLNamespaceCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLNamespaceCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLNamespaceCollectionVtbl;

    interface DispHTMLNamespaceCollection
    {
        CONST_VTBL struct DispHTMLNamespaceCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLNamespaceCollection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLNamespaceCollection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLNamespaceCollection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLNamespaceCollection_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLNamespaceCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLNamespaceCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLNamespaceCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLNamespaceCollection_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLNamespaceCollection;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f6b9-98b5-11cf-bb82-00aa00bdce0b")
HTMLNamespaceCollection;
#endif

#ifndef __IHTMLPainter_INTERFACE_DEFINED__
#define __IHTMLPainter_INTERFACE_DEFINED__

/* interface IHTMLPainter */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IHTMLPainter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f6a6-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLPainter : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Draw( 
            /* [in] */ RECT rcBounds,
            /* [in] */ RECT rcUpdate,
            /* [in] */ LONG lDrawFlags,
            /* [in] */ __RPC__in HDC hdc,
            /* [in] */ __RPC__in LPVOID pvDrawObject) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnResize( 
            /* [in] */ SIZE size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetPainterInfo( 
            /* [out] */ __RPC__out HTML_PAINTER_INFO *pInfo) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE HitTestPoint( 
            /* [in] */ POINT pt,
            /* [out] */ __RPC__out BOOL *pbHit,
            /* [out] */ __RPC__out LONG *plPartID) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLPainterVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLPainter * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLPainter * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLPainter * This);
        
        HRESULT ( STDMETHODCALLTYPE *Draw )( 
            __RPC__in IHTMLPainter * This,
            /* [in] */ RECT rcBounds,
            /* [in] */ RECT rcUpdate,
            /* [in] */ LONG lDrawFlags,
            /* [in] */ __RPC__in HDC hdc,
            /* [in] */ __RPC__in LPVOID pvDrawObject);
        
        HRESULT ( STDMETHODCALLTYPE *OnResize )( 
            __RPC__in IHTMLPainter * This,
            /* [in] */ SIZE size);
        
        HRESULT ( STDMETHODCALLTYPE *GetPainterInfo )( 
            __RPC__in IHTMLPainter * This,
            /* [out] */ __RPC__out HTML_PAINTER_INFO *pInfo);
        
        HRESULT ( STDMETHODCALLTYPE *HitTestPoint )( 
            __RPC__in IHTMLPainter * This,
            /* [in] */ POINT pt,
            /* [out] */ __RPC__out BOOL *pbHit,
            /* [out] */ __RPC__out LONG *plPartID);
        
        END_INTERFACE
    } IHTMLPainterVtbl;

    interface IHTMLPainter
    {
        CONST_VTBL struct IHTMLPainterVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLPainter_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLPainter_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLPainter_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLPainter_Draw(This,rcBounds,rcUpdate,lDrawFlags,hdc,pvDrawObject)	\
    ( (This)->lpVtbl -> Draw(This,rcBounds,rcUpdate,lDrawFlags,hdc,pvDrawObject) ) 

#define IHTMLPainter_OnResize(This,size)	\
    ( (This)->lpVtbl -> OnResize(This,size) ) 

#define IHTMLPainter_GetPainterInfo(This,pInfo)	\
    ( (This)->lpVtbl -> GetPainterInfo(This,pInfo) ) 

#define IHTMLPainter_HitTestPoint(This,pt,pbHit,plPartID)	\
    ( (This)->lpVtbl -> HitTestPoint(This,pt,pbHit,plPartID) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLPainter_INTERFACE_DEFINED__ */


#ifndef __IHTMLPaintSite_INTERFACE_DEFINED__
#define __IHTMLPaintSite_INTERFACE_DEFINED__

/* interface IHTMLPaintSite */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IHTMLPaintSite;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f6a7-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLPaintSite : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE InvalidatePainterInfo( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InvalidateRect( 
            /* [in] */ __RPC__in RECT *prcInvalid) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InvalidateRegion( 
            /* [in] */ __RPC__in HRGN rgnInvalid) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetDrawInfo( 
            /* [in] */ LONG lFlags,
            /* [out] */ __RPC__out HTML_PAINT_DRAW_INFO *pDrawInfo) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE TransformGlobalToLocal( 
            /* [in] */ POINT ptGlobal,
            /* [out] */ __RPC__out POINT *pptLocal) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE TransformLocalToGlobal( 
            /* [in] */ POINT ptLocal,
            /* [out] */ __RPC__out POINT *pptGlobal) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetHitTestCookie( 
            /* [out] */ __RPC__out LONG *plCookie) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLPaintSiteVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLPaintSite * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLPaintSite * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLPaintSite * This);
        
        HRESULT ( STDMETHODCALLTYPE *InvalidatePainterInfo )( 
            __RPC__in IHTMLPaintSite * This);
        
        HRESULT ( STDMETHODCALLTYPE *InvalidateRect )( 
            __RPC__in IHTMLPaintSite * This,
            /* [in] */ __RPC__in RECT *prcInvalid);
        
        HRESULT ( STDMETHODCALLTYPE *InvalidateRegion )( 
            __RPC__in IHTMLPaintSite * This,
            /* [in] */ __RPC__in HRGN rgnInvalid);
        
        HRESULT ( STDMETHODCALLTYPE *GetDrawInfo )( 
            __RPC__in IHTMLPaintSite * This,
            /* [in] */ LONG lFlags,
            /* [out] */ __RPC__out HTML_PAINT_DRAW_INFO *pDrawInfo);
        
        HRESULT ( STDMETHODCALLTYPE *TransformGlobalToLocal )( 
            __RPC__in IHTMLPaintSite * This,
            /* [in] */ POINT ptGlobal,
            /* [out] */ __RPC__out POINT *pptLocal);
        
        HRESULT ( STDMETHODCALLTYPE *TransformLocalToGlobal )( 
            __RPC__in IHTMLPaintSite * This,
            /* [in] */ POINT ptLocal,
            /* [out] */ __RPC__out POINT *pptGlobal);
        
        HRESULT ( STDMETHODCALLTYPE *GetHitTestCookie )( 
            __RPC__in IHTMLPaintSite * This,
            /* [out] */ __RPC__out LONG *plCookie);
        
        END_INTERFACE
    } IHTMLPaintSiteVtbl;

    interface IHTMLPaintSite
    {
        CONST_VTBL struct IHTMLPaintSiteVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLPaintSite_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLPaintSite_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLPaintSite_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLPaintSite_InvalidatePainterInfo(This)	\
    ( (This)->lpVtbl -> InvalidatePainterInfo(This) ) 

#define IHTMLPaintSite_InvalidateRect(This,prcInvalid)	\
    ( (This)->lpVtbl -> InvalidateRect(This,prcInvalid) ) 

#define IHTMLPaintSite_InvalidateRegion(This,rgnInvalid)	\
    ( (This)->lpVtbl -> InvalidateRegion(This,rgnInvalid) ) 

#define IHTMLPaintSite_GetDrawInfo(This,lFlags,pDrawInfo)	\
    ( (This)->lpVtbl -> GetDrawInfo(This,lFlags,pDrawInfo) ) 

#define IHTMLPaintSite_TransformGlobalToLocal(This,ptGlobal,pptLocal)	\
    ( (This)->lpVtbl -> TransformGlobalToLocal(This,ptGlobal,pptLocal) ) 

#define IHTMLPaintSite_TransformLocalToGlobal(This,ptLocal,pptGlobal)	\
    ( (This)->lpVtbl -> TransformLocalToGlobal(This,ptLocal,pptGlobal) ) 

#define IHTMLPaintSite_GetHitTestCookie(This,plCookie)	\
    ( (This)->lpVtbl -> GetHitTestCookie(This,plCookie) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLPaintSite_INTERFACE_DEFINED__ */


#ifndef __IHTMLPainterEventInfo_INTERFACE_DEFINED__
#define __IHTMLPainterEventInfo_INTERFACE_DEFINED__

/* interface IHTMLPainterEventInfo */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IHTMLPainterEventInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f6df-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLPainterEventInfo : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetEventInfoFlags( 
            /* [out] */ __RPC__out long *plEventInfoFlags) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetEventTarget( 
            /* [in] */ __RPC__deref_in_opt IHTMLElement **ppElement) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetCursor( 
            /* [in] */ LONG lPartID) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE StringFromPartID( 
            /* [in] */ LONG lPartID,
            /* [out] */ __RPC__deref_out_opt BSTR *pbstrPart) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLPainterEventInfoVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLPainterEventInfo * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLPainterEventInfo * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLPainterEventInfo * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetEventInfoFlags )( 
            __RPC__in IHTMLPainterEventInfo * This,
            /* [out] */ __RPC__out long *plEventInfoFlags);
        
        HRESULT ( STDMETHODCALLTYPE *GetEventTarget )( 
            __RPC__in IHTMLPainterEventInfo * This,
            /* [in] */ __RPC__deref_in_opt IHTMLElement **ppElement);
        
        HRESULT ( STDMETHODCALLTYPE *SetCursor )( 
            __RPC__in IHTMLPainterEventInfo * This,
            /* [in] */ LONG lPartID);
        
        HRESULT ( STDMETHODCALLTYPE *StringFromPartID )( 
            __RPC__in IHTMLPainterEventInfo * This,
            /* [in] */ LONG lPartID,
            /* [out] */ __RPC__deref_out_opt BSTR *pbstrPart);
        
        END_INTERFACE
    } IHTMLPainterEventInfoVtbl;

    interface IHTMLPainterEventInfo
    {
        CONST_VTBL struct IHTMLPainterEventInfoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLPainterEventInfo_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLPainterEventInfo_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLPainterEventInfo_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLPainterEventInfo_GetEventInfoFlags(This,plEventInfoFlags)	\
    ( (This)->lpVtbl -> GetEventInfoFlags(This,plEventInfoFlags) ) 

#define IHTMLPainterEventInfo_GetEventTarget(This,ppElement)	\
    ( (This)->lpVtbl -> GetEventTarget(This,ppElement) ) 

#define IHTMLPainterEventInfo_SetCursor(This,lPartID)	\
    ( (This)->lpVtbl -> SetCursor(This,lPartID) ) 

#define IHTMLPainterEventInfo_StringFromPartID(This,lPartID,pbstrPart)	\
    ( (This)->lpVtbl -> StringFromPartID(This,lPartID,pbstrPart) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLPainterEventInfo_INTERFACE_DEFINED__ */


#ifndef __IHTMLPainterOverlay_INTERFACE_DEFINED__
#define __IHTMLPainterOverlay_INTERFACE_DEFINED__

/* interface IHTMLPainterOverlay */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IHTMLPainterOverlay;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f7e3-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLPainterOverlay : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE OnMove( 
            /* [in] */ RECT rcDevice) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLPainterOverlayVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLPainterOverlay * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLPainterOverlay * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLPainterOverlay * This);
        
        HRESULT ( STDMETHODCALLTYPE *OnMove )( 
            __RPC__in IHTMLPainterOverlay * This,
            /* [in] */ RECT rcDevice);
        
        END_INTERFACE
    } IHTMLPainterOverlayVtbl;

    interface IHTMLPainterOverlay
    {
        CONST_VTBL struct IHTMLPainterOverlayVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLPainterOverlay_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLPainterOverlay_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLPainterOverlay_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLPainterOverlay_OnMove(This,rcDevice)	\
    ( (This)->lpVtbl -> OnMove(This,rcDevice) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLPainterOverlay_INTERFACE_DEFINED__ */


#ifndef __IHTMLIPrintCollection_INTERFACE_DEFINED__
#define __IHTMLIPrintCollection_INTERFACE_DEFINED__

/* interface IHTMLIPrintCollection */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLIPrintCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f6b5-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLIPrintCollection : public IDispatch
    {
    public:
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ __RPC__out long *p) = 0;
        
        virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__newEnum( 
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE item( 
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **ppIPrint) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLIPrintCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLIPrintCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLIPrintCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLIPrintCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLIPrintCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLIPrintCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLIPrintCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLIPrintCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            __RPC__in IHTMLIPrintCollection * This,
            /* [out][retval] */ __RPC__out long *p);
        
        /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__newEnum )( 
            __RPC__in IHTMLIPrintCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *item )( 
            __RPC__in IHTMLIPrintCollection * This,
            /* [in] */ long index,
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **ppIPrint);
        
        END_INTERFACE
    } IHTMLIPrintCollectionVtbl;

    interface IHTMLIPrintCollection
    {
        CONST_VTBL struct IHTMLIPrintCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLIPrintCollection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLIPrintCollection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLIPrintCollection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLIPrintCollection_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLIPrintCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLIPrintCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLIPrintCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLIPrintCollection_get_length(This,p)	\
    ( (This)->lpVtbl -> get_length(This,p) ) 

#define IHTMLIPrintCollection_get__newEnum(This,p)	\
    ( (This)->lpVtbl -> get__newEnum(This,p) ) 

#define IHTMLIPrintCollection_item(This,index,ppIPrint)	\
    ( (This)->lpVtbl -> item(This,index,ppIPrint) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLIPrintCollection_INTERFACE_DEFINED__ */


#ifndef __IEnumPrivacyRecords_INTERFACE_DEFINED__
#define __IEnumPrivacyRecords_INTERFACE_DEFINED__

/* interface IEnumPrivacyRecords */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IEnumPrivacyRecords;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f844-98b5-11cf-bb82-00aa00bdce0b")
    IEnumPrivacyRecords : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetSize( 
            /* [out] */ __RPC__out ULONG *pSize) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetPrivacyImpacted( 
            /* [out] */ __RPC__out BOOL *pState) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Next( 
            /* [out] */ __RPC__deref_out_opt BSTR *pbstrUrl,
            /* [out] */ __RPC__deref_out_opt BSTR *pbstrPolicyRef,
            /* [out] */ __RPC__out LONG *pdwReserved,
            /* [out] */ __RPC__out DWORD *pdwPrivacyFlags) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IEnumPrivacyRecordsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IEnumPrivacyRecords * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IEnumPrivacyRecords * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IEnumPrivacyRecords * This);
        
        HRESULT ( STDMETHODCALLTYPE *Reset )( 
            __RPC__in IEnumPrivacyRecords * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetSize )( 
            __RPC__in IEnumPrivacyRecords * This,
            /* [out] */ __RPC__out ULONG *pSize);
        
        HRESULT ( STDMETHODCALLTYPE *GetPrivacyImpacted )( 
            __RPC__in IEnumPrivacyRecords * This,
            /* [out] */ __RPC__out BOOL *pState);
        
        HRESULT ( STDMETHODCALLTYPE *Next )( 
            __RPC__in IEnumPrivacyRecords * This,
            /* [out] */ __RPC__deref_out_opt BSTR *pbstrUrl,
            /* [out] */ __RPC__deref_out_opt BSTR *pbstrPolicyRef,
            /* [out] */ __RPC__out LONG *pdwReserved,
            /* [out] */ __RPC__out DWORD *pdwPrivacyFlags);
        
        END_INTERFACE
    } IEnumPrivacyRecordsVtbl;

    interface IEnumPrivacyRecords
    {
        CONST_VTBL struct IEnumPrivacyRecordsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IEnumPrivacyRecords_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IEnumPrivacyRecords_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IEnumPrivacyRecords_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IEnumPrivacyRecords_Reset(This)	\
    ( (This)->lpVtbl -> Reset(This) ) 

#define IEnumPrivacyRecords_GetSize(This,pSize)	\
    ( (This)->lpVtbl -> GetSize(This,pSize) ) 

#define IEnumPrivacyRecords_GetPrivacyImpacted(This,pState)	\
    ( (This)->lpVtbl -> GetPrivacyImpacted(This,pState) ) 

#define IEnumPrivacyRecords_Next(This,pbstrUrl,pbstrPolicyRef,pdwReserved,pdwPrivacyFlags)	\
    ( (This)->lpVtbl -> Next(This,pbstrUrl,pbstrPolicyRef,pdwReserved,pdwPrivacyFlags) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IEnumPrivacyRecords_INTERFACE_DEFINED__ */


#ifndef __IWPCBlockedUrls_INTERFACE_DEFINED__
#define __IWPCBlockedUrls_INTERFACE_DEFINED__

/* interface IWPCBlockedUrls */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IWPCBlockedUrls;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510413-98b5-11cf-bb82-00aa00bdce0b")
    IWPCBlockedUrls : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetCount( 
            /* [out] */ __RPC__out DWORD *pdwCount) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetUrl( 
            /* [in] */ DWORD dwIdx,
            /* [out] */ __RPC__deref_out_opt BSTR *pbstrUrl) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IWPCBlockedUrlsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IWPCBlockedUrls * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IWPCBlockedUrls * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IWPCBlockedUrls * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetCount )( 
            __RPC__in IWPCBlockedUrls * This,
            /* [out] */ __RPC__out DWORD *pdwCount);
        
        HRESULT ( STDMETHODCALLTYPE *GetUrl )( 
            __RPC__in IWPCBlockedUrls * This,
            /* [in] */ DWORD dwIdx,
            /* [out] */ __RPC__deref_out_opt BSTR *pbstrUrl);
        
        END_INTERFACE
    } IWPCBlockedUrlsVtbl;

    interface IWPCBlockedUrls
    {
        CONST_VTBL struct IWPCBlockedUrlsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IWPCBlockedUrls_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IWPCBlockedUrls_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IWPCBlockedUrls_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IWPCBlockedUrls_GetCount(This,pdwCount)	\
    ( (This)->lpVtbl -> GetCount(This,pdwCount) ) 

#define IWPCBlockedUrls_GetUrl(This,dwIdx,pbstrUrl)	\
    ( (This)->lpVtbl -> GetUrl(This,dwIdx,pbstrUrl) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IWPCBlockedUrls_INTERFACE_DEFINED__ */


#ifndef __IHTMLDOMConstructorCollection_INTERFACE_DEFINED__
#define __IHTMLDOMConstructorCollection_INTERFACE_DEFINED__

/* interface IHTMLDOMConstructorCollection */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDOMConstructorCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3051049c-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDOMConstructorCollection : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Attr( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_BehaviorUrnsCollection( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_BookmarkCollection( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_CompatibleInfo( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_CompatibleInfoCollection( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ControlRangeCollection( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_CSSCurrentStyleDeclaration( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_CSSRuleList( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_CSSRuleStyleDeclaration( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_CSSStyleDeclaration( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_CSSStyleRule( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_CSSStyleSheet( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_DataTransfer( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_DOMImplementation( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Element( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Event( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_History( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTCElementBehaviorDefaults( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLAnchorElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLAreaElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLAreasCollection( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLBaseElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLBaseFontElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLBGSoundElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLBlockElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLBodyElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLBRElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLButtonElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLCollection( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLCommentElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLDDElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLDivElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLDocument( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLDListElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLDTElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLEmbedElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLFieldSetElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLFontElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLFormElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLFrameElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLFrameSetElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLGenericElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLHeadElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLHeadingElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLHRElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLHtmlElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLIFrameElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLImageElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLInputElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLIsIndexElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLLabelElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLLegendElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLLIElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLLinkElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLMapElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLMarqueeElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLMetaElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLModelessDialog( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLNamespaceInfo( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLNamespaceInfoCollection( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLNextIdElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLNoShowElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLObjectElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLOListElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLOptionElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLParagraphElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLParamElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLPhraseElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLPluginsCollection( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLPopup( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLScriptElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLSelectElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLSpanElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLStyleElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLTableCaptionElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLTableCellElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLTableColElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLTableElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLTableRowElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLTableSectionElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLTextAreaElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLTextElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLTitleElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLUListElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_HTMLUnknownElement( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Image( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Location( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_NamedNodeMap( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Navigator( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_NodeList( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Option( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Screen( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Selection( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_StaticNodeList( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Storage( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_StyleSheetList( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_StyleSheetPage( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_StyleSheetPageList( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Text( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_TextRange( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_TextRangeCollection( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_TextRectangle( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_TextRectangleList( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Window( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_XDomainRequest( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_XMLHttpRequest( 
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDOMConstructorCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDOMConstructorCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDOMConstructorCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDOMConstructorCollection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attr )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BehaviorUrnsCollection )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BookmarkCollection )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CompatibleInfo )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CompatibleInfoCollection )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ControlRangeCollection )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CSSCurrentStyleDeclaration )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CSSRuleList )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CSSRuleStyleDeclaration )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CSSStyleDeclaration )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CSSStyleRule )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CSSStyleSheet )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DataTransfer )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DOMImplementation )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Element )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Event )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_History )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTCElementBehaviorDefaults )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLAnchorElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLAreaElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLAreasCollection )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLBaseElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLBaseFontElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLBGSoundElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLBlockElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLBodyElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLBRElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLButtonElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLCollection )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLCommentElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLDDElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLDivElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLDocument )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLDListElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLDTElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLEmbedElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLFieldSetElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLFontElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLFormElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLFrameElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLFrameSetElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLGenericElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLHeadElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLHeadingElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLHRElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLHtmlElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLIFrameElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLImageElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLInputElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLIsIndexElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLLabelElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLLegendElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLLIElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLLinkElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLMapElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLMarqueeElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLMetaElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLModelessDialog )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLNamespaceInfo )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLNamespaceInfoCollection )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLNextIdElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLNoShowElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLObjectElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLOListElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLOptionElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLParagraphElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLParamElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLPhraseElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLPluginsCollection )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLPopup )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLScriptElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLSelectElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLSpanElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLStyleElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLTableCaptionElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLTableCellElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLTableColElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLTableElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLTableRowElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLTableSectionElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLTextAreaElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLTextElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLTitleElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLUListElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLUnknownElement )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Image )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Location )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NamedNodeMap )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Navigator )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NodeList )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Option )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Screen )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Selection )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StaticNodeList )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Storage )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StyleSheetList )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StyleSheetPage )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StyleSheetPageList )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Text )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextRange )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextRangeCollection )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextRectangle )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextRectangleList )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Window )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_XDomainRequest )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_XMLHttpRequest )( 
            __RPC__in IHTMLDOMConstructorCollection * This,
            /* [out][retval] */ __RPC__deref_out_opt IDispatch **p);
        
        END_INTERFACE
    } IHTMLDOMConstructorCollectionVtbl;

    interface IHTMLDOMConstructorCollection
    {
        CONST_VTBL struct IHTMLDOMConstructorCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#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) ) 


#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) ) 


#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) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDOMConstructorCollection_INTERFACE_DEFINED__ */


#ifndef __IHTMLDialog_INTERFACE_DEFINED__
#define __IHTMLDialog_INTERFACE_DEFINED__

/* interface IHTMLDialog */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDialog;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f216-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDialog : public IDispatch
    {
    public:
        virtual /* [bindable][id][propput] */ HRESULT STDMETHODCALLTYPE put_dialogTop( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_dialogTop( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][id][propput] */ HRESULT STDMETHODCALLTYPE put_dialogLeft( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_dialogLeft( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][id][propput] */ HRESULT STDMETHODCALLTYPE put_dialogWidth( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_dialogWidth( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [bindable][id][propput] */ HRESULT STDMETHODCALLTYPE put_dialogHeight( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [bindable][id][propget] */ HRESULT STDMETHODCALLTYPE get_dialogHeight( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_dialogArguments( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_menuArguments( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_returnValue( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_returnValue( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE close( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE toString( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *String) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDialogVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDialog * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDialog * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDialog * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDialog * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDialog * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDialog * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDialog * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [bindable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_dialogTop )( 
            __RPC__in IHTMLDialog * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dialogTop )( 
            __RPC__in IHTMLDialog * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_dialogLeft )( 
            __RPC__in IHTMLDialog * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dialogLeft )( 
            __RPC__in IHTMLDialog * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_dialogWidth )( 
            __RPC__in IHTMLDialog * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dialogWidth )( 
            __RPC__in IHTMLDialog * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [bindable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_dialogHeight )( 
            __RPC__in IHTMLDialog * This,
            /* [in] */ VARIANT v);
        
        /* [bindable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dialogHeight )( 
            __RPC__in IHTMLDialog * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dialogArguments )( 
            __RPC__in IHTMLDialog * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_menuArguments )( 
            __RPC__in IHTMLDialog * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_returnValue )( 
            __RPC__in IHTMLDialog * This,
            /* [in] */ VARIANT v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_returnValue )( 
            __RPC__in IHTMLDialog * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *close )( 
            __RPC__in IHTMLDialog * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *toString )( 
            __RPC__in IHTMLDialog * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *String);
        
        END_INTERFACE
    } IHTMLDialogVtbl;

    interface IHTMLDialog
    {
        CONST_VTBL struct IHTMLDialogVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLDialog_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLDialog_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLDialog_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLDialog_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLDialog_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLDialog_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLDialog_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLDialog_put_dialogTop(This,v)	\
    ( (This)->lpVtbl -> put_dialogTop(This,v) ) 

#define IHTMLDialog_get_dialogTop(This,p)	\
    ( (This)->lpVtbl -> get_dialogTop(This,p) ) 

#define IHTMLDialog_put_dialogLeft(This,v)	\
    ( (This)->lpVtbl -> put_dialogLeft(This,v) ) 

#define IHTMLDialog_get_dialogLeft(This,p)	\
    ( (This)->lpVtbl -> get_dialogLeft(This,p) ) 

#define IHTMLDialog_put_dialogWidth(This,v)	\
    ( (This)->lpVtbl -> put_dialogWidth(This,v) ) 

#define IHTMLDialog_get_dialogWidth(This,p)	\
    ( (This)->lpVtbl -> get_dialogWidth(This,p) ) 

#define IHTMLDialog_put_dialogHeight(This,v)	\
    ( (This)->lpVtbl -> put_dialogHeight(This,v) ) 

#define IHTMLDialog_get_dialogHeight(This,p)	\
    ( (This)->lpVtbl -> get_dialogHeight(This,p) ) 

#define IHTMLDialog_get_dialogArguments(This,p)	\
    ( (This)->lpVtbl -> get_dialogArguments(This,p) ) 

#define IHTMLDialog_get_menuArguments(This,p)	\
    ( (This)->lpVtbl -> get_menuArguments(This,p) ) 

#define IHTMLDialog_put_returnValue(This,v)	\
    ( (This)->lpVtbl -> put_returnValue(This,v) ) 

#define IHTMLDialog_get_returnValue(This,p)	\
    ( (This)->lpVtbl -> get_returnValue(This,p) ) 

#define IHTMLDialog_close(This)	\
    ( (This)->lpVtbl -> close(This) ) 

#define IHTMLDialog_toString(This,String)	\
    ( (This)->lpVtbl -> toString(This,String) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDialog_INTERFACE_DEFINED__ */


#ifndef __IHTMLDialog2_INTERFACE_DEFINED__
#define __IHTMLDialog2_INTERFACE_DEFINED__

/* interface IHTMLDialog2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDialog2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f5e0-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDialog2 : public IDispatch
    {
    public:
        virtual /* [hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_status( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_status( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_resizable( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_resizable( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDialog2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDialog2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDialog2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDialog2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDialog2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDialog2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDialog2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDialog2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_status )( 
            __RPC__in IHTMLDialog2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 
            __RPC__in IHTMLDialog2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_resizable )( 
            __RPC__in IHTMLDialog2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_resizable )( 
            __RPC__in IHTMLDialog2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLDialog2Vtbl;

    interface IHTMLDialog2
    {
        CONST_VTBL struct IHTMLDialog2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLDialog2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLDialog2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLDialog2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLDialog2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLDialog2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLDialog2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLDialog2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLDialog2_put_status(This,v)	\
    ( (This)->lpVtbl -> put_status(This,v) ) 

#define IHTMLDialog2_get_status(This,p)	\
    ( (This)->lpVtbl -> get_status(This,p) ) 

#define IHTMLDialog2_put_resizable(This,v)	\
    ( (This)->lpVtbl -> put_resizable(This,v) ) 

#define IHTMLDialog2_get_resizable(This,p)	\
    ( (This)->lpVtbl -> get_resizable(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDialog2_INTERFACE_DEFINED__ */


#ifndef __IHTMLDialog3_INTERFACE_DEFINED__
#define __IHTMLDialog3_INTERFACE_DEFINED__

/* interface IHTMLDialog3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLDialog3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f388-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLDialog3 : public IDispatch
    {
    public:
        virtual /* [hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_unadorned( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_unadorned( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_dialogHide( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_dialogHide( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLDialog3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLDialog3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLDialog3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLDialog3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLDialog3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLDialog3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLDialog3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLDialog3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_unadorned )( 
            __RPC__in IHTMLDialog3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unadorned )( 
            __RPC__in IHTMLDialog3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_dialogHide )( 
            __RPC__in IHTMLDialog3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dialogHide )( 
            __RPC__in IHTMLDialog3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLDialog3Vtbl;

    interface IHTMLDialog3
    {
        CONST_VTBL struct IHTMLDialog3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLDialog3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLDialog3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLDialog3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLDialog3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLDialog3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLDialog3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLDialog3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLDialog3_put_unadorned(This,v)	\
    ( (This)->lpVtbl -> put_unadorned(This,v) ) 

#define IHTMLDialog3_get_unadorned(This,p)	\
    ( (This)->lpVtbl -> get_unadorned(This,p) ) 

#define IHTMLDialog3_put_dialogHide(This,v)	\
    ( (This)->lpVtbl -> put_dialogHide(This,v) ) 

#define IHTMLDialog3_get_dialogHide(This,p)	\
    ( (This)->lpVtbl -> get_dialogHide(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLDialog3_INTERFACE_DEFINED__ */


#ifndef __IHTMLModelessInit_INTERFACE_DEFINED__
#define __IHTMLModelessInit_INTERFACE_DEFINED__

/* interface IHTMLModelessInit */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLModelessInit;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f5e4-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLModelessInit : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_parameters( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_optionString( 
            /* [out][retval] */ __RPC__out VARIANT *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_moniker( 
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_document( 
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLModelessInitVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLModelessInit * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLModelessInit * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLModelessInit * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLModelessInit * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLModelessInit * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLModelessInit * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLModelessInit * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_parameters )( 
            __RPC__in IHTMLModelessInit * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_optionString )( 
            __RPC__in IHTMLModelessInit * This,
            /* [out][retval] */ __RPC__out VARIANT *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_moniker )( 
            __RPC__in IHTMLModelessInit * This,
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_document )( 
            __RPC__in IHTMLModelessInit * This,
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **p);
        
        END_INTERFACE
    } IHTMLModelessInitVtbl;

    interface IHTMLModelessInit
    {
        CONST_VTBL struct IHTMLModelessInitVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLModelessInit_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLModelessInit_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLModelessInit_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLModelessInit_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLModelessInit_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLModelessInit_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLModelessInit_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLModelessInit_get_parameters(This,p)	\
    ( (This)->lpVtbl -> get_parameters(This,p) ) 

#define IHTMLModelessInit_get_optionString(This,p)	\
    ( (This)->lpVtbl -> get_optionString(This,p) ) 

#define IHTMLModelessInit_get_moniker(This,p)	\
    ( (This)->lpVtbl -> get_moniker(This,p) ) 

#define IHTMLModelessInit_get_document(This,p)	\
    ( (This)->lpVtbl -> get_document(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLModelessInit_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_ThreadDialogProcParam;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f5eb-98b5-11cf-bb82-00aa00bdce0b")
ThreadDialogProcParam;
#endif

EXTERN_C const CLSID CLSID_HTMLDialog;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f28a-98b5-11cf-bb82-00aa00bdce0b")
HTMLDialog;
#endif

#ifndef __IHTMLPopup_INTERFACE_DEFINED__
#define __IHTMLPopup_INTERFACE_DEFINED__

/* interface IHTMLPopup */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLPopup;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f666-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLPopup : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE show( 
            /* [in] */ long x,
            /* [in] */ long y,
            /* [in] */ long w,
            /* [in] */ long h,
            /* [in] */ __RPC__in VARIANT *pElement) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE hide( void) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_document( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDocument **p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_isOpen( 
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLPopupVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLPopup * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLPopup * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLPopup * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLPopup * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLPopup * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLPopup * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLPopup * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *show )( 
            __RPC__in IHTMLPopup * This,
            /* [in] */ long x,
            /* [in] */ long y,
            /* [in] */ long w,
            /* [in] */ long h,
            /* [in] */ __RPC__in VARIANT *pElement);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *hide )( 
            __RPC__in IHTMLPopup * This);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_document )( 
            __RPC__in IHTMLPopup * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLDocument **p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isOpen )( 
            __RPC__in IHTMLPopup * This,
            /* [out][retval] */ __RPC__out VARIANT_BOOL *p);
        
        END_INTERFACE
    } IHTMLPopupVtbl;

    interface IHTMLPopup
    {
        CONST_VTBL struct IHTMLPopupVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLPopup_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLPopup_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLPopup_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLPopup_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLPopup_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLPopup_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLPopup_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLPopup_show(This,x,y,w,h,pElement)	\
    ( (This)->lpVtbl -> show(This,x,y,w,h,pElement) ) 

#define IHTMLPopup_hide(This)	\
    ( (This)->lpVtbl -> hide(This) ) 

#define IHTMLPopup_get_document(This,p)	\
    ( (This)->lpVtbl -> get_document(This,p) ) 

#define IHTMLPopup_get_isOpen(This,p)	\
    ( (This)->lpVtbl -> get_isOpen(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLPopup_INTERFACE_DEFINED__ */


#ifndef __DispHTMLPopup_DISPINTERFACE_DEFINED__
#define __DispHTMLPopup_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLPopup */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLPopup;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f589-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLPopup : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLPopupVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLPopup * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLPopup * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLPopup * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLPopup * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLPopup * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLPopup * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLPopup * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLPopupVtbl;

    interface DispHTMLPopup
    {
        CONST_VTBL struct DispHTMLPopupVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLPopup_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLPopup_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLPopup_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLPopup_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLPopup_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLPopup_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLPopup_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLPopup_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLPopup;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f667-98b5-11cf-bb82-00aa00bdce0b")
HTMLPopup;
#endif

#ifndef __IHTMLAppBehavior_INTERFACE_DEFINED__
#define __IHTMLAppBehavior_INTERFACE_DEFINED__

/* interface IHTMLAppBehavior */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLAppBehavior;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f5ca-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLAppBehavior : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_applicationName( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_applicationName( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_version( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_version( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_icon( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_icon( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_singleInstance( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_singleInstance( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_minimizeButton( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_minimizeButton( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_maximizeButton( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_maximizeButton( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_border( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_border( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_borderStyle( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_borderStyle( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_sysMenu( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_sysMenu( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_caption( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_caption( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_windowState( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_windowState( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_showInTaskBar( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_showInTaskBar( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_commandLine( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLAppBehaviorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLAppBehavior * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLAppBehavior * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLAppBehavior * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_applicationName )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_applicationName )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_version )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_icon )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_icon )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_singleInstance )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_singleInstance )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_minimizeButton )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_minimizeButton )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_maximizeButton )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_maximizeButton )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_border )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_border )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_borderStyle )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_borderStyle )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_sysMenu )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sysMenu )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_caption )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_caption )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_windowState )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_windowState )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_showInTaskBar )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_showInTaskBar )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_commandLine )( 
            __RPC__in IHTMLAppBehavior * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLAppBehaviorVtbl;

    interface IHTMLAppBehavior
    {
        CONST_VTBL struct IHTMLAppBehaviorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLAppBehavior_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLAppBehavior_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLAppBehavior_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLAppBehavior_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLAppBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLAppBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLAppBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLAppBehavior_put_applicationName(This,v)	\
    ( (This)->lpVtbl -> put_applicationName(This,v) ) 

#define IHTMLAppBehavior_get_applicationName(This,p)	\
    ( (This)->lpVtbl -> get_applicationName(This,p) ) 

#define IHTMLAppBehavior_put_version(This,v)	\
    ( (This)->lpVtbl -> put_version(This,v) ) 

#define IHTMLAppBehavior_get_version(This,p)	\
    ( (This)->lpVtbl -> get_version(This,p) ) 

#define IHTMLAppBehavior_put_icon(This,v)	\
    ( (This)->lpVtbl -> put_icon(This,v) ) 

#define IHTMLAppBehavior_get_icon(This,p)	\
    ( (This)->lpVtbl -> get_icon(This,p) ) 

#define IHTMLAppBehavior_put_singleInstance(This,v)	\
    ( (This)->lpVtbl -> put_singleInstance(This,v) ) 

#define IHTMLAppBehavior_get_singleInstance(This,p)	\
    ( (This)->lpVtbl -> get_singleInstance(This,p) ) 

#define IHTMLAppBehavior_put_minimizeButton(This,v)	\
    ( (This)->lpVtbl -> put_minimizeButton(This,v) ) 

#define IHTMLAppBehavior_get_minimizeButton(This,p)	\
    ( (This)->lpVtbl -> get_minimizeButton(This,p) ) 

#define IHTMLAppBehavior_put_maximizeButton(This,v)	\
    ( (This)->lpVtbl -> put_maximizeButton(This,v) ) 

#define IHTMLAppBehavior_get_maximizeButton(This,p)	\
    ( (This)->lpVtbl -> get_maximizeButton(This,p) ) 

#define IHTMLAppBehavior_put_border(This,v)	\
    ( (This)->lpVtbl -> put_border(This,v) ) 

#define IHTMLAppBehavior_get_border(This,p)	\
    ( (This)->lpVtbl -> get_border(This,p) ) 

#define IHTMLAppBehavior_put_borderStyle(This,v)	\
    ( (This)->lpVtbl -> put_borderStyle(This,v) ) 

#define IHTMLAppBehavior_get_borderStyle(This,p)	\
    ( (This)->lpVtbl -> get_borderStyle(This,p) ) 

#define IHTMLAppBehavior_put_sysMenu(This,v)	\
    ( (This)->lpVtbl -> put_sysMenu(This,v) ) 

#define IHTMLAppBehavior_get_sysMenu(This,p)	\
    ( (This)->lpVtbl -> get_sysMenu(This,p) ) 

#define IHTMLAppBehavior_put_caption(This,v)	\
    ( (This)->lpVtbl -> put_caption(This,v) ) 

#define IHTMLAppBehavior_get_caption(This,p)	\
    ( (This)->lpVtbl -> get_caption(This,p) ) 

#define IHTMLAppBehavior_put_windowState(This,v)	\
    ( (This)->lpVtbl -> put_windowState(This,v) ) 

#define IHTMLAppBehavior_get_windowState(This,p)	\
    ( (This)->lpVtbl -> get_windowState(This,p) ) 

#define IHTMLAppBehavior_put_showInTaskBar(This,v)	\
    ( (This)->lpVtbl -> put_showInTaskBar(This,v) ) 

#define IHTMLAppBehavior_get_showInTaskBar(This,p)	\
    ( (This)->lpVtbl -> get_showInTaskBar(This,p) ) 

#define IHTMLAppBehavior_get_commandLine(This,p)	\
    ( (This)->lpVtbl -> get_commandLine(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLAppBehavior_INTERFACE_DEFINED__ */


#ifndef __IHTMLAppBehavior2_INTERFACE_DEFINED__
#define __IHTMLAppBehavior2_INTERFACE_DEFINED__

/* interface IHTMLAppBehavior2 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLAppBehavior2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f5c9-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLAppBehavior2 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_contextMenu( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_contextMenu( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_innerBorder( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_innerBorder( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_scroll( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_scroll( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_scrollFlat( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_scrollFlat( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_selection( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_selection( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLAppBehavior2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLAppBehavior2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLAppBehavior2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLAppBehavior2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLAppBehavior2 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLAppBehavior2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLAppBehavior2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLAppBehavior2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_contextMenu )( 
            __RPC__in IHTMLAppBehavior2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_contextMenu )( 
            __RPC__in IHTMLAppBehavior2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_innerBorder )( 
            __RPC__in IHTMLAppBehavior2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_innerBorder )( 
            __RPC__in IHTMLAppBehavior2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scroll )( 
            __RPC__in IHTMLAppBehavior2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scroll )( 
            __RPC__in IHTMLAppBehavior2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_scrollFlat )( 
            __RPC__in IHTMLAppBehavior2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scrollFlat )( 
            __RPC__in IHTMLAppBehavior2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_selection )( 
            __RPC__in IHTMLAppBehavior2 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )( 
            __RPC__in IHTMLAppBehavior2 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLAppBehavior2Vtbl;

    interface IHTMLAppBehavior2
    {
        CONST_VTBL struct IHTMLAppBehavior2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLAppBehavior2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLAppBehavior2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLAppBehavior2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLAppBehavior2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLAppBehavior2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLAppBehavior2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLAppBehavior2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLAppBehavior2_put_contextMenu(This,v)	\
    ( (This)->lpVtbl -> put_contextMenu(This,v) ) 

#define IHTMLAppBehavior2_get_contextMenu(This,p)	\
    ( (This)->lpVtbl -> get_contextMenu(This,p) ) 

#define IHTMLAppBehavior2_put_innerBorder(This,v)	\
    ( (This)->lpVtbl -> put_innerBorder(This,v) ) 

#define IHTMLAppBehavior2_get_innerBorder(This,p)	\
    ( (This)->lpVtbl -> get_innerBorder(This,p) ) 

#define IHTMLAppBehavior2_put_scroll(This,v)	\
    ( (This)->lpVtbl -> put_scroll(This,v) ) 

#define IHTMLAppBehavior2_get_scroll(This,p)	\
    ( (This)->lpVtbl -> get_scroll(This,p) ) 

#define IHTMLAppBehavior2_put_scrollFlat(This,v)	\
    ( (This)->lpVtbl -> put_scrollFlat(This,v) ) 

#define IHTMLAppBehavior2_get_scrollFlat(This,p)	\
    ( (This)->lpVtbl -> get_scrollFlat(This,p) ) 

#define IHTMLAppBehavior2_put_selection(This,v)	\
    ( (This)->lpVtbl -> put_selection(This,v) ) 

#define IHTMLAppBehavior2_get_selection(This,p)	\
    ( (This)->lpVtbl -> get_selection(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLAppBehavior2_INTERFACE_DEFINED__ */


#ifndef __IHTMLAppBehavior3_INTERFACE_DEFINED__
#define __IHTMLAppBehavior3_INTERFACE_DEFINED__

/* interface IHTMLAppBehavior3 */
/* [object][uuid][dual][oleautomation] */ 


EXTERN_C const IID IID_IHTMLAppBehavior3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f5cd-98b5-11cf-bb82-00aa00bdce0b")
    IHTMLAppBehavior3 : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_navigable( 
            /* [in] */ __RPC__in BSTR v) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_navigable( 
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHTMLAppBehavior3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHTMLAppBehavior3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHTMLAppBehavior3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHTMLAppBehavior3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in IHTMLAppBehavior3 * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in IHTMLAppBehavior3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in IHTMLAppBehavior3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHTMLAppBehavior3 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_navigable )( 
            __RPC__in IHTMLAppBehavior3 * This,
            /* [in] */ __RPC__in BSTR v);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_navigable )( 
            __RPC__in IHTMLAppBehavior3 * This,
            /* [out][retval] */ __RPC__deref_out_opt BSTR *p);
        
        END_INTERFACE
    } IHTMLAppBehavior3Vtbl;

    interface IHTMLAppBehavior3
    {
        CONST_VTBL struct IHTMLAppBehavior3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHTMLAppBehavior3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHTMLAppBehavior3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHTMLAppBehavior3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHTMLAppBehavior3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHTMLAppBehavior3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHTMLAppBehavior3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHTMLAppBehavior3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHTMLAppBehavior3_put_navigable(This,v)	\
    ( (This)->lpVtbl -> put_navigable(This,v) ) 

#define IHTMLAppBehavior3_get_navigable(This,p)	\
    ( (This)->lpVtbl -> get_navigable(This,p) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHTMLAppBehavior3_INTERFACE_DEFINED__ */


#ifndef __DispHTMLAppBehavior_DISPINTERFACE_DEFINED__
#define __DispHTMLAppBehavior_DISPINTERFACE_DEFINED__

/* dispinterface DispHTMLAppBehavior */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispHTMLAppBehavior;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f57c-98b5-11cf-bb82-00aa00bdce0b")
    DispHTMLAppBehavior : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispHTMLAppBehaviorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispHTMLAppBehavior * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispHTMLAppBehavior * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispHTMLAppBehavior * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispHTMLAppBehavior * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispHTMLAppBehavior * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispHTMLAppBehavior * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispHTMLAppBehavior * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispHTMLAppBehaviorVtbl;

    interface DispHTMLAppBehavior
    {
        CONST_VTBL struct DispHTMLAppBehaviorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispHTMLAppBehavior_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispHTMLAppBehavior_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispHTMLAppBehavior_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispHTMLAppBehavior_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispHTMLAppBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispHTMLAppBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispHTMLAppBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispHTMLAppBehavior_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLAppBehavior;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f5cb-98b5-11cf-bb82-00aa00bdce0b")
HTMLAppBehavior;
#endif

EXTERN_C const CLSID CLSID_OldHTMLDocument;

#ifdef __cplusplus

class DECLSPEC_UUID("D48A6EC9-6A4A-11CF-94A7-444553540000")
OldHTMLDocument;
#endif

EXTERN_C const CLSID CLSID_OldHTMLFormElement;

#ifdef __cplusplus

class DECLSPEC_UUID("0D04D285-6BEC-11CF-8B97-00AA00476DA6")
OldHTMLFormElement;
#endif

#ifndef __DispIHTMLInputButtonElement_DISPINTERFACE_DEFINED__
#define __DispIHTMLInputButtonElement_DISPINTERFACE_DEFINED__

/* dispinterface DispIHTMLInputButtonElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispIHTMLInputButtonElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f51e-98b5-11cf-bb82-00aa00bdce0b")
    DispIHTMLInputButtonElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispIHTMLInputButtonElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispIHTMLInputButtonElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispIHTMLInputButtonElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispIHTMLInputButtonElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispIHTMLInputButtonElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispIHTMLInputButtonElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispIHTMLInputButtonElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispIHTMLInputButtonElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispIHTMLInputButtonElementVtbl;

    interface DispIHTMLInputButtonElement
    {
        CONST_VTBL struct DispIHTMLInputButtonElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispIHTMLInputButtonElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispIHTMLInputButtonElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispIHTMLInputButtonElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispIHTMLInputButtonElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispIHTMLInputButtonElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispIHTMLInputButtonElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispIHTMLInputButtonElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispIHTMLInputButtonElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLInputButtonElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f2b4-98b5-11cf-bb82-00aa00bdce0b")
HTMLInputButtonElement;
#endif

#ifndef __DispIHTMLInputTextElement_DISPINTERFACE_DEFINED__
#define __DispIHTMLInputTextElement_DISPINTERFACE_DEFINED__

/* dispinterface DispIHTMLInputTextElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispIHTMLInputTextElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f520-98b5-11cf-bb82-00aa00bdce0b")
    DispIHTMLInputTextElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispIHTMLInputTextElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispIHTMLInputTextElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispIHTMLInputTextElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispIHTMLInputTextElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispIHTMLInputTextElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispIHTMLInputTextElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispIHTMLInputTextElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispIHTMLInputTextElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispIHTMLInputTextElementVtbl;

    interface DispIHTMLInputTextElement
    {
        CONST_VTBL struct DispIHTMLInputTextElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispIHTMLInputTextElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispIHTMLInputTextElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispIHTMLInputTextElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispIHTMLInputTextElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispIHTMLInputTextElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispIHTMLInputTextElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispIHTMLInputTextElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispIHTMLInputTextElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLInputTextElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f2ab-98b5-11cf-bb82-00aa00bdce0b")
HTMLInputTextElement;
#endif

#ifndef __DispIHTMLInputFileElement_DISPINTERFACE_DEFINED__
#define __DispIHTMLInputFileElement_DISPINTERFACE_DEFINED__

/* dispinterface DispIHTMLInputFileElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispIHTMLInputFileElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f542-98b5-11cf-bb82-00aa00bdce0b")
    DispIHTMLInputFileElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispIHTMLInputFileElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispIHTMLInputFileElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispIHTMLInputFileElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispIHTMLInputFileElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispIHTMLInputFileElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispIHTMLInputFileElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispIHTMLInputFileElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispIHTMLInputFileElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispIHTMLInputFileElementVtbl;

    interface DispIHTMLInputFileElement
    {
        CONST_VTBL struct DispIHTMLInputFileElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispIHTMLInputFileElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispIHTMLInputFileElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispIHTMLInputFileElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispIHTMLInputFileElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispIHTMLInputFileElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispIHTMLInputFileElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispIHTMLInputFileElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispIHTMLInputFileElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLInputFileElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f2ae-98b5-11cf-bb82-00aa00bdce0b")
HTMLInputFileElement;
#endif

#ifndef __DispIHTMLOptionButtonElement_DISPINTERFACE_DEFINED__
#define __DispIHTMLOptionButtonElement_DISPINTERFACE_DEFINED__

/* dispinterface DispIHTMLOptionButtonElement */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispIHTMLOptionButtonElement;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f509-98b5-11cf-bb82-00aa00bdce0b")
    DispIHTMLOptionButtonElement : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispIHTMLOptionButtonElementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispIHTMLOptionButtonElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispIHTMLOptionButtonElement * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispIHTMLOptionButtonElement * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispIHTMLOptionButtonElement * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispIHTMLOptionButtonElement * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispIHTMLOptionButtonElement * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispIHTMLOptionButtonElement * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispIHTMLOptionButtonElementVtbl;

    interface DispIHTMLOptionButtonElement
    {
        CONST_VTBL struct DispIHTMLOptionButtonElementVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispIHTMLOptionButtonElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispIHTMLOptionButtonElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispIHTMLOptionButtonElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispIHTMLOptionButtonElement_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispIHTMLOptionButtonElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispIHTMLOptionButtonElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispIHTMLOptionButtonElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispIHTMLOptionButtonElement_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLOptionButtonElement;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f2be-98b5-11cf-bb82-00aa00bdce0b")
HTMLOptionButtonElement;
#endif

#ifndef __DispIHTMLInputImage_DISPINTERFACE_DEFINED__
#define __DispIHTMLInputImage_DISPINTERFACE_DEFINED__

/* dispinterface DispIHTMLInputImage */
/* [uuid][hidden] */ 


EXTERN_C const IID DIID_DispIHTMLInputImage;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3050f51d-98b5-11cf-bb82-00aa00bdce0b")
    DispIHTMLInputImage : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct DispIHTMLInputImageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in DispIHTMLInputImage * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in DispIHTMLInputImage * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in DispIHTMLInputImage * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            __RPC__in DispIHTMLInputImage * This,
            /* [out] */ __RPC__out UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            __RPC__in DispIHTMLInputImage * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            __RPC__in DispIHTMLInputImage * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
            /* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DispIHTMLInputImage * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } DispIHTMLInputImageVtbl;

    interface DispIHTMLInputImage
    {
        CONST_VTBL struct DispIHTMLInputImageVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DispIHTMLInputImage_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DispIHTMLInputImage_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DispIHTMLInputImage_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DispIHTMLInputImage_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DispIHTMLInputImage_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DispIHTMLInputImage_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DispIHTMLInputImage_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __DispIHTMLInputImage_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_HTMLInputImage;

#ifdef __cplusplus

class DECLSPEC_UUID("3050f2c4-98b5-11cf-bb82-00aa00bdce0b")
HTMLInputImage;
#endif

#ifndef __IElementNamespace_INTERFACE_DEFINED__
#define __IElementNamespace_INTERFACE_DEFINED__

/* interface IElementNamespace */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IElementNamespace;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f671-98b5-11cf-bb82-00aa00bdce0b")
    IElementNamespace : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE AddTag( 
            /* [in] */ __RPC__in BSTR bstrTagName,
            /* [in] */ LONG lFlags) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IElementNamespaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IElementNamespace * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IElementNamespace * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IElementNamespace * This);
        
        HRESULT ( STDMETHODCALLTYPE *AddTag )( 
            __RPC__in IElementNamespace * This,
            /* [in] */ __RPC__in BSTR bstrTagName,
            /* [in] */ LONG lFlags);
        
        END_INTERFACE
    } IElementNamespaceVtbl;

    interface IElementNamespace
    {
        CONST_VTBL struct IElementNamespaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IElementNamespace_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IElementNamespace_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IElementNamespace_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IElementNamespace_AddTag(This,bstrTagName,lFlags)	\
    ( (This)->lpVtbl -> AddTag(This,bstrTagName,lFlags) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IElementNamespace_INTERFACE_DEFINED__ */


#ifndef __IElementNamespaceTable_INTERFACE_DEFINED__
#define __IElementNamespaceTable_INTERFACE_DEFINED__

/* interface IElementNamespaceTable */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IElementNamespaceTable;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f670-98b5-11cf-bb82-00aa00bdce0b")
    IElementNamespaceTable : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE AddNamespace( 
            /* [in] */ __RPC__in BSTR bstrNamespace,
            /* [in] */ __RPC__in BSTR bstrUrn,
            /* [in] */ LONG lFlags,
            /* [in] */ __RPC__in VARIANT *pvarFactory) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IElementNamespaceTableVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IElementNamespaceTable * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IElementNamespaceTable * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IElementNamespaceTable * This);
        
        HRESULT ( STDMETHODCALLTYPE *AddNamespace )( 
            __RPC__in IElementNamespaceTable * This,
            /* [in] */ __RPC__in BSTR bstrNamespace,
            /* [in] */ __RPC__in BSTR bstrUrn,
            /* [in] */ LONG lFlags,
            /* [in] */ __RPC__in VARIANT *pvarFactory);
        
        END_INTERFACE
    } IElementNamespaceTableVtbl;

    interface IElementNamespaceTable
    {
        CONST_VTBL struct IElementNamespaceTableVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IElementNamespaceTable_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IElementNamespaceTable_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IElementNamespaceTable_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IElementNamespaceTable_AddNamespace(This,bstrNamespace,bstrUrn,lFlags,pvarFactory)	\
    ( (This)->lpVtbl -> AddNamespace(This,bstrNamespace,bstrUrn,lFlags,pvarFactory) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IElementNamespaceTable_INTERFACE_DEFINED__ */


#ifndef __IElementNamespaceFactory_INTERFACE_DEFINED__
#define __IElementNamespaceFactory_INTERFACE_DEFINED__

/* interface IElementNamespaceFactory */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IElementNamespaceFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f672-98b5-11cf-bb82-00aa00bdce0b")
    IElementNamespaceFactory : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Create( 
            /* [in] */ __RPC__in_opt IElementNamespace *pNamespace) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IElementNamespaceFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IElementNamespaceFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IElementNamespaceFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IElementNamespaceFactory * This);
        
        HRESULT ( STDMETHODCALLTYPE *Create )( 
            __RPC__in IElementNamespaceFactory * This,
            /* [in] */ __RPC__in_opt IElementNamespace *pNamespace);
        
        END_INTERFACE
    } IElementNamespaceFactoryVtbl;

    interface IElementNamespaceFactory
    {
        CONST_VTBL struct IElementNamespaceFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IElementNamespaceFactory_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IElementNamespaceFactory_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IElementNamespaceFactory_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IElementNamespaceFactory_Create(This,pNamespace)	\
    ( (This)->lpVtbl -> Create(This,pNamespace) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IElementNamespaceFactory_INTERFACE_DEFINED__ */


#ifndef __IElementNamespaceFactory2_INTERFACE_DEFINED__
#define __IElementNamespaceFactory2_INTERFACE_DEFINED__

/* interface IElementNamespaceFactory2 */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IElementNamespaceFactory2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f805-98b5-11cf-bb82-00aa00bdce0b")
    IElementNamespaceFactory2 : public IElementNamespaceFactory
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE CreateWithImplementation( 
            /* [in] */ __RPC__in_opt IElementNamespace *pNamespace,
            /* [in] */ __RPC__in BSTR bstrImplementation) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IElementNamespaceFactory2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IElementNamespaceFactory2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IElementNamespaceFactory2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IElementNamespaceFactory2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *Create )( 
            __RPC__in IElementNamespaceFactory2 * This,
            /* [in] */ __RPC__in_opt IElementNamespace *pNamespace);
        
        HRESULT ( STDMETHODCALLTYPE *CreateWithImplementation )( 
            __RPC__in IElementNamespaceFactory2 * This,
            /* [in] */ __RPC__in_opt IElementNamespace *pNamespace,
            /* [in] */ __RPC__in BSTR bstrImplementation);
        
        END_INTERFACE
    } IElementNamespaceFactory2Vtbl;

    interface IElementNamespaceFactory2
    {
        CONST_VTBL struct IElementNamespaceFactory2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IElementNamespaceFactory2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IElementNamespaceFactory2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IElementNamespaceFactory2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IElementNamespaceFactory2_Create(This,pNamespace)	\
    ( (This)->lpVtbl -> Create(This,pNamespace) ) 


#define IElementNamespaceFactory2_CreateWithImplementation(This,pNamespace,bstrImplementation)	\
    ( (This)->lpVtbl -> CreateWithImplementation(This,pNamespace,bstrImplementation) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IElementNamespaceFactory2_INTERFACE_DEFINED__ */


#ifndef __IElementNamespaceFactoryCallback_INTERFACE_DEFINED__
#define __IElementNamespaceFactoryCallback_INTERFACE_DEFINED__

/* interface IElementNamespaceFactoryCallback */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IElementNamespaceFactoryCallback;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f7fd-98b5-11cf-bb82-00aa00bdce0b")
    IElementNamespaceFactoryCallback : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Resolve( 
            /* [in] */ __RPC__in BSTR bstrNamespace,
            /* [in] */ __RPC__in BSTR bstrTagName,
            /* [in] */ __RPC__in BSTR bstrAttrs,
            /* [in] */ __RPC__in_opt IElementNamespace *pNamespace) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IElementNamespaceFactoryCallbackVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IElementNamespaceFactoryCallback * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IElementNamespaceFactoryCallback * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IElementNamespaceFactoryCallback * This);
        
        HRESULT ( STDMETHODCALLTYPE *Resolve )( 
            __RPC__in IElementNamespaceFactoryCallback * This,
            /* [in] */ __RPC__in BSTR bstrNamespace,
            /* [in] */ __RPC__in BSTR bstrTagName,
            /* [in] */ __RPC__in BSTR bstrAttrs,
            /* [in] */ __RPC__in_opt IElementNamespace *pNamespace);
        
        END_INTERFACE
    } IElementNamespaceFactoryCallbackVtbl;

    interface IElementNamespaceFactoryCallback
    {
        CONST_VTBL struct IElementNamespaceFactoryCallbackVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IElementNamespaceFactoryCallback_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IElementNamespaceFactoryCallback_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IElementNamespaceFactoryCallback_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IElementNamespaceFactoryCallback_Resolve(This,bstrNamespace,bstrTagName,bstrAttrs,pNamespace)	\
    ( (This)->lpVtbl -> Resolve(This,bstrNamespace,bstrTagName,bstrAttrs,pNamespace) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IElementNamespaceFactoryCallback_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorSiteOM2_INTERFACE_DEFINED__
#define __IElementBehaviorSiteOM2_INTERFACE_DEFINED__

/* interface IElementBehaviorSiteOM2 */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IElementBehaviorSiteOM2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f659-98b5-11cf-bb82-00aa00bdce0b")
    IElementBehaviorSiteOM2 : public IElementBehaviorSiteOM
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetDefaults( 
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementDefaults **ppDefaults) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IElementBehaviorSiteOM2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IElementBehaviorSiteOM2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IElementBehaviorSiteOM2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IElementBehaviorSiteOM2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *RegisterEvent )( 
            __RPC__in IElementBehaviorSiteOM2 * This,
            /* [in] */ __RPC__in LPOLESTR pchEvent,
            /* [in] */ LONG lFlags,
            /* [out][retval] */ __RPC__out LONG *plCookie);
        
        HRESULT ( STDMETHODCALLTYPE *GetEventCookie )( 
            __RPC__in IElementBehaviorSiteOM2 * This,
            /* [in] */ __RPC__in LPOLESTR pchEvent,
            /* [out][retval] */ __RPC__out LONG *plCookie);
        
        HRESULT ( STDMETHODCALLTYPE *FireEvent )( 
            __RPC__in IElementBehaviorSiteOM2 * This,
            /* [in] */ LONG lCookie,
            /* [in] */ __RPC__in_opt IHTMLEventObj *pEventObject);
        
        HRESULT ( STDMETHODCALLTYPE *CreateEventObject )( 
            __RPC__in IElementBehaviorSiteOM2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLEventObj **ppEventObject);
        
        HRESULT ( STDMETHODCALLTYPE *RegisterName )( 
            __RPC__in IElementBehaviorSiteOM2 * This,
            /* [in] */ __RPC__in LPOLESTR pchName);
        
        HRESULT ( STDMETHODCALLTYPE *RegisterUrn )( 
            __RPC__in IElementBehaviorSiteOM2 * This,
            /* [in] */ __RPC__in LPOLESTR pchUrn);
        
        HRESULT ( STDMETHODCALLTYPE *GetDefaults )( 
            __RPC__in IElementBehaviorSiteOM2 * This,
            /* [out][retval] */ __RPC__deref_out_opt IHTMLElementDefaults **ppDefaults);
        
        END_INTERFACE
    } IElementBehaviorSiteOM2Vtbl;

    interface IElementBehaviorSiteOM2
    {
        CONST_VTBL struct IElementBehaviorSiteOM2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IElementBehaviorSiteOM2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IElementBehaviorSiteOM2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IElementBehaviorSiteOM2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IElementBehaviorSiteOM2_RegisterEvent(This,pchEvent,lFlags,plCookie)	\
    ( (This)->lpVtbl -> RegisterEvent(This,pchEvent,lFlags,plCookie) ) 

#define IElementBehaviorSiteOM2_GetEventCookie(This,pchEvent,plCookie)	\
    ( (This)->lpVtbl -> GetEventCookie(This,pchEvent,plCookie) ) 

#define IElementBehaviorSiteOM2_FireEvent(This,lCookie,pEventObject)	\
    ( (This)->lpVtbl -> FireEvent(This,lCookie,pEventObject) ) 

#define IElementBehaviorSiteOM2_CreateEventObject(This,ppEventObject)	\
    ( (This)->lpVtbl -> CreateEventObject(This,ppEventObject) ) 

#define IElementBehaviorSiteOM2_RegisterName(This,pchName)	\
    ( (This)->lpVtbl -> RegisterName(This,pchName) ) 

#define IElementBehaviorSiteOM2_RegisterUrn(This,pchUrn)	\
    ( (This)->lpVtbl -> RegisterUrn(This,pchUrn) ) 


#define IElementBehaviorSiteOM2_GetDefaults(This,ppDefaults)	\
    ( (This)->lpVtbl -> GetDefaults(This,ppDefaults) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IElementBehaviorSiteOM2_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorCategory_INTERFACE_DEFINED__
#define __IElementBehaviorCategory_INTERFACE_DEFINED__

/* interface IElementBehaviorCategory */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IElementBehaviorCategory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4ed-98b5-11cf-bb82-00aa00bdce0b")
    IElementBehaviorCategory : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetCategory( 
            /* [out][retval] */ __RPC__deref_out_opt LPOLESTR *ppchCategory) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IElementBehaviorCategoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IElementBehaviorCategory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IElementBehaviorCategory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IElementBehaviorCategory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetCategory )( 
            __RPC__in IElementBehaviorCategory * This,
            /* [out][retval] */ __RPC__deref_out_opt LPOLESTR *ppchCategory);
        
        END_INTERFACE
    } IElementBehaviorCategoryVtbl;

    interface IElementBehaviorCategory
    {
        CONST_VTBL struct IElementBehaviorCategoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IElementBehaviorCategory_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IElementBehaviorCategory_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IElementBehaviorCategory_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IElementBehaviorCategory_GetCategory(This,ppchCategory)	\
    ( (This)->lpVtbl -> GetCategory(This,ppchCategory) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IElementBehaviorCategory_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorSiteCategory_INTERFACE_DEFINED__
#define __IElementBehaviorSiteCategory_INTERFACE_DEFINED__

/* interface IElementBehaviorSiteCategory */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IElementBehaviorSiteCategory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f4ee-98b5-11cf-bb82-00aa00bdce0b")
    IElementBehaviorSiteCategory : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetRelatedBehaviors( 
            /* [in] */ LONG lDirection,
            /* [in] */ __RPC__in LPOLESTR pchCategory,
            /* [out][retval] */ __RPC__deref_out_opt IEnumUnknown **ppEnumerator) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IElementBehaviorSiteCategoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IElementBehaviorSiteCategory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IElementBehaviorSiteCategory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IElementBehaviorSiteCategory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetRelatedBehaviors )( 
            __RPC__in IElementBehaviorSiteCategory * This,
            /* [in] */ LONG lDirection,
            /* [in] */ __RPC__in LPOLESTR pchCategory,
            /* [out][retval] */ __RPC__deref_out_opt IEnumUnknown **ppEnumerator);
        
        END_INTERFACE
    } IElementBehaviorSiteCategoryVtbl;

    interface IElementBehaviorSiteCategory
    {
        CONST_VTBL struct IElementBehaviorSiteCategoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IElementBehaviorSiteCategory_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IElementBehaviorSiteCategory_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IElementBehaviorSiteCategory_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IElementBehaviorSiteCategory_GetRelatedBehaviors(This,lDirection,pchCategory,ppEnumerator)	\
    ( (This)->lpVtbl -> GetRelatedBehaviors(This,lDirection,pchCategory,ppEnumerator) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IElementBehaviorSiteCategory_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorSubmit_INTERFACE_DEFINED__
#define __IElementBehaviorSubmit_INTERFACE_DEFINED__

/* interface IElementBehaviorSubmit */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IElementBehaviorSubmit;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f646-98b5-11cf-bb82-00aa00bdce0b")
    IElementBehaviorSubmit : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetSubmitInfo( 
            /* [in] */ __RPC__in_opt IHTMLSubmitData *pSubmitData) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IElementBehaviorSubmitVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IElementBehaviorSubmit * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IElementBehaviorSubmit * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IElementBehaviorSubmit * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetSubmitInfo )( 
            __RPC__in IElementBehaviorSubmit * This,
            /* [in] */ __RPC__in_opt IHTMLSubmitData *pSubmitData);
        
        HRESULT ( STDMETHODCALLTYPE *Reset )( 
            __RPC__in IElementBehaviorSubmit * This);
        
        END_INTERFACE
    } IElementBehaviorSubmitVtbl;

    interface IElementBehaviorSubmit
    {
        CONST_VTBL struct IElementBehaviorSubmitVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IElementBehaviorSubmit_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IElementBehaviorSubmit_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IElementBehaviorSubmit_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IElementBehaviorSubmit_GetSubmitInfo(This,pSubmitData)	\
    ( (This)->lpVtbl -> GetSubmitInfo(This,pSubmitData) ) 

#define IElementBehaviorSubmit_Reset(This)	\
    ( (This)->lpVtbl -> Reset(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IElementBehaviorSubmit_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorFocus_INTERFACE_DEFINED__
#define __IElementBehaviorFocus_INTERFACE_DEFINED__

/* interface IElementBehaviorFocus */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IElementBehaviorFocus;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f6b6-98b5-11cf-bb82-00aa00bdce0b")
    IElementBehaviorFocus : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetFocusRect( 
            /* [in] */ __RPC__in RECT *pRect) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IElementBehaviorFocusVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IElementBehaviorFocus * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IElementBehaviorFocus * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IElementBehaviorFocus * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetFocusRect )( 
            __RPC__in IElementBehaviorFocus * This,
            /* [in] */ __RPC__in RECT *pRect);
        
        END_INTERFACE
    } IElementBehaviorFocusVtbl;

    interface IElementBehaviorFocus
    {
        CONST_VTBL struct IElementBehaviorFocusVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IElementBehaviorFocus_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IElementBehaviorFocus_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IElementBehaviorFocus_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IElementBehaviorFocus_GetFocusRect(This,pRect)	\
    ( (This)->lpVtbl -> GetFocusRect(This,pRect) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IElementBehaviorFocus_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorLayout_INTERFACE_DEFINED__
#define __IElementBehaviorLayout_INTERFACE_DEFINED__

/* interface IElementBehaviorLayout */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IElementBehaviorLayout;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f6ba-98b5-11cf-bb82-00aa00bdce0b")
    IElementBehaviorLayout : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetSize( 
            /* [in] */ LONG dwFlags,
            /* [in] */ SIZE sizeContent,
            /* [out][in] */ __RPC__inout POINT *pptTranslateBy,
            /* [out][in] */ __RPC__inout POINT *pptTopLeft,
            /* [out][in] */ __RPC__inout SIZE *psizeProposed) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetLayoutInfo( 
            /* [out][retval] */ __RPC__out LONG *plLayoutInfo) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetPosition( 
            /* [in] */ LONG lFlags,
            /* [out][in] */ __RPC__inout POINT *pptTopLeft) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MapSize( 
            /* [in] */ __RPC__in SIZE *psizeIn,
            /* [out] */ __RPC__out RECT *prcOut) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IElementBehaviorLayoutVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IElementBehaviorLayout * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IElementBehaviorLayout * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IElementBehaviorLayout * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetSize )( 
            __RPC__in IElementBehaviorLayout * This,
            /* [in] */ LONG dwFlags,
            /* [in] */ SIZE sizeContent,
            /* [out][in] */ __RPC__inout POINT *pptTranslateBy,
            /* [out][in] */ __RPC__inout POINT *pptTopLeft,
            /* [out][in] */ __RPC__inout SIZE *psizeProposed);
        
        HRESULT ( STDMETHODCALLTYPE *GetLayoutInfo )( 
            __RPC__in IElementBehaviorLayout * This,
            /* [out][retval] */ __RPC__out LONG *plLayoutInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetPosition )( 
            __RPC__in IElementBehaviorLayout * This,
            /* [in] */ LONG lFlags,
            /* [out][in] */ __RPC__inout POINT *pptTopLeft);
        
        HRESULT ( STDMETHODCALLTYPE *MapSize )( 
            __RPC__in IElementBehaviorLayout * This,
            /* [in] */ __RPC__in SIZE *psizeIn,
            /* [out] */ __RPC__out RECT *prcOut);
        
        END_INTERFACE
    } IElementBehaviorLayoutVtbl;

    interface IElementBehaviorLayout
    {
        CONST_VTBL struct IElementBehaviorLayoutVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IElementBehaviorLayout_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IElementBehaviorLayout_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IElementBehaviorLayout_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IElementBehaviorLayout_GetSize(This,dwFlags,sizeContent,pptTranslateBy,pptTopLeft,psizeProposed)	\
    ( (This)->lpVtbl -> GetSize(This,dwFlags,sizeContent,pptTranslateBy,pptTopLeft,psizeProposed) ) 

#define IElementBehaviorLayout_GetLayoutInfo(This,plLayoutInfo)	\
    ( (This)->lpVtbl -> GetLayoutInfo(This,plLayoutInfo) ) 

#define IElementBehaviorLayout_GetPosition(This,lFlags,pptTopLeft)	\
    ( (This)->lpVtbl -> GetPosition(This,lFlags,pptTopLeft) ) 

#define IElementBehaviorLayout_MapSize(This,psizeIn,prcOut)	\
    ( (This)->lpVtbl -> MapSize(This,psizeIn,prcOut) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IElementBehaviorLayout_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorLayout2_INTERFACE_DEFINED__
#define __IElementBehaviorLayout2_INTERFACE_DEFINED__

/* interface IElementBehaviorLayout2 */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IElementBehaviorLayout2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f846-98b5-11cf-bb82-00aa00bdce0b")
    IElementBehaviorLayout2 : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetTextDescent( 
            /* [out] */ __RPC__out LONG *plDescent) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IElementBehaviorLayout2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IElementBehaviorLayout2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IElementBehaviorLayout2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IElementBehaviorLayout2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTextDescent )( 
            __RPC__in IElementBehaviorLayout2 * This,
            /* [out] */ __RPC__out LONG *plDescent);
        
        END_INTERFACE
    } IElementBehaviorLayout2Vtbl;

    interface IElementBehaviorLayout2
    {
        CONST_VTBL struct IElementBehaviorLayout2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IElementBehaviorLayout2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IElementBehaviorLayout2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IElementBehaviorLayout2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IElementBehaviorLayout2_GetTextDescent(This,plDescent)	\
    ( (This)->lpVtbl -> GetTextDescent(This,plDescent) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IElementBehaviorLayout2_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorSiteLayout_INTERFACE_DEFINED__
#define __IElementBehaviorSiteLayout_INTERFACE_DEFINED__

/* interface IElementBehaviorSiteLayout */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IElementBehaviorSiteLayout;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f6b7-98b5-11cf-bb82-00aa00bdce0b")
    IElementBehaviorSiteLayout : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE InvalidateLayoutInfo( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InvalidateSize( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMediaResolution( 
            /* [out][retval] */ __RPC__out SIZE *psizeResolution) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IElementBehaviorSiteLayoutVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IElementBehaviorSiteLayout * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IElementBehaviorSiteLayout * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IElementBehaviorSiteLayout * This);
        
        HRESULT ( STDMETHODCALLTYPE *InvalidateLayoutInfo )( 
            __RPC__in IElementBehaviorSiteLayout * This);
        
        HRESULT ( STDMETHODCALLTYPE *InvalidateSize )( 
            __RPC__in IElementBehaviorSiteLayout * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetMediaResolution )( 
            __RPC__in IElementBehaviorSiteLayout * This,
            /* [out][retval] */ __RPC__out SIZE *psizeResolution);
        
        END_INTERFACE
    } IElementBehaviorSiteLayoutVtbl;

    interface IElementBehaviorSiteLayout
    {
        CONST_VTBL struct IElementBehaviorSiteLayoutVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IElementBehaviorSiteLayout_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IElementBehaviorSiteLayout_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IElementBehaviorSiteLayout_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IElementBehaviorSiteLayout_InvalidateLayoutInfo(This)	\
    ( (This)->lpVtbl -> InvalidateLayoutInfo(This) ) 

#define IElementBehaviorSiteLayout_InvalidateSize(This)	\
    ( (This)->lpVtbl -> InvalidateSize(This) ) 

#define IElementBehaviorSiteLayout_GetMediaResolution(This,psizeResolution)	\
    ( (This)->lpVtbl -> GetMediaResolution(This,psizeResolution) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IElementBehaviorSiteLayout_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorSiteLayout2_INTERFACE_DEFINED__
#define __IElementBehaviorSiteLayout2_INTERFACE_DEFINED__

/* interface IElementBehaviorSiteLayout2 */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IElementBehaviorSiteLayout2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f847-98b5-11cf-bb82-00aa00bdce0b")
    IElementBehaviorSiteLayout2 : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetFontInfo( 
            /* [out] */ __RPC__out LOGFONTW *plf) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IElementBehaviorSiteLayout2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IElementBehaviorSiteLayout2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IElementBehaviorSiteLayout2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IElementBehaviorSiteLayout2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetFontInfo )( 
            __RPC__in IElementBehaviorSiteLayout2 * This,
            /* [out] */ __RPC__out LOGFONTW *plf);
        
        END_INTERFACE
    } IElementBehaviorSiteLayout2Vtbl;

    interface IElementBehaviorSiteLayout2
    {
        CONST_VTBL struct IElementBehaviorSiteLayout2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IElementBehaviorSiteLayout2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IElementBehaviorSiteLayout2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IElementBehaviorSiteLayout2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IElementBehaviorSiteLayout2_GetFontInfo(This,plf)	\
    ( (This)->lpVtbl -> GetFontInfo(This,plf) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IElementBehaviorSiteLayout2_INTERFACE_DEFINED__ */


#ifndef __IHostBehaviorInit_INTERFACE_DEFINED__
#define __IHostBehaviorInit_INTERFACE_DEFINED__

/* interface IHostBehaviorInit */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IHostBehaviorInit;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3050f842-98b5-11cf-bb82-00aa00bdce0b")
    IHostBehaviorInit : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE PopulateNamespaceTable( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHostBehaviorInitVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IHostBehaviorInit * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IHostBehaviorInit * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IHostBehaviorInit * This);
        
        HRESULT ( STDMETHODCALLTYPE *PopulateNamespaceTable )( 
            __RPC__in IHostBehaviorInit * This);
        
        END_INTERFACE
    } IHostBehaviorInitVtbl;

    interface IHostBehaviorInit
    {
        CONST_VTBL struct IHostBehaviorInitVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IHostBehaviorInit_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IHostBehaviorInit_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IHostBehaviorInit_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IHostBehaviorInit_PopulateNamespaceTable(This)	\
    ( (This)->lpVtbl -> PopulateNamespaceTable(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHostBehaviorInit_INTERFACE_DEFINED__ */


#ifndef __ISurfacePresenter_INTERFACE_DEFINED__
#define __ISurfacePresenter_INTERFACE_DEFINED__

/* interface ISurfacePresenter */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_ISurfacePresenter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106e2-98b5-11cf-bb82-00aa00bdce0b")
    ISurfacePresenter : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Present( 
            /* [in] */ UINT uBuffer,
            /* [in] */ __RPC__in RECT *pDirty) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetBuffer( 
            /* [in] */ UINT backBufferIndex,
            /* [in] */ __RPC__in REFIID riid,
            /* [iid_is][out][retval] */ __RPC__deref_out_opt void **ppBuffer) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsCurrent( 
            /* [out][retval] */ __RPC__out BOOL *pIsCurrent) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISurfacePresenterVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ISurfacePresenter * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ISurfacePresenter * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ISurfacePresenter * This);
        
        HRESULT ( STDMETHODCALLTYPE *Present )( 
            __RPC__in ISurfacePresenter * This,
            /* [in] */ UINT uBuffer,
            /* [in] */ __RPC__in RECT *pDirty);
        
        HRESULT ( STDMETHODCALLTYPE *GetBuffer )( 
            __RPC__in ISurfacePresenter * This,
            /* [in] */ UINT backBufferIndex,
            /* [in] */ __RPC__in REFIID riid,
            /* [iid_is][out][retval] */ __RPC__deref_out_opt void **ppBuffer);
        
        HRESULT ( STDMETHODCALLTYPE *IsCurrent )( 
            __RPC__in ISurfacePresenter * This,
            /* [out][retval] */ __RPC__out BOOL *pIsCurrent);
        
        END_INTERFACE
    } ISurfacePresenterVtbl;

    interface ISurfacePresenter
    {
        CONST_VTBL struct ISurfacePresenterVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISurfacePresenter_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISurfacePresenter_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISurfacePresenter_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISurfacePresenter_Present(This,uBuffer,pDirty)	\
    ( (This)->lpVtbl -> Present(This,uBuffer,pDirty) ) 

#define ISurfacePresenter_GetBuffer(This,backBufferIndex,riid,ppBuffer)	\
    ( (This)->lpVtbl -> GetBuffer(This,backBufferIndex,riid,ppBuffer) ) 

#define ISurfacePresenter_IsCurrent(This,pIsCurrent)	\
    ( (This)->lpVtbl -> IsCurrent(This,pIsCurrent) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISurfacePresenter_INTERFACE_DEFINED__ */


#ifndef __IViewObjectPresentSite_INTERFACE_DEFINED__
#define __IViewObjectPresentSite_INTERFACE_DEFINED__

/* interface IViewObjectPresentSite */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IViewObjectPresentSite;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106e1-98b5-11cf-bb82-00aa00bdce0b")
    IViewObjectPresentSite : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE CreateSurfacePresenter( 
            /* [in] */ __RPC__in_opt IUnknown *pDevice,
            /* [in] */ UINT width,
            /* [in] */ UINT height,
            /* [in] */ UINT backBufferCount,
            /* [in] */ DXGI_FORMAT format,
            /* [in] */ VIEW_OBJECT_ALPHA_MODE mode,
            /* [out][retval] */ __RPC__deref_out_opt ISurfacePresenter **ppQueue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsHardwareComposition( 
            /* [out][retval] */ __RPC__out BOOL *pIsHardwareComposition) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetCompositionMode( 
            /* [in] */ VIEW_OBJECT_COMPOSITION_MODE mode) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IViewObjectPresentSiteVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IViewObjectPresentSite * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IViewObjectPresentSite * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IViewObjectPresentSite * This);
        
        HRESULT ( STDMETHODCALLTYPE *CreateSurfacePresenter )( 
            __RPC__in IViewObjectPresentSite * This,
            /* [in] */ __RPC__in_opt IUnknown *pDevice,
            /* [in] */ UINT width,
            /* [in] */ UINT height,
            /* [in] */ UINT backBufferCount,
            /* [in] */ DXGI_FORMAT format,
            /* [in] */ VIEW_OBJECT_ALPHA_MODE mode,
            /* [out][retval] */ __RPC__deref_out_opt ISurfacePresenter **ppQueue);
        
        HRESULT ( STDMETHODCALLTYPE *IsHardwareComposition )( 
            __RPC__in IViewObjectPresentSite * This,
            /* [out][retval] */ __RPC__out BOOL *pIsHardwareComposition);
        
        HRESULT ( STDMETHODCALLTYPE *SetCompositionMode )( 
            __RPC__in IViewObjectPresentSite * This,
            /* [in] */ VIEW_OBJECT_COMPOSITION_MODE mode);
        
        END_INTERFACE
    } IViewObjectPresentSiteVtbl;

    interface IViewObjectPresentSite
    {
        CONST_VTBL struct IViewObjectPresentSiteVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IViewObjectPresentSite_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IViewObjectPresentSite_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IViewObjectPresentSite_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IViewObjectPresentSite_CreateSurfacePresenter(This,pDevice,width,height,backBufferCount,format,mode,ppQueue)	\
    ( (This)->lpVtbl -> CreateSurfacePresenter(This,pDevice,width,height,backBufferCount,format,mode,ppQueue) ) 

#define IViewObjectPresentSite_IsHardwareComposition(This,pIsHardwareComposition)	\
    ( (This)->lpVtbl -> IsHardwareComposition(This,pIsHardwareComposition) ) 

#define IViewObjectPresentSite_SetCompositionMode(This,mode)	\
    ( (This)->lpVtbl -> SetCompositionMode(This,mode) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IViewObjectPresentSite_INTERFACE_DEFINED__ */


#ifndef __ICanvasPixelArrayData_INTERFACE_DEFINED__
#define __ICanvasPixelArrayData_INTERFACE_DEFINED__

/* interface ICanvasPixelArrayData */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_ICanvasPixelArrayData;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305107f9-98b5-11cf-bb82-00aa00bdce0b")
    ICanvasPixelArrayData : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetBufferPointer( 
            /* [out] */ __RPC__deref_out_opt BYTE **ppBuffer,
            /* [out] */ __RPC__out ULONG *pBufferLength) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICanvasPixelArrayDataVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ICanvasPixelArrayData * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ICanvasPixelArrayData * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ICanvasPixelArrayData * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetBufferPointer )( 
            __RPC__in ICanvasPixelArrayData * This,
            /* [out] */ __RPC__deref_out_opt BYTE **ppBuffer,
            /* [out] */ __RPC__out ULONG *pBufferLength);
        
        END_INTERFACE
    } ICanvasPixelArrayDataVtbl;

    interface ICanvasPixelArrayData
    {
        CONST_VTBL struct ICanvasPixelArrayDataVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICanvasPixelArrayData_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICanvasPixelArrayData_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICanvasPixelArrayData_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICanvasPixelArrayData_GetBufferPointer(This,ppBuffer,pBufferLength)	\
    ( (This)->lpVtbl -> GetBufferPointer(This,ppBuffer,pBufferLength) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICanvasPixelArrayData_INTERFACE_DEFINED__ */


#ifndef __IViewObjectPrint_INTERFACE_DEFINED__
#define __IViewObjectPrint_INTERFACE_DEFINED__

/* interface IViewObjectPrint */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IViewObjectPrint;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305106e3-98b5-11cf-bb82-00aa00bdce0b")
    IViewObjectPrint : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetPrintBitmap( 
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **ppPrintBitmap) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IViewObjectPrintVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IViewObjectPrint * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IViewObjectPrint * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IViewObjectPrint * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetPrintBitmap )( 
            __RPC__in IViewObjectPrint * This,
            /* [out][retval] */ __RPC__deref_out_opt IUnknown **ppPrintBitmap);
        
        END_INTERFACE
    } IViewObjectPrintVtbl;

    interface IViewObjectPrint
    {
        CONST_VTBL struct IViewObjectPrintVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IViewObjectPrint_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IViewObjectPrint_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IViewObjectPrint_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IViewObjectPrint_GetPrintBitmap(This,ppPrintBitmap)	\
    ( (This)->lpVtbl -> GetPrintBitmap(This,ppPrintBitmap) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IViewObjectPrint_INTERFACE_DEFINED__ */


#ifndef __IViewObjectPresentNotifySite_INTERFACE_DEFINED__
#define __IViewObjectPresentNotifySite_INTERFACE_DEFINED__

/* interface IViewObjectPresentNotifySite */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IViewObjectPresentNotifySite;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305107fa-98b5-11cf-bb82-00aa00bdce0b")
    IViewObjectPresentNotifySite : public IViewObjectPresentSite
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE RequestFrame( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IViewObjectPresentNotifySiteVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IViewObjectPresentNotifySite * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IViewObjectPresentNotifySite * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IViewObjectPresentNotifySite * This);
        
        HRESULT ( STDMETHODCALLTYPE *CreateSurfacePresenter )( 
            __RPC__in IViewObjectPresentNotifySite * This,
            /* [in] */ __RPC__in_opt IUnknown *pDevice,
            /* [in] */ UINT width,
            /* [in] */ UINT height,
            /* [in] */ UINT backBufferCount,
            /* [in] */ DXGI_FORMAT format,
            /* [in] */ VIEW_OBJECT_ALPHA_MODE mode,
            /* [out][retval] */ __RPC__deref_out_opt ISurfacePresenter **ppQueue);
        
        HRESULT ( STDMETHODCALLTYPE *IsHardwareComposition )( 
            __RPC__in IViewObjectPresentNotifySite * This,
            /* [out][retval] */ __RPC__out BOOL *pIsHardwareComposition);
        
        HRESULT ( STDMETHODCALLTYPE *SetCompositionMode )( 
            __RPC__in IViewObjectPresentNotifySite * This,
            /* [in] */ VIEW_OBJECT_COMPOSITION_MODE mode);
        
        HRESULT ( STDMETHODCALLTYPE *RequestFrame )( 
            __RPC__in IViewObjectPresentNotifySite * This);
        
        END_INTERFACE
    } IViewObjectPresentNotifySiteVtbl;

    interface IViewObjectPresentNotifySite
    {
        CONST_VTBL struct IViewObjectPresentNotifySiteVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IViewObjectPresentNotifySite_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IViewObjectPresentNotifySite_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IViewObjectPresentNotifySite_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IViewObjectPresentNotifySite_CreateSurfacePresenter(This,pDevice,width,height,backBufferCount,format,mode,ppQueue)	\
    ( (This)->lpVtbl -> CreateSurfacePresenter(This,pDevice,width,height,backBufferCount,format,mode,ppQueue) ) 

#define IViewObjectPresentNotifySite_IsHardwareComposition(This,pIsHardwareComposition)	\
    ( (This)->lpVtbl -> IsHardwareComposition(This,pIsHardwareComposition) ) 

#define IViewObjectPresentNotifySite_SetCompositionMode(This,mode)	\
    ( (This)->lpVtbl -> SetCompositionMode(This,mode) ) 


#define IViewObjectPresentNotifySite_RequestFrame(This)	\
    ( (This)->lpVtbl -> RequestFrame(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IViewObjectPresentNotifySite_INTERFACE_DEFINED__ */


#ifndef __IViewObjectPresentNotify_INTERFACE_DEFINED__
#define __IViewObjectPresentNotify_INTERFACE_DEFINED__

/* interface IViewObjectPresentNotify */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IViewObjectPresentNotify;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("305107f8-98b5-11cf-bb82-00aa00bdce0b")
    IViewObjectPresentNotify : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE OnPreRender( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IViewObjectPresentNotifyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IViewObjectPresentNotify * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IViewObjectPresentNotify * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IViewObjectPresentNotify * This);
        
        HRESULT ( STDMETHODCALLTYPE *OnPreRender )( 
            __RPC__in IViewObjectPresentNotify * This);
        
        END_INTERFACE
    } IViewObjectPresentNotifyVtbl;

    interface IViewObjectPresentNotify
    {
        CONST_VTBL struct IViewObjectPresentNotifyVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IViewObjectPresentNotify_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IViewObjectPresentNotify_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IViewObjectPresentNotify_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IViewObjectPresentNotify_OnPreRender(This)	\
    ( (This)->lpVtbl -> OnPreRender(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IViewObjectPresentNotify_INTERFACE_DEFINED__ */


#ifndef __ITrackingProtection_INTERFACE_DEFINED__
#define __ITrackingProtection_INTERFACE_DEFINED__

/* interface ITrackingProtection */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_ITrackingProtection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510803-98b5-11cf-bb82-00aa00bdce0b")
    ITrackingProtection : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE EvaluateUrl( 
            /* [in] */ __RPC__in BSTR bstrUrl,
            /* [out] */ __RPC__out BOOL *pfAllowed) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetEnabled( 
            /* [out] */ __RPC__out BOOL *pfEnabled) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ITrackingProtectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in ITrackingProtection * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in ITrackingProtection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in ITrackingProtection * This);
        
        HRESULT ( STDMETHODCALLTYPE *EvaluateUrl )( 
            __RPC__in ITrackingProtection * This,
            /* [in] */ __RPC__in BSTR bstrUrl,
            /* [out] */ __RPC__out BOOL *pfAllowed);
        
        HRESULT ( STDMETHODCALLTYPE *GetEnabled )( 
            __RPC__in ITrackingProtection * This,
            /* [out] */ __RPC__out BOOL *pfEnabled);
        
        END_INTERFACE
    } ITrackingProtectionVtbl;

    interface ITrackingProtection
    {
        CONST_VTBL struct ITrackingProtectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ITrackingProtection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ITrackingProtection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ITrackingProtection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ITrackingProtection_EvaluateUrl(This,bstrUrl,pfAllowed)	\
    ( (This)->lpVtbl -> EvaluateUrl(This,bstrUrl,pfAllowed) ) 

#define ITrackingProtection_GetEnabled(This,pfEnabled)	\
    ( (This)->lpVtbl -> GetEnabled(This,pfEnabled) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ITrackingProtection_INTERFACE_DEFINED__ */


#ifndef __IBFCacheable_INTERFACE_DEFINED__
#define __IBFCacheable_INTERFACE_DEFINED__

/* interface IBFCacheable */
/* [uuid][unique][object] */ 


EXTERN_C const IID IID_IBFCacheable;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30510861-98b5-11cf-bb82-00aa00bdce0b")
    IBFCacheable : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE EnterBFCache( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ExitBFCache( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IBFCacheableVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in IBFCacheable * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in IBFCacheable * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in IBFCacheable * This);
        
        HRESULT ( STDMETHODCALLTYPE *EnterBFCache )( 
            __RPC__in IBFCacheable * This);
        
        HRESULT ( STDMETHODCALLTYPE *ExitBFCache )( 
            __RPC__in IBFCacheable * This);
        
        END_INTERFACE
    } IBFCacheableVtbl;

    interface IBFCacheable
    {
        CONST_VTBL struct IBFCacheableVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IBFCacheable_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IBFCacheable_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IBFCacheable_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IBFCacheable_EnterBFCache(This)	\
    ( (This)->lpVtbl -> EnterBFCache(This) ) 

#define IBFCacheable_ExitBFCache(This)	\
    ( (This)->lpVtbl -> ExitBFCache(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IBFCacheable_INTERFACE_DEFINED__ */

#endif /* __MSHTML_LIBRARY_DEFINED__ */

/* interface __MIDL_itf_mshtml_0000_0004 */
/* [local] */ 

#endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)


extern RPC_IF_HANDLE __MIDL_itf_mshtml_0000_0004_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mshtml_0000_0004_v0_0_s_ifspec;

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  VARIANT_UserSize(     __RPC__in unsigned long *, unsigned long            , __RPC__in VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserMarshal(  __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out VARIANT * ); 
void                      __RPC_USER  VARIANT_UserFree(     __RPC__in unsigned long *, __RPC__in VARIANT * ); 

unsigned long             __RPC_USER  VARIANT_UserSize64(     __RPC__in unsigned long *, unsigned long            , __RPC__in VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserMarshal64(  __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserUnmarshal64(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out VARIANT * ); 
void                      __RPC_USER  VARIANT_UserFree64(     __RPC__in unsigned long *, __RPC__in VARIANT * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif



Youez - 2016 - github.com/yon3zu
LinuXploit