package body MSHTML.DispHTMLWindow2_Object is

   function item
     (This      : DispHTMLWindow2_Type;
      pvarIndex : GNATCOM.Types.VARIANT;
      Free      : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         DispHTMLWindow2_item,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => pvarIndex),
         Free);
   end item;

   function Get_length
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_length);
   end Get_length;

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

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

   function Get_defaultStatus
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_defaultStatus);
   end Get_defaultStatus;

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

   function Get_status
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_status);
   end Get_status;

   procedure clearTimeout
     (This    : DispHTMLWindow2_Type;
      timerID : GNATCOM.Types.VARIANT;
      Free    : Boolean := True)
   is
   begin
      Invoke
        (This,
         DispHTMLWindow2_clearTimeout,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => timerID),
         Free);
   end clearTimeout;

   procedure alert
     (This    : DispHTMLWindow2_Type;
      message : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free    : Boolean := True)
   is
   begin
      Invoke
        (This,
         DispHTMLWindow2_alert,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => message),
         Free);
   end alert;

   function confirm
     (This    : DispHTMLWindow2_Type;
      message : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free    : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         DispHTMLWindow2_confirm,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => message),
         Free);
   end confirm;

   function prompt
     (This    : DispHTMLWindow2_Type;
      message : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      defstr  : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free    : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         DispHTMLWindow2_prompt,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => defstr,
          2 => message),
         Free);
   end prompt;

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

   function Get_history
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_history);
   end Get_history;

   procedure close
     (This : DispHTMLWindow2_Type)
   is
   begin
      Invoke (This, DispHTMLWindow2_close);
   end close;

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

   function Get_opener
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_opener);
   end Get_opener;

   function Get_navigator
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_navigator);
   end Get_navigator;

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

   function Get_name
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_name);
   end Get_name;

   function Get_parent
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_parent);
   end Get_parent;

   function open
     (This     : DispHTMLWindow2_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,
         DispHTMLWindow2_open,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => replace,
          2 => features,
          3 => name,
          4 => url),
         Free);
   end open;

   function Get_self
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_self);
   end Get_self;

   function Get_top
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_top);
   end Get_top;

   function Get_window
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_window);
   end Get_window;

   procedure navigate
     (This : DispHTMLWindow2_Type;
      url  : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Invoke
        (This,
         DispHTMLWindow2_navigate,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => url),
         Free);
   end navigate;

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

   function Get_onfocus
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onfocus);
   end Get_onfocus;

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

   function Get_onblur
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onblur);
   end Get_onblur;

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

   function Get_onload
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onload);
   end Get_onload;

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

   function Get_onbeforeunload
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onbeforeunload);
   end Get_onbeforeunload;

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

   function Get_onunload
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onunload);
   end Get_onunload;

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

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

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

   function Get_onerror
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onerror);
   end Get_onerror;

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

   function Get_onresize
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onresize);
   end Get_onresize;

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

   function Get_onscroll
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onscroll);
   end Get_onscroll;

   function Get_document
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_document);
   end Get_document;

   function Get_event
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_event);
   end Get_event;

   function Getu_newEnum
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Getu_newEnum);
   end Getu_newEnum;

   function showModalDialog
     (This       : DispHTMLWindow2_Type;
      dialog     : GNATCOM.Types.VARIANT;
      varArgIn   : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      varOptions : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free       : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         DispHTMLWindow2_showModalDialog,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => varOptions,
          2 => varArgIn,
          3 => dialog),
         Free);
   end showModalDialog;

   procedure showHelp
     (This     : DispHTMLWindow2_Type;
      helpURL  : GNATCOM.Types.VARIANT;
      helpArg  : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      features : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free     : Boolean := True)
   is
   begin
      Invoke
        (This,
         DispHTMLWindow2_showHelp,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => features,
          2 => helpArg,
          3 => helpURL),
         Free);
   end showHelp;

   function Get_screen
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_screen);
   end Get_screen;

   procedure focus
     (This : DispHTMLWindow2_Type)
   is
   begin
      Invoke (This, DispHTMLWindow2_focus);
   end focus;

   function Get_closed
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_closed);
   end Get_closed;

   procedure blur
     (This : DispHTMLWindow2_Type)
   is
   begin
      Invoke (This, DispHTMLWindow2_blur);
   end blur;

   procedure scroll
     (This : DispHTMLWindow2_Type;
      x    : GNATCOM.Types.VARIANT;
      y    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Invoke
        (This,
         DispHTMLWindow2_scroll,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => y,
          2 => x),
         Free);
   end scroll;

   function Get_clientInformation
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_clientInformation);
   end Get_clientInformation;

   procedure clearInterval
     (This    : DispHTMLWindow2_Type;
      timerID : GNATCOM.Types.VARIANT;
      Free    : Boolean := True)
   is
   begin
      Invoke
        (This,
         DispHTMLWindow2_clearInterval,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => timerID),
         Free);
   end clearInterval;

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

   function Get_offscreenBuffering
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_offscreenBuffering);
   end Get_offscreenBuffering;

   function execScript
     (This     : DispHTMLWindow2_Type;
      code     : GNATCOM.Types.VARIANT;
      language : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free     : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         DispHTMLWindow2_execScript,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => language,
          2 => code),
         Free);
   end execScript;

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

   procedure scrollBy
     (This : DispHTMLWindow2_Type;
      x    : GNATCOM.Types.VARIANT;
      y    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Invoke
        (This,
         DispHTMLWindow2_scrollBy,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => y,
          2 => x),
         Free);
   end scrollBy;

   procedure scrollTo
     (This : DispHTMLWindow2_Type;
      x    : GNATCOM.Types.VARIANT;
      y    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Invoke
        (This,
         DispHTMLWindow2_scrollTo,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => y,
          2 => x),
         Free);
   end scrollTo;

   procedure moveTo
     (This : DispHTMLWindow2_Type;
      x    : GNATCOM.Types.VARIANT;
      y    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Invoke
        (This,
         DispHTMLWindow2_moveTo,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => y,
          2 => x),
         Free);
   end moveTo;

   procedure moveBy
     (This : DispHTMLWindow2_Type;
      x    : GNATCOM.Types.VARIANT;
      y    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Invoke
        (This,
         DispHTMLWindow2_moveBy,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => y,
          2 => x),
         Free);
   end moveBy;

   procedure resizeTo
     (This : DispHTMLWindow2_Type;
      x    : GNATCOM.Types.VARIANT;
      y    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Invoke
        (This,
         DispHTMLWindow2_resizeTo,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => y,
          2 => x),
         Free);
   end resizeTo;

   procedure resizeBy
     (This : DispHTMLWindow2_Type;
      x    : GNATCOM.Types.VARIANT;
      y    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Invoke
        (This,
         DispHTMLWindow2_resizeBy,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => y,
          2 => x),
         Free);
   end resizeBy;

   function Get_external
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_external);
   end Get_external;

   function Get_screenLeft
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_screenLeft);
   end Get_screenLeft;

   function Get_screenTop
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_screenTop);
   end Get_screenTop;

   function attachEvent
     (This  : DispHTMLWindow2_Type;
      event : GNATCOM.Types.VARIANT;
      pdisp : GNATCOM.Types.VARIANT;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         DispHTMLWindow2_attachEvent,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => pdisp,
          2 => event),
         Free);
   end attachEvent;

   procedure detachEvent
     (This  : DispHTMLWindow2_Type;
      event : GNATCOM.Types.VARIANT;
      pdisp : GNATCOM.Types.VARIANT;
      Free  : Boolean := True)
   is
   begin
      Invoke
        (This,
         DispHTMLWindow2_detachEvent,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => pdisp,
          2 => event),
         Free);
   end detachEvent;

   function setTimeout
     (This       : DispHTMLWindow2_Type;
      expression : GNATCOM.Types.VARIANT;
      msec       : GNATCOM.Types.VARIANT;
      language   : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free       : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         DispHTMLWindow2_setTimeout,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => language,
          2 => msec,
          3 => expression),
         Free);
   end setTimeout;

   function setInterval
     (This       : DispHTMLWindow2_Type;
      expression : GNATCOM.Types.VARIANT;
      msec       : GNATCOM.Types.VARIANT;
      language   : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free       : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         DispHTMLWindow2_setInterval,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => language,
          2 => msec,
          3 => expression),
         Free);
   end setInterval;

   procedure print
     (This : DispHTMLWindow2_Type)
   is
   begin
      Invoke (This, DispHTMLWindow2_print);
   end print;

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

   function Get_onbeforeprint
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onbeforeprint);
   end Get_onbeforeprint;

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

   function Get_onafterprint
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onafterprint);
   end Get_onafterprint;

   function Get_clipboardData
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_clipboardData);
   end Get_clipboardData;

   function showModelessDialog
     (This     : DispHTMLWindow2_Type;
      url      : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      varArgIn : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      options  : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free     : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         DispHTMLWindow2_showModelessDialog,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => options,
          2 => varArgIn,
          3 => url),
         Free);
   end showModelessDialog;

   function createPopup
     (This     : DispHTMLWindow2_Type;
      varArgIn : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free     : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         DispHTMLWindow2_createPopup,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => varArgIn),
         Free);
   end createPopup;

   function Get_frameElement
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_frameElement);
   end Get_frameElement;

   function Get_sessionStorage
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_sessionStorage);
   end Get_sessionStorage;

   function Get_localStorage
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_localStorage);
   end Get_localStorage;

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

   function Get_onhashchange
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onhashchange);
   end Get_onhashchange;

   function Get_maxConnectionsPerServer
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_maxConnectionsPerServer);
   end Get_maxConnectionsPerServer;

   procedure postMessage
     (This         : DispHTMLWindow2_Type;
      msg          : GNATCOM.Types.VARIANT;
      targetOrigin : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free         : Boolean := True)
   is
   begin
      Invoke
        (This,
         DispHTMLWindow2_postMessage,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => targetOrigin,
          2 => msg),
         Free);
   end postMessage;

   function toStaticHTML
     (This     : DispHTMLWindow2_Type;
      bstrHTML : GNATCOM.Types.VARIANT;
      Free     : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         DispHTMLWindow2_toStaticHTML,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => bstrHTML),
         Free);
   end toStaticHTML;

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

   function Get_onmessage
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onmessage);
   end Get_onmessage;

   procedure msWriteProfilerMark
     (This                 : DispHTMLWindow2_Type;
      bstrProfilerMarkName : GNATCOM.Types.VARIANT;
      Free                 : Boolean := True)
   is
   begin
      Invoke
        (This,
         DispHTMLWindow2_msWriteProfilerMark,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => bstrProfilerMarkName),
         Free);
   end msWriteProfilerMark;

   function getSelection
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke (This, DispHTMLWindow2_getSelection);
   end getSelection;

   function getComputedStyle
     (This          : DispHTMLWindow2_Type;
      varArgIn      : GNATCOM.Types.VARIANT;
      bstrPseudoElt : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free          : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         DispHTMLWindow2_getComputedStyle,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => bstrPseudoElt,
          2 => varArgIn),
         Free);
   end getComputedStyle;

   function Get_styleMedia
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_styleMedia);
   end Get_styleMedia;

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

   function Get_performance
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_performance);
   end Get_performance;

   function Get_innerWidth
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_innerWidth);
   end Get_innerWidth;

   function Get_innerHeight
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_innerHeight);
   end Get_innerHeight;

   function Get_pageXOffset
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_pageXOffset);
   end Get_pageXOffset;

   function Get_pageYOffset
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_pageYOffset);
   end Get_pageYOffset;

   function Get_screenX
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_screenX);
   end Get_screenX;

   function Get_screenY
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_screenY);
   end Get_screenY;

   function Get_outerWidth
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_outerWidth);
   end Get_outerWidth;

   function Get_outerHeight
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_outerHeight);
   end Get_outerHeight;

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

   function Get_onabort
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onabort);
   end Get_onabort;

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

   function Get_oncanplay
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_oncanplay);
   end Get_oncanplay;

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

   function Get_oncanplaythrough
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_oncanplaythrough);
   end Get_oncanplaythrough;

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

   function Get_onchange
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onchange);
   end Get_onchange;

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

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

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

   function Get_oncontextmenu
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_oncontextmenu);
   end Get_oncontextmenu;

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

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

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

   function Get_ondrag
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_ondrag);
   end Get_ondrag;

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

   function Get_ondragend
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_ondragend);
   end Get_ondragend;

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

   function Get_ondragenter
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_ondragenter);
   end Get_ondragenter;

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

   function Get_ondragleave
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_ondragleave);
   end Get_ondragleave;

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

   function Get_ondragover
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_ondragover);
   end Get_ondragover;

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

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

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

   function Get_ondrop
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_ondrop);
   end Get_ondrop;

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

   function Get_ondurationchange
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_ondurationchange);
   end Get_ondurationchange;

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

   function Get_onfocusin
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onfocusin);
   end Get_onfocusin;

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

   function Get_onfocusout
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onfocusout);
   end Get_onfocusout;

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

   function Get_oninput
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_oninput);
   end Get_oninput;

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

   function Get_onemptied
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onemptied);
   end Get_onemptied;

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

   function Get_onended
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onended);
   end Get_onended;

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

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

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

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

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

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

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

   function Get_onloadeddata
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onloadeddata);
   end Get_onloadeddata;

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

   function Get_onloadedmetadata
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onloadedmetadata);
   end Get_onloadedmetadata;

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

   function Get_onloadstart
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onloadstart);
   end Get_onloadstart;

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

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

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

   function Get_onmouseenter
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onmouseenter);
   end Get_onmouseenter;

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

   function Get_onmouseleave
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onmouseleave);
   end Get_onmouseleave;

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

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

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

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

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

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

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

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

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

   function Get_onmousewheel
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onmousewheel);
   end Get_onmousewheel;

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

   function Get_onoffline
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onoffline);
   end Get_onoffline;

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

   function Get_ononline
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_ononline);
   end Get_ononline;

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

   function Get_onprogress
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onprogress);
   end Get_onprogress;

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

   function Get_onratechange
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onratechange);
   end Get_onratechange;

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

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

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

   function Get_onreset
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onreset);
   end Get_onreset;

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

   function Get_onseeked
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onseeked);
   end Get_onseeked;

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

   function Get_onseeking
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onseeking);
   end Get_onseeking;

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

   function Get_onselect
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onselect);
   end Get_onselect;

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

   function Get_onstalled
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onstalled);
   end Get_onstalled;

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

   function Get_onstorage
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onstorage);
   end Get_onstorage;

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

   function Get_onsubmit
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onsubmit);
   end Get_onsubmit;

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

   function Get_onsuspend
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onsuspend);
   end Get_onsuspend;

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

   function Get_ontimeupdate
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_ontimeupdate);
   end Get_ontimeupdate;

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

   function Get_onpause
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onpause);
   end Get_onpause;

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

   function Get_onplay
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onplay);
   end Get_onplay;

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

   function Get_onplaying
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onplaying);
   end Get_onplaying;

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

   function Get_onvolumechange
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onvolumechange);
   end Get_onvolumechange;

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

   function Get_onwaiting
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onwaiting);
   end Get_onwaiting;

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

   function Get_onmspointerdown
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onmspointerdown);
   end Get_onmspointerdown;

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

   function Get_onmspointermove
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onmspointermove);
   end Get_onmspointermove;

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

   function Get_onmspointerup
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onmspointerup);
   end Get_onmspointerup;

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

   function Get_onmspointerover
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onmspointerover);
   end Get_onmspointerover;

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

   function Get_onmspointerout
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onmspointerout);
   end Get_onmspointerout;

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

   function Get_onmspointercancel
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onmspointercancel);
   end Get_onmspointercancel;

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

   function Get_onmspointerhover
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onmspointerhover);
   end Get_onmspointerhover;

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

   function Get_onmsgesturestart
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onmsgesturestart);
   end Get_onmsgesturestart;

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

   function Get_onmsgesturechange
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onmsgesturechange);
   end Get_onmsgesturechange;

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

   function Get_onmsgestureend
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onmsgestureend);
   end Get_onmsgestureend;

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

   function Get_onmsgesturehold
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onmsgesturehold);
   end Get_onmsgesturehold;

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

   function Get_onmsgesturetap
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onmsgesturetap);
   end Get_onmsgesturetap;

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

   function Get_onmsgesturedoubletap
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onmsgesturedoubletap);
   end Get_onmsgesturedoubletap;

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

   function Get_onmsinertiastart
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onmsinertiastart);
   end Get_onmsinertiastart;

   function Get_applicationCache
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_applicationCache);
   end Get_applicationCache;

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

   function Get_onpopstate
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_onpopstate);
   end Get_onpopstate;

   function Get_constructor
     (This : DispHTMLWindow2_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLWindow2_Get_constructor);
   end Get_constructor;

   procedure addEventListener
     (This       : DispHTMLWindow2_Type;
      utype      : GNATCOM.Types.VARIANT;
      listener   : GNATCOM.Types.VARIANT;
      useCapture : GNATCOM.Types.VARIANT;
      Free       : Boolean := True)
   is
   begin
      Invoke
        (This,
         DispHTMLWindow2_addEventListener,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => useCapture,
          2 => listener,
          3 => utype),
         Free);
   end addEventListener;

   procedure removeEventListener
     (This       : DispHTMLWindow2_Type;
      utype      : GNATCOM.Types.VARIANT;
      listener   : GNATCOM.Types.VARIANT;
      useCapture : GNATCOM.Types.VARIANT;
      Free       : Boolean := True)
   is
   begin
      Invoke
        (This,
         DispHTMLWindow2_removeEventListener,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => useCapture,
          2 => listener,
          3 => utype),
         Free);
   end removeEventListener;

   function dispatchEvent
     (This : DispHTMLWindow2_Type;
      evt  : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         DispHTMLWindow2_dispatchEvent,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => evt),
         Free);
   end dispatchEvent;

end MSHTML.DispHTMLWindow2_Object;

