package body MSHTML.IHTMLDocument2_Object is

   function Get_Script
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_Script);
   end Get_Script;

   function Get_all
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_all);
   end Get_all;

   function Get_body
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_body);
   end Get_body;

   function Get_activeElement
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_activeElement);
   end Get_activeElement;

   function Get_images
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_images);
   end Get_images;

   function Get_applets
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_applets);
   end Get_applets;

   function Get_links
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_links);
   end Get_links;

   function Get_forms
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_forms);
   end Get_forms;

   function Get_anchors
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_anchors);
   end Get_anchors;

   procedure Put_title
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_title,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_title;

   function Get_title
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_title);
   end Get_title;

   function Get_scripts
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_scripts);
   end Get_scripts;

   procedure Put_designMode
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_designMode,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_designMode;

   function Get_designMode
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_designMode);
   end Get_designMode;

   function Get_selection
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_selection);
   end Get_selection;

   function Get_readyState
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_readyState);
   end Get_readyState;

   function Get_frames
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_frames);
   end Get_frames;

   function Get_embeds
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_embeds);
   end Get_embeds;

   function Get_plugins
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_plugins);
   end Get_plugins;

   procedure Put_alinkColor
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_alinkColor,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_alinkColor;

   function Get_alinkColor
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_alinkColor);
   end Get_alinkColor;

   procedure Put_bgColor
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_bgColor,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_bgColor;

   function Get_bgColor
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_bgColor);
   end Get_bgColor;

   procedure Put_fgColor
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_fgColor,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_fgColor;

   function Get_fgColor
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_fgColor);
   end Get_fgColor;

   procedure Put_linkColor
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_linkColor,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_linkColor;

   function Get_linkColor
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_linkColor);
   end Get_linkColor;

   procedure Put_vlinkColor
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_vlinkColor,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_vlinkColor;

   function Get_vlinkColor
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_vlinkColor);
   end Get_vlinkColor;

   function Get_referrer
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_referrer);
   end Get_referrer;

   function Get_location
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_location);
   end Get_location;

   function Get_lastModified
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_lastModified);
   end Get_lastModified;

   procedure Put_url
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_url,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_url;

   function Get_url
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_url);
   end Get_url;

   procedure Put_domain
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_domain,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_domain;

   function Get_domain
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_domain);
   end Get_domain;

   procedure Put_cookie
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_cookie,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_cookie;

   function Get_cookie
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_cookie);
   end Get_cookie;

   procedure Put_expando
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_expando,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_expando;

   function Get_expando
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_expando);
   end Get_expando;

   procedure Put_charset
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_charset,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_charset;

   function Get_charset
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_charset);
   end Get_charset;

   procedure Put_defaultCharset
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_defaultCharset,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_defaultCharset;

   function Get_defaultCharset
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_defaultCharset);
   end Get_defaultCharset;

   function Get_mimeType
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_mimeType);
   end Get_mimeType;

   function Get_fileSize
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_fileSize);
   end Get_fileSize;

   function Get_fileCreatedDate
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_fileCreatedDate);
   end Get_fileCreatedDate;

   function Get_fileModifiedDate
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_fileModifiedDate);
   end Get_fileModifiedDate;

   function Get_fileUpdatedDate
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_fileUpdatedDate);
   end Get_fileUpdatedDate;

   function Get_security
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_security);
   end Get_security;

   function Get_protocol
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_protocol);
   end Get_protocol;

   function Get_nameProp
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_nameProp);
   end Get_nameProp;

   procedure write
     (This    : IHTMLDocument2_Type;
      psarray : GNATCOM.Types.VARIANT;
      Free    : Boolean := True)
   is
   begin
      Invoke
        (This,
         IHTMLDocument2_write,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => psarray),
         Free);
   end write;

   procedure writeln
     (This    : IHTMLDocument2_Type;
      psarray : GNATCOM.Types.VARIANT;
      Free    : Boolean := True)
   is
   begin
      Invoke
        (This,
         IHTMLDocument2_writeln,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => psarray),
         Free);
   end writeln;

   function open
     (This     : IHTMLDocument2_Type;
      url      : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      name     : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      features : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      replace  : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free     : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IHTMLDocument2_open,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => replace,
          2 => features,
          3 => name,
          4 => url),
         Free);
   end open;

   procedure close
     (This : IHTMLDocument2_Type)
   is
   begin
      Invoke (This, IHTMLDocument2_close);
   end close;

   procedure clear
     (This : IHTMLDocument2_Type)
   is
   begin
      Invoke (This, IHTMLDocument2_clear);
   end clear;

   function queryCommandSupported
     (This  : IHTMLDocument2_Type;
      cmdID : GNATCOM.Types.VARIANT;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IHTMLDocument2_queryCommandSupported,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => cmdID),
         Free);
   end queryCommandSupported;

   function queryCommandEnabled
     (This  : IHTMLDocument2_Type;
      cmdID : GNATCOM.Types.VARIANT;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IHTMLDocument2_queryCommandEnabled,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => cmdID),
         Free);
   end queryCommandEnabled;

   function queryCommandState
     (This  : IHTMLDocument2_Type;
      cmdID : GNATCOM.Types.VARIANT;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IHTMLDocument2_queryCommandState,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => cmdID),
         Free);
   end queryCommandState;

   function queryCommandIndeterm
     (This  : IHTMLDocument2_Type;
      cmdID : GNATCOM.Types.VARIANT;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IHTMLDocument2_queryCommandIndeterm,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => cmdID),
         Free);
   end queryCommandIndeterm;

   function queryCommandText
     (This  : IHTMLDocument2_Type;
      cmdID : GNATCOM.Types.VARIANT;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IHTMLDocument2_queryCommandText,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => cmdID),
         Free);
   end queryCommandText;

   function queryCommandValue
     (This  : IHTMLDocument2_Type;
      cmdID : GNATCOM.Types.VARIANT;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IHTMLDocument2_queryCommandValue,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => cmdID),
         Free);
   end queryCommandValue;

   function execCommand
     (This   : IHTMLDocument2_Type;
      cmdID  : GNATCOM.Types.VARIANT;
      showUI : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      value  : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free   : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IHTMLDocument2_execCommand,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => value,
          2 => showUI,
          3 => cmdID),
         Free);
   end execCommand;

   function execCommandShowHelp
     (This  : IHTMLDocument2_Type;
      cmdID : GNATCOM.Types.VARIANT;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IHTMLDocument2_execCommandShowHelp,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => cmdID),
         Free);
   end execCommandShowHelp;

   function createElement
     (This : IHTMLDocument2_Type;
      eTag : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IHTMLDocument2_createElement,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => eTag),
         Free);
   end createElement;

   procedure Put_onhelp
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_onhelp,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_onhelp;

   function Get_onhelp
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_onhelp);
   end Get_onhelp;

   procedure Put_onclick
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_onclick,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_onclick;

   function Get_onclick
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_onclick);
   end Get_onclick;

   procedure Put_ondblclick
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_ondblclick,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_ondblclick;

   function Get_ondblclick
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_ondblclick);
   end Get_ondblclick;

   procedure Put_onkeyup
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_onkeyup,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_onkeyup;

   function Get_onkeyup
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_onkeyup);
   end Get_onkeyup;

   procedure Put_onkeydown
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_onkeydown,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_onkeydown;

   function Get_onkeydown
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_onkeydown);
   end Get_onkeydown;

   procedure Put_onkeypress
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_onkeypress,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_onkeypress;

   function Get_onkeypress
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_onkeypress);
   end Get_onkeypress;

   procedure Put_onmouseup
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_onmouseup,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_onmouseup;

   function Get_onmouseup
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_onmouseup);
   end Get_onmouseup;

   procedure Put_onmousedown
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_onmousedown,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_onmousedown;

   function Get_onmousedown
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_onmousedown);
   end Get_onmousedown;

   procedure Put_onmousemove
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_onmousemove,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_onmousemove;

   function Get_onmousemove
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_onmousemove);
   end Get_onmousemove;

   procedure Put_onmouseout
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_onmouseout,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_onmouseout;

   function Get_onmouseout
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_onmouseout);
   end Get_onmouseout;

   procedure Put_onmouseover
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_onmouseover,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_onmouseover;

   function Get_onmouseover
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_onmouseover);
   end Get_onmouseover;

   procedure Put_onreadystatechange
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_onreadystatechange,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_onreadystatechange;

   function Get_onreadystatechange
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_onreadystatechange);
   end Get_onreadystatechange;

   procedure Put_onafterupdate
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_onafterupdate,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_onafterupdate;

   function Get_onafterupdate
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_onafterupdate);
   end Get_onafterupdate;

   procedure Put_onrowexit
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_onrowexit,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_onrowexit;

   function Get_onrowexit
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_onrowexit);
   end Get_onrowexit;

   procedure Put_onrowenter
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_onrowenter,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_onrowenter;

   function Get_onrowenter
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_onrowenter);
   end Get_onrowenter;

   procedure Put_ondragstart
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_ondragstart,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_ondragstart;

   function Get_ondragstart
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_ondragstart);
   end Get_ondragstart;

   procedure Put_onselectstart
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_onselectstart,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_onselectstart;

   function Get_onselectstart
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_onselectstart);
   end Get_onselectstart;

   function elementFromPoint
     (This : IHTMLDocument2_Type;
      x    : GNATCOM.Types.VARIANT;
      y    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IHTMLDocument2_elementFromPoint,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => y,
          2 => x),
         Free);
   end elementFromPoint;

   function Get_parentWindow
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_parentWindow);
   end Get_parentWindow;

   function Get_styleSheets
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_styleSheets);
   end Get_styleSheets;

   procedure Put_onbeforeupdate
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_onbeforeupdate,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_onbeforeupdate;

   function Get_onbeforeupdate
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_onbeforeupdate);
   end Get_onbeforeupdate;

   procedure Put_onerrorupdate
     (This : IHTMLDocument2_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLDocument2_Put_onerrorupdate,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_onerrorupdate;

   function Get_onerrorupdate
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLDocument2_Get_onerrorupdate);
   end Get_onerrorupdate;

   function toString
     (This : IHTMLDocument2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke (This, IHTMLDocument2_toString);
   end toString;

   function createStyleSheet
     (This     : IHTMLDocument2_Type;
      bstrHref : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      lIndex   : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free     : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IHTMLDocument2_createStyleSheet,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => lIndex,
          2 => bstrHref),
         Free);
   end createStyleSheet;

end MSHTML.IHTMLDocument2_Object;

