--  Generated by             : BindCOM
--  Generated on             : 11.07.2012 23:33:13
--  Library Name             : SHDocVw
--  Library Documentation    : Microsoft Internet Controls
--  Library Version          : 1.1
--  Library LIBID            : {EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}
--  Elements in Type Library : 32

with Ada.Unchecked_Conversion;
with Interfaces.C;

with GNATCOM.Types;
with GNATCOM.GUID;

package IE is

   type IWebBrowser;
   subtype DWebBrowserEvents is GNATCOM.Types.Pointer_To_IDispatch;
   subtype CommandStateChangeConstants is Interfaces.C.long;
   type IWebBrowserApp;
   type IWebBrowser2;
   subtype OLECMDID is Interfaces.C.long;
   subtype OLECMDF is Interfaces.C.long;
   subtype OLECMDEXECOPT is Interfaces.C.long;
   subtype tagREADYSTATE is Interfaces.C.long;
   subtype SecureLockIconConstants is Interfaces.C.long;
   subtype NewProcessCauseConstants is Interfaces.C.long;
   subtype DWebBrowserEvents2 is GNATCOM.Types.Pointer_To_IDispatch;
   subtype ShellWindowTypeConstants is Interfaces.C.long;
   subtype ShellWindowFindWindowOptions is Interfaces.C.long;
   subtype DShellWindowsEvents is GNATCOM.Types.Pointer_To_IDispatch;
   type IShellWindows;
   type IShellUIHelper;
   type IShellUIHelper2;
   type IShellUIHelper3;
   subtype DShellNameSpaceEvents is GNATCOM.Types.Pointer_To_IDispatch;
   type IShellFavoritesNameSpace;
   type IShellNameSpace;
   type IScriptErrorList;

   type Pointer_To_IWebBrowser is access all IWebBrowser;
   type Pointer_To_IWebBrowserApp is access all IWebBrowserApp;
   type Pointer_To_IWebBrowser2 is access all IWebBrowser2;
   type Pointer_To_OLECMDF is access all OLECMDF;
   type Pointer_To_tagREADYSTATE is access all tagREADYSTATE;
   type Pointer_To_IShellWindows is access all IShellWindows;
   type Pointer_To_IShellUIHelper is access all IShellUIHelper;
   type Pointer_To_IShellUIHelper2 is access all IShellUIHelper2;
   type Pointer_To_IShellUIHelper3 is access all IShellUIHelper3;
   type Pointer_To_IShellFavoritesNameSpace is
     access all IShellFavoritesNameSpace;
   type Pointer_To_IShellNameSpace is access all IShellNameSpace;
   type Pointer_To_IScriptErrorList is access all IScriptErrorList;

   LIBID_SHDocVw : aliased GNATCOM.Types.GUID :=
     GNATCOM.GUID.To_GUID ("{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}");

   --  Element Index         : 0
   --  Element Name          : IWebBrowser
   --  Element Documentation : Web Browser interface
   --  Element Type          : Dispatch

   IID_IWebBrowser : aliased GNATCOM.Types.GUID :=
     GNATCOM.GUID.To_GUID ("{EAB22AC1-30C1-11CF-A7EB-0000C05BAE0B}");

   type af_IWebBrowser_QueryInterface is access
     function (This   : access IWebBrowser;
               riid   : GNATCOM.Types.Pointer_To_GUID;
               ppvObj : GNATCOM.Types.Pointer_To_Pointer_To_Void)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IWebBrowser_QueryInterface);

   type af_IWebBrowser_AddRef is access
     function (This : access IWebBrowser)
     return Interfaces.C.unsigned_long;
   pragma Convention (StdCall, af_IWebBrowser_AddRef);

   type af_IWebBrowser_Release is access
     function (This : access IWebBrowser)
     return Interfaces.C.unsigned_long;
   pragma Convention (StdCall, af_IWebBrowser_Release);

   type af_IWebBrowser_GetTypeInfoCount is access
     function (This    : access IWebBrowser;
               pctinfo : GNATCOM.Types.Pointer_To_unsigned)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IWebBrowser_GetTypeInfoCount);

   type af_IWebBrowser_GetTypeInfo is access
     function (This    : access IWebBrowser;
               itinfo  : Interfaces.C.unsigned;
               lcid    : Interfaces.C.unsigned_long;
               pptinfo : GNATCOM.Types.Pointer_To_Pointer_To_Void)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IWebBrowser_GetTypeInfo);

   type af_IWebBrowser_GetIDsOfNames is access
     function (This      : access IWebBrowser;
               riid      : GNATCOM.Types.Pointer_To_GUID;
               rgszNames : GNATCOM.Types.Pointer_To_Pointer_To_char;
               cNames    : Interfaces.C.unsigned;
               lcid      : Interfaces.C.unsigned_long;
               rgdispid  : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IWebBrowser_GetIDsOfNames);

   type af_IWebBrowser_Invoke is access
     function (This         : access IWebBrowser;
               dispidMember : Interfaces.C.long;
               riid         : GNATCOM.Types.Pointer_To_GUID;
               lcid         : Interfaces.C.unsigned_long;
               wFlags       : Interfaces.C.unsigned_short;
               pdispparams  : GNATCOM.Types.Pointer_To_DISPPARAMS;
               pvarResult   : access GNATCOM.Types.VARIANT;
               pexcepinfo   : GNATCOM.Types.Pointer_To_EXCEPINFO;
               puArgErr     : GNATCOM.Types.Pointer_To_unsigned)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IWebBrowser_Invoke);

   type af_IWebBrowser_GoBack is access
     function (This : access IWebBrowser)
     return GNATCOM.Types.HRESULT;
   --  Navigates to the previous item in the history list.
   pragma Convention (StdCall, af_IWebBrowser_GoBack);

   type af_IWebBrowser_GoForward is access
     function (This : access IWebBrowser)
     return GNATCOM.Types.HRESULT;
   --  Navigates to the next item in the history list.
   pragma Convention (StdCall, af_IWebBrowser_GoForward);

   type af_IWebBrowser_GoHome is access
     function (This : access IWebBrowser)
     return GNATCOM.Types.HRESULT;
   --  Go home/start page.
   pragma Convention (StdCall, af_IWebBrowser_GoHome);

   type af_IWebBrowser_GoSearch is access
     function (This : access IWebBrowser)
     return GNATCOM.Types.HRESULT;
   --  Go Search Page.
   pragma Convention (StdCall, af_IWebBrowser_GoSearch);

   type af_IWebBrowser_Navigate is access
     function (This            : access IWebBrowser;
               URL             : GNATCOM.Types.BSTR;
               Flags           : access GNATCOM.Types.VARIANT;
               TargetFrameName : access GNATCOM.Types.VARIANT;
               PostData        : access GNATCOM.Types.VARIANT;
               Headers         : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   --  Navigates to a URL or file.
   pragma Convention (StdCall, af_IWebBrowser_Navigate);

   type af_IWebBrowser_Refresh is access
     function (This : access IWebBrowser)
     return GNATCOM.Types.HRESULT;
   --  Refresh the currently viewed page.
   pragma Convention (StdCall, af_IWebBrowser_Refresh);

   type af_IWebBrowser_Refresh2 is access
     function (This  : access IWebBrowser;
               Level : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   --  Refresh the currently viewed page.
   pragma Convention (StdCall, af_IWebBrowser_Refresh2);

   type af_IWebBrowser_Stop is access
     function (This : access IWebBrowser)
     return GNATCOM.Types.HRESULT;
   --  Stops opening a file.
   pragma Convention (StdCall, af_IWebBrowser_Stop);

   type af_IWebBrowser_Get_Application is access
     function (This   : access IWebBrowser;
               RetVal : GNATCOM.Types.Pointer_To_Pointer_To_IDispatch)
     return GNATCOM.Types.HRESULT;
   --  Returns the application automation object if accessible, this automation
   --  object otherwise..
   pragma Convention (StdCall, af_IWebBrowser_Get_Application);

   type af_IWebBrowser_Get_Parent is access
     function (This   : access IWebBrowser;
               RetVal : GNATCOM.Types.Pointer_To_Pointer_To_IDispatch)
     return GNATCOM.Types.HRESULT;
   --  Returns the automation object of the container/parent if one
   --  exists or this automation object.
   pragma Convention (StdCall, af_IWebBrowser_Get_Parent);

   type af_IWebBrowser_Get_Container is access
     function (This   : access IWebBrowser;
               RetVal : GNATCOM.Types.Pointer_To_Pointer_To_IDispatch)
     return GNATCOM.Types.HRESULT;
   --  Returns the container/parent automation object, if any.
   pragma Convention (StdCall, af_IWebBrowser_Get_Container);

   type af_IWebBrowser_Get_Document is access
     function (This   : access IWebBrowser;
               RetVal : GNATCOM.Types.Pointer_To_Pointer_To_IDispatch)
     return GNATCOM.Types.HRESULT;
   --  Returns the active Document automation object, if any.
   pragma Convention (StdCall, af_IWebBrowser_Get_Document);

   type af_IWebBrowser_Get_TopLevelContainer is access
     function (This  : access IWebBrowser;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Returns True if this is the top level object.
   pragma Convention (StdCall, af_IWebBrowser_Get_TopLevelContainer);

   type af_IWebBrowser_Get_Type is access
     function (This  : access IWebBrowser;
               RetVal : GNATCOM.Types.Pointer_To_BSTR)
     return GNATCOM.Types.HRESULT;
   --  Returns the type of the contained document object.
   pragma Convention (StdCall, af_IWebBrowser_Get_Type);

   type af_IWebBrowser_Get_Left is access
     function (This : access IWebBrowser;
               RetVal : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   --  The horizontal position (pixels) of the frame window relative to the
   --  screen/container.
   pragma Convention (StdCall, af_IWebBrowser_Get_Left);

   type af_IWebBrowser_Put_Left is access
     function (This : access IWebBrowser;
               pl   : Interfaces.C.long)
     return GNATCOM.Types.HRESULT;
   --  The horizontal position (pixels) of the frame window relative to the
   --  screen/container.
   pragma Convention (StdCall, af_IWebBrowser_Put_Left);

   type af_IWebBrowser_Get_Top is access
     function (This : access IWebBrowser;
               RetVal : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   --  The vertical position (pixels) of the frame window relative to the
   --  screen/container.
   pragma Convention (StdCall, af_IWebBrowser_Get_Top);

   type af_IWebBrowser_Put_Top is access
     function (This : access IWebBrowser;
               pl   : Interfaces.C.long)
     return GNATCOM.Types.HRESULT;
   --  The vertical position (pixels) of the frame window relative to the
   --  screen/container.
   pragma Convention (StdCall, af_IWebBrowser_Put_Top);

   type af_IWebBrowser_Get_Width is access
     function (This : access IWebBrowser;
               RetVal : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   --  The horizontal dimension (pixels) of the frame window/object.
   pragma Convention (StdCall, af_IWebBrowser_Get_Width);

   type af_IWebBrowser_Put_Width is access
     function (This : access IWebBrowser;
               pl   : Interfaces.C.long)
     return GNATCOM.Types.HRESULT;
   --  The horizontal dimension (pixels) of the frame window/object.
   pragma Convention (StdCall, af_IWebBrowser_Put_Width);

   type af_IWebBrowser_Get_Height is access
     function (This : access IWebBrowser;
               RetVal : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   --  The vertical dimension (pixels) of the frame window/object.
   pragma Convention (StdCall, af_IWebBrowser_Get_Height);

   type af_IWebBrowser_Put_Height is access
     function (This : access IWebBrowser;
               pl   : Interfaces.C.long)
     return GNATCOM.Types.HRESULT;
   --  The vertical dimension (pixels) of the frame window/object.
   pragma Convention (StdCall, af_IWebBrowser_Put_Height);

   type af_IWebBrowser_Get_LocationName is access
     function (This         : access IWebBrowser;
               RetVal : GNATCOM.Types.Pointer_To_BSTR)
     return GNATCOM.Types.HRESULT;
   --  Gets the short (UI-friendly) name of the URL/file currently viewed.
   pragma Convention (StdCall, af_IWebBrowser_Get_LocationName);

   type af_IWebBrowser_Get_LocationURL is access
     function (This        : access IWebBrowser;
               RetVal : GNATCOM.Types.Pointer_To_BSTR)
     return GNATCOM.Types.HRESULT;
   --  Gets the full URL/path currently viewed.
   pragma Convention (StdCall, af_IWebBrowser_Get_LocationURL);

   type af_IWebBrowser_Get_Busy is access
     function (This  : access IWebBrowser;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Query to see if something is still in progress.
   pragma Convention (StdCall, af_IWebBrowser_Get_Busy);

   type IWebBrowserVtbl;
   type Pointer_To_IWebBrowserVtbl is access all IWebBrowserVtbl;

   type IWebBrowser is
      record
         Vtbl : Pointer_To_IWebBrowserVtbl;
      end record;
   pragma Convention (C_Pass_By_Copy, IWebBrowser);

   type IWebBrowserVtbl is
      record
         QueryInterface        : af_IWebBrowser_QueryInterface;
         AddRef                : af_IWebBrowser_AddRef;
         Release               : af_IWebBrowser_Release;
         GetTypeInfoCount      : af_IWebBrowser_GetTypeInfoCount;
         GetTypeInfo           : af_IWebBrowser_GetTypeInfo;
         GetIDsOfNames         : af_IWebBrowser_GetIDsOfNames;
         Invoke                : af_IWebBrowser_Invoke;
         GoBack                : af_IWebBrowser_GoBack;
         GoForward             : af_IWebBrowser_GoForward;
         GoHome                : af_IWebBrowser_GoHome;
         GoSearch              : af_IWebBrowser_GoSearch;
         Navigate              : af_IWebBrowser_Navigate;
         Refresh               : af_IWebBrowser_Refresh;
         Refresh2              : af_IWebBrowser_Refresh2;
         Stop                  : af_IWebBrowser_Stop;
         Get_Application       : af_IWebBrowser_Get_Application;
         Get_Parent            : af_IWebBrowser_Get_Parent;
         Get_Container         : af_IWebBrowser_Get_Container;
         Get_Document          : af_IWebBrowser_Get_Document;
         Get_TopLevelContainer : af_IWebBrowser_Get_TopLevelContainer;
         Get_Type              : af_IWebBrowser_Get_Type;
         Get_Left              : af_IWebBrowser_Get_Left;
         Put_Left              : af_IWebBrowser_Put_Left;
         Get_Top               : af_IWebBrowser_Get_Top;
         Put_Top               : af_IWebBrowser_Put_Top;
         Get_Width             : af_IWebBrowser_Get_Width;
         Put_Width             : af_IWebBrowser_Put_Width;
         Get_Height            : af_IWebBrowser_Get_Height;
         Put_Height            : af_IWebBrowser_Put_Height;
         Get_LocationName      : af_IWebBrowser_Get_LocationName;
         Get_LocationURL       : af_IWebBrowser_Get_LocationURL;
         Get_Busy              : af_IWebBrowser_Get_Busy;
      end record;
   pragma Convention (C_Pass_By_Copy, IWebBrowserVtbl);

   function To_Pointer_To_IWebBrowser is
     new Ada.Unchecked_Conversion
     (GNATCOM.Types.Pointer_To_Void, Pointer_To_IWebBrowser);

   --  Element Index         : 0
   --  Element Name          : IWebBrowser
   --  Element Documentation : Web Browser interface
   --  Element Type          : Dispatch

   IWebBrowser_GoBack                : constant := 100;
   IWebBrowser_GoForward             : constant := 101;
   IWebBrowser_GoHome                : constant := 102;
   IWebBrowser_GoSearch              : constant := 103;
   IWebBrowser_Navigate              : constant := 104;
   IWebBrowser_Refresh               : constant := -550;
   IWebBrowser_Refresh2              : constant := 105;
   IWebBrowser_Stop                  : constant := 106;
   IWebBrowser_Get_Application       : constant := 200;
   IWebBrowser_Get_Parent            : constant := 201;
   IWebBrowser_Get_Container         : constant := 202;
   IWebBrowser_Get_Document          : constant := 203;
   IWebBrowser_Get_TopLevelContainer : constant := 204;
   IWebBrowser_Get_Type              : constant := 205;
   IWebBrowser_Get_Left              : constant := 206;
   IWebBrowser_Put_Left              : constant := 206;
   IWebBrowser_Get_Top               : constant := 207;
   IWebBrowser_Put_Top               : constant := 207;
   IWebBrowser_Get_Width             : constant := 208;
   IWebBrowser_Put_Width             : constant := 208;
   IWebBrowser_Get_Height            : constant := 209;
   IWebBrowser_Put_Height            : constant := 209;
   IWebBrowser_Get_LocationName      : constant := 210;
   IWebBrowser_Get_LocationURL       : constant := 211;
   IWebBrowser_Get_Busy              : constant := 212;

   --  Element Index         : 1
   --  Element Name          : DWebBrowserEvents
   --  Element Documentation : Web Browser Control Events (old)
   --  Element Type          : Dispatch

   IID_DWebBrowserEvents : aliased GNATCOM.Types.GUID :=
     GNATCOM.GUID.To_GUID ("{EAB22AC2-30C1-11CF-A7EB-0000C05BAE0B}");

   DWebBrowserEvents_BeforeNavigate        : constant := 100;
   DWebBrowserEvents_NavigateComplete      : constant := 101;
   DWebBrowserEvents_StatusTextChange      : constant := 102;
   DWebBrowserEvents_ProgressChange        : constant := 108;
   DWebBrowserEvents_DownloadComplete      : constant := 104;
   DWebBrowserEvents_CommandStateChange    : constant := 105;
   DWebBrowserEvents_DownloadBegin         : constant := 106;
   DWebBrowserEvents_NewWindow             : constant := 107;
   DWebBrowserEvents_TitleChange           : constant := 113;
   DWebBrowserEvents_FrameBeforeNavigate   : constant := 200;
   DWebBrowserEvents_FrameNavigateComplete : constant := 201;
   DWebBrowserEvents_FrameNewWindow        : constant := 204;
   DWebBrowserEvents_Quit                  : constant := 103;
   DWebBrowserEvents_WindowMove            : constant := 109;
   DWebBrowserEvents_WindowResize          : constant := 110;
   DWebBrowserEvents_WindowActivate        : constant := 111;
   DWebBrowserEvents_PropertyChange        : constant := 112;

   --  Element Index         : 2
   --  Element Name          : CommandStateChangeConstants
   --  Element Documentation : Constants for WebBrowser CommandStateChange
   --  Element Type          : Enumeration

   CSC_UPDATECOMMANDS  : constant := -1;
   --  Command Change
   CSC_NAVIGATEFORWARD : constant := 1;
   --  Navigate Forward
   CSC_NAVIGATEBACK    : constant := 2;
   --  Navigate Back

   --  Element Index         : 3
   --  Element Name          : IWebBrowserApp
   --  Element Documentation : Web Browser Application Interface.
   --  Element Type          : Dispatch

   IID_IWebBrowserApp : aliased GNATCOM.Types.GUID :=
     GNATCOM.GUID.To_GUID ("{0002DF05-0000-0000-C000-000000000046}");

   type af_IWebBrowserApp_QueryInterface is access
     function (This   : access IWebBrowserApp;
               riid   : GNATCOM.Types.Pointer_To_GUID;
               ppvObj : GNATCOM.Types.Pointer_To_Pointer_To_Void)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IWebBrowserApp_QueryInterface);

   type af_IWebBrowserApp_AddRef is access
     function (This : access IWebBrowserApp)
     return Interfaces.C.unsigned_long;
   pragma Convention (StdCall, af_IWebBrowserApp_AddRef);

   type af_IWebBrowserApp_Release is access
     function (This : access IWebBrowserApp)
     return Interfaces.C.unsigned_long;
   pragma Convention (StdCall, af_IWebBrowserApp_Release);

   type af_IWebBrowserApp_GetTypeInfoCount is access
     function (This    : access IWebBrowserApp;
               pctinfo : GNATCOM.Types.Pointer_To_unsigned)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IWebBrowserApp_GetTypeInfoCount);

   type af_IWebBrowserApp_GetTypeInfo is access
     function (This    : access IWebBrowserApp;
               itinfo  : Interfaces.C.unsigned;
               lcid    : Interfaces.C.unsigned_long;
               pptinfo : GNATCOM.Types.Pointer_To_Pointer_To_Void)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IWebBrowserApp_GetTypeInfo);

   type af_IWebBrowserApp_GetIDsOfNames is access
     function (This      : access IWebBrowserApp;
               riid      : GNATCOM.Types.Pointer_To_GUID;
               rgszNames : GNATCOM.Types.Pointer_To_Pointer_To_char;
               cNames    : Interfaces.C.unsigned;
               lcid      : Interfaces.C.unsigned_long;
               rgdispid  : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IWebBrowserApp_GetIDsOfNames);

   type af_IWebBrowserApp_Invoke is access
     function (This         : access IWebBrowserApp;
               dispidMember : Interfaces.C.long;
               riid         : GNATCOM.Types.Pointer_To_GUID;
               lcid         : Interfaces.C.unsigned_long;
               wFlags       : Interfaces.C.unsigned_short;
               pdispparams  : GNATCOM.Types.Pointer_To_DISPPARAMS;
               pvarResult   : access GNATCOM.Types.VARIANT;
               pexcepinfo   : GNATCOM.Types.Pointer_To_EXCEPINFO;
               puArgErr     : GNATCOM.Types.Pointer_To_unsigned)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IWebBrowserApp_Invoke);

   type af_IWebBrowserApp_GoBack is access
     function (This : access IWebBrowserApp)
     return GNATCOM.Types.HRESULT;
   --  Navigates to the previous item in the history list.
   pragma Convention (StdCall, af_IWebBrowserApp_GoBack);

   type af_IWebBrowserApp_GoForward is access
     function (This : access IWebBrowserApp)
     return GNATCOM.Types.HRESULT;
   --  Navigates to the next item in the history list.
   pragma Convention (StdCall, af_IWebBrowserApp_GoForward);

   type af_IWebBrowserApp_GoHome is access
     function (This : access IWebBrowserApp)
     return GNATCOM.Types.HRESULT;
   --  Go home/start page.
   pragma Convention (StdCall, af_IWebBrowserApp_GoHome);

   type af_IWebBrowserApp_GoSearch is access
     function (This : access IWebBrowserApp)
     return GNATCOM.Types.HRESULT;
   --  Go Search Page.
   pragma Convention (StdCall, af_IWebBrowserApp_GoSearch);

   type af_IWebBrowserApp_Navigate is access
     function (This            : access IWebBrowserApp;
               URL             : GNATCOM.Types.BSTR;
               Flags           : access GNATCOM.Types.VARIANT;
               TargetFrameName : access GNATCOM.Types.VARIANT;
               PostData        : access GNATCOM.Types.VARIANT;
               Headers         : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   --  Navigates to a URL or file.
   pragma Convention (StdCall, af_IWebBrowserApp_Navigate);

   type af_IWebBrowserApp_Refresh is access
     function (This : access IWebBrowserApp)
     return GNATCOM.Types.HRESULT;
   --  Refresh the currently viewed page.
   pragma Convention (StdCall, af_IWebBrowserApp_Refresh);

   type af_IWebBrowserApp_Refresh2 is access
     function (This  : access IWebBrowserApp;
               Level : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   --  Refresh the currently viewed page.
   pragma Convention (StdCall, af_IWebBrowserApp_Refresh2);

   type af_IWebBrowserApp_Stop is access
     function (This : access IWebBrowserApp)
     return GNATCOM.Types.HRESULT;
   --  Stops opening a file.
   pragma Convention (StdCall, af_IWebBrowserApp_Stop);

   type af_IWebBrowserApp_Get_Application is access
     function (This   : access IWebBrowserApp;
               RetVal : GNATCOM.Types.Pointer_To_Pointer_To_IDispatch)
     return GNATCOM.Types.HRESULT;
   --  Returns the application automation object if accessible, this automation
   --  object otherwise..
   pragma Convention (StdCall, af_IWebBrowserApp_Get_Application);

   type af_IWebBrowserApp_Get_Parent is access
     function (This   : access IWebBrowserApp;
               RetVal : GNATCOM.Types.Pointer_To_Pointer_To_IDispatch)
     return GNATCOM.Types.HRESULT;
   --  Returns the automation object of the container/parent if one exists or
   --  this automation object.
   pragma Convention (StdCall, af_IWebBrowserApp_Get_Parent);

   type af_IWebBrowserApp_Get_Container is access
     function (This   : access IWebBrowserApp;
               RetVal : GNATCOM.Types.Pointer_To_Pointer_To_IDispatch)
     return GNATCOM.Types.HRESULT;
   --  Returns the container/parent automation object, if any.
   pragma Convention (StdCall, af_IWebBrowserApp_Get_Container);

   type af_IWebBrowserApp_Get_Document is access
     function (This   : access IWebBrowserApp;
               RetVal : GNATCOM.Types.Pointer_To_Pointer_To_IDispatch)
     return GNATCOM.Types.HRESULT;
   --  Returns the active Document automation object, if any.
   pragma Convention (StdCall, af_IWebBrowserApp_Get_Document);

   type af_IWebBrowserApp_Get_TopLevelContainer is access
     function (This  : access IWebBrowserApp;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Returns True if this is the top level object.
   pragma Convention (StdCall, af_IWebBrowserApp_Get_TopLevelContainer);

   type af_IWebBrowserApp_Get_Type is access
     function (This  : access IWebBrowserApp;
               RetVal : GNATCOM.Types.Pointer_To_BSTR)
     return GNATCOM.Types.HRESULT;
   --  Returns the type of the contained document object.
   pragma Convention (StdCall, af_IWebBrowserApp_Get_Type);

   type af_IWebBrowserApp_Get_Left is access
     function (This : access IWebBrowserApp;
               RetVal : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   --  The horizontal position (pixels) of the frame window relative to the
   --  screen/container.
   pragma Convention (StdCall, af_IWebBrowserApp_Get_Left);

   type af_IWebBrowserApp_Put_Left is access
     function (This : access IWebBrowserApp;
               pl   : Interfaces.C.long)
     return GNATCOM.Types.HRESULT;
   --  The horizontal position (pixels) of the frame window relative to the
   --  screen/container.
   pragma Convention (StdCall, af_IWebBrowserApp_Put_Left);

   type af_IWebBrowserApp_Get_Top is access
     function (This : access IWebBrowserApp;
               RetVal : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   --  The vertical position (pixels) of the frame window relative to the
   --  screen/container.
   pragma Convention (StdCall, af_IWebBrowserApp_Get_Top);

   type af_IWebBrowserApp_Put_Top is access
     function (This : access IWebBrowserApp;
               pl   : Interfaces.C.long)
     return GNATCOM.Types.HRESULT;
   --  The vertical position (pixels) of the frame window relative to the
   --  screen/container.
   pragma Convention (StdCall, af_IWebBrowserApp_Put_Top);

   type af_IWebBrowserApp_Get_Width is access
     function (This : access IWebBrowserApp;
               RetVal : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   --  The horizontal dimension (pixels) of the frame window/object.
   pragma Convention (StdCall, af_IWebBrowserApp_Get_Width);

   type af_IWebBrowserApp_Put_Width is access
     function (This : access IWebBrowserApp;
               pl   : Interfaces.C.long)
     return GNATCOM.Types.HRESULT;
   --  The horizontal dimension (pixels) of the frame window/object.
   pragma Convention (StdCall, af_IWebBrowserApp_Put_Width);

   type af_IWebBrowserApp_Get_Height is access
     function (This : access IWebBrowserApp;
               RetVal : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   --  The vertical dimension (pixels) of the frame window/object.
   pragma Convention (StdCall, af_IWebBrowserApp_Get_Height);

   type af_IWebBrowserApp_Put_Height is access
     function (This : access IWebBrowserApp;
               pl   : Interfaces.C.long)
     return GNATCOM.Types.HRESULT;
   --  The vertical dimension (pixels) of the frame window/object.
   pragma Convention (StdCall, af_IWebBrowserApp_Put_Height);

   type af_IWebBrowserApp_Get_LocationName is access
     function (This         : access IWebBrowserApp;
               RetVal : GNATCOM.Types.Pointer_To_BSTR)
     return GNATCOM.Types.HRESULT;
   --  Gets the short (UI-friendly) name of the URL/file currently viewed.
   pragma Convention (StdCall, af_IWebBrowserApp_Get_LocationName);

   type af_IWebBrowserApp_Get_LocationURL is access
     function (This        : access IWebBrowserApp;
               RetVal : GNATCOM.Types.Pointer_To_BSTR)
     return GNATCOM.Types.HRESULT;
   --  Gets the full URL/path currently viewed.
   pragma Convention (StdCall, af_IWebBrowserApp_Get_LocationURL);

   type af_IWebBrowserApp_Get_Busy is access
     function (This  : access IWebBrowserApp;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Query to see if something is still in progress.
   pragma Convention (StdCall, af_IWebBrowserApp_Get_Busy);

   type af_IWebBrowserApp_Quit is access
     function (This : access IWebBrowserApp)
     return GNATCOM.Types.HRESULT;
   --  Exits application and closes the open document.
   pragma Convention (StdCall, af_IWebBrowserApp_Quit);

   type af_IWebBrowserApp_ClientToWindow is access
     function (This : access IWebBrowserApp;
               pcx  : GNATCOM.Types.Pointer_To_int;
               pcy  : GNATCOM.Types.Pointer_To_int)
     return GNATCOM.Types.HRESULT;
   --  Converts client sizes into window sizes.
   pragma Convention (StdCall, af_IWebBrowserApp_ClientToWindow);

   type af_IWebBrowserApp_PutProperty is access
     function (This     : access IWebBrowserApp;
               Property : GNATCOM.Types.BSTR;
               vtValue  : GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   --  Associates vtValue with the name szProperty in the context of the
   --  object.
   pragma Convention (StdCall, af_IWebBrowserApp_PutProperty);

   type af_IWebBrowserApp_GetProperty is access
     function (This     : access IWebBrowserApp;
               Property : GNATCOM.Types.BSTR;
               RetVal : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   --  Retrieve the Associated value for the property vtValue in the context of
   --  the object.
   pragma Convention (StdCall, af_IWebBrowserApp_GetProperty);

   type af_IWebBrowserApp_Get_Name is access
     function (This : access IWebBrowserApp;
               RetVal : GNATCOM.Types.Pointer_To_BSTR)
     return GNATCOM.Types.HRESULT;
   --  Returns name of the application.
   pragma Convention (StdCall, af_IWebBrowserApp_Get_Name);

   type af_IWebBrowserApp_Get_HWND is access
     function (This  : access IWebBrowserApp;
               RetVal : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   --  Returns the HWND of the current IE window.
   pragma Convention (StdCall, af_IWebBrowserApp_Get_HWND);

   type af_IWebBrowserApp_Get_FullName is access
     function (This     : access IWebBrowserApp;
               RetVal : GNATCOM.Types.Pointer_To_BSTR)
     return GNATCOM.Types.HRESULT;
   --  Returns file specification of the application, including path.
   pragma Convention (StdCall, af_IWebBrowserApp_Get_FullName);

   type af_IWebBrowserApp_Get_Path is access
     function (This : access IWebBrowserApp;
               RetVal : GNATCOM.Types.Pointer_To_BSTR)
     return GNATCOM.Types.HRESULT;
   --  Returns the path to the application.
   pragma Convention (StdCall, af_IWebBrowserApp_Get_Path);

   type af_IWebBrowserApp_Get_Visible is access
     function (This  : access IWebBrowserApp;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Determines whether the application is visible or hidden.
   pragma Convention (StdCall, af_IWebBrowserApp_Get_Visible);

   type af_IWebBrowserApp_Put_Visible is access
     function (This  : access IWebBrowserApp;
               pBool : GNATCOM.Types.VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Determines whether the application is visible or hidden.
   pragma Convention (StdCall, af_IWebBrowserApp_Put_Visible);

   type af_IWebBrowserApp_Get_StatusBar is access
     function (This  : access IWebBrowserApp;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Turn on or off the statusbar.
   pragma Convention (StdCall, af_IWebBrowserApp_Get_StatusBar);

   type af_IWebBrowserApp_Put_StatusBar is access
     function (This  : access IWebBrowserApp;
               pBool : GNATCOM.Types.VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Turn on or off the statusbar.
   pragma Convention (StdCall, af_IWebBrowserApp_Put_StatusBar);

   type af_IWebBrowserApp_Get_StatusText is access
     function (This       : access IWebBrowserApp;
               RetVal : GNATCOM.Types.Pointer_To_BSTR)
     return GNATCOM.Types.HRESULT;
   --  Text of Status window.
   pragma Convention (StdCall, af_IWebBrowserApp_Get_StatusText);

   type af_IWebBrowserApp_Put_StatusText is access
     function (This       : access IWebBrowserApp;
               StatusText : GNATCOM.Types.BSTR)
     return GNATCOM.Types.HRESULT;
   --  Text of Status window.
   pragma Convention (StdCall, af_IWebBrowserApp_Put_StatusText);

   type af_IWebBrowserApp_Get_ToolBar is access
     function (This  : access IWebBrowserApp;
               RetVal : GNATCOM.Types.Pointer_To_int)
     return GNATCOM.Types.HRESULT;
   --  Controls which toolbar is shown.
   pragma Convention (StdCall, af_IWebBrowserApp_Get_ToolBar);

   type af_IWebBrowserApp_Put_ToolBar is access
     function (This  : access IWebBrowserApp;
               Value : Interfaces.C.int)
     return GNATCOM.Types.HRESULT;
   --  Controls which toolbar is shown.
   pragma Convention (StdCall, af_IWebBrowserApp_Put_ToolBar);

   type af_IWebBrowserApp_Get_MenuBar is access
     function (This  : access IWebBrowserApp;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Controls whether menubar is shown.
   pragma Convention (StdCall, af_IWebBrowserApp_Get_MenuBar);

   type af_IWebBrowserApp_Put_MenuBar is access
     function (This  : access IWebBrowserApp;
               Value : GNATCOM.Types.VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Controls whether menubar is shown.
   pragma Convention (StdCall, af_IWebBrowserApp_Put_MenuBar);

   type af_IWebBrowserApp_Get_FullScreen is access
     function (This         : access IWebBrowserApp;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Maximizes window and turns off statusbar, toolbar, menubar, and
   --  titlebar.
   pragma Convention (StdCall, af_IWebBrowserApp_Get_FullScreen);

   type af_IWebBrowserApp_Put_FullScreen is access
     function (This         : access IWebBrowserApp;
               pbFullScreen : GNATCOM.Types.VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Maximizes window and turns off statusbar, toolbar, menubar, and
   --  titlebar.
   pragma Convention (StdCall, af_IWebBrowserApp_Put_FullScreen);

   type IWebBrowserAppVtbl;
   type Pointer_To_IWebBrowserAppVtbl is access all IWebBrowserAppVtbl;

   type IWebBrowserApp is
      record
         Vtbl : Pointer_To_IWebBrowserAppVtbl;
      end record;
   pragma Convention (C_Pass_By_Copy, IWebBrowserApp);

   type IWebBrowserAppVtbl is
      record
         QueryInterface        : af_IWebBrowserApp_QueryInterface;
         AddRef                : af_IWebBrowserApp_AddRef;
         Release               : af_IWebBrowserApp_Release;
         GetTypeInfoCount      : af_IWebBrowserApp_GetTypeInfoCount;
         GetTypeInfo           : af_IWebBrowserApp_GetTypeInfo;
         GetIDsOfNames         : af_IWebBrowserApp_GetIDsOfNames;
         Invoke                : af_IWebBrowserApp_Invoke;
         GoBack                : af_IWebBrowserApp_GoBack;
         GoForward             : af_IWebBrowserApp_GoForward;
         GoHome                : af_IWebBrowserApp_GoHome;
         GoSearch              : af_IWebBrowserApp_GoSearch;
         Navigate              : af_IWebBrowserApp_Navigate;
         Refresh               : af_IWebBrowserApp_Refresh;
         Refresh2              : af_IWebBrowserApp_Refresh2;
         Stop                  : af_IWebBrowserApp_Stop;
         Get_Application       : af_IWebBrowserApp_Get_Application;
         Get_Parent            : af_IWebBrowserApp_Get_Parent;
         Get_Container         : af_IWebBrowserApp_Get_Container;
         Get_Document          : af_IWebBrowserApp_Get_Document;
         Get_TopLevelContainer : af_IWebBrowserApp_Get_TopLevelContainer;
         Get_Type              : af_IWebBrowserApp_Get_Type;
         Get_Left              : af_IWebBrowserApp_Get_Left;
         Put_Left              : af_IWebBrowserApp_Put_Left;
         Get_Top               : af_IWebBrowserApp_Get_Top;
         Put_Top               : af_IWebBrowserApp_Put_Top;
         Get_Width             : af_IWebBrowserApp_Get_Width;
         Put_Width             : af_IWebBrowserApp_Put_Width;
         Get_Height            : af_IWebBrowserApp_Get_Height;
         Put_Height            : af_IWebBrowserApp_Put_Height;
         Get_LocationName      : af_IWebBrowserApp_Get_LocationName;
         Get_LocationURL       : af_IWebBrowserApp_Get_LocationURL;
         Get_Busy              : af_IWebBrowserApp_Get_Busy;
         Quit                  : af_IWebBrowserApp_Quit;
         ClientToWindow        : af_IWebBrowserApp_ClientToWindow;
         PutProperty           : af_IWebBrowserApp_PutProperty;
         GetProperty           : af_IWebBrowserApp_GetProperty;
         Get_Name              : af_IWebBrowserApp_Get_Name;
         Get_HWND              : af_IWebBrowserApp_Get_HWND;
         Get_FullName          : af_IWebBrowserApp_Get_FullName;
         Get_Path              : af_IWebBrowserApp_Get_Path;
         Get_Visible           : af_IWebBrowserApp_Get_Visible;
         Put_Visible           : af_IWebBrowserApp_Put_Visible;
         Get_StatusBar         : af_IWebBrowserApp_Get_StatusBar;
         Put_StatusBar         : af_IWebBrowserApp_Put_StatusBar;
         Get_StatusText        : af_IWebBrowserApp_Get_StatusText;
         Put_StatusText        : af_IWebBrowserApp_Put_StatusText;
         Get_ToolBar           : af_IWebBrowserApp_Get_ToolBar;
         Put_ToolBar           : af_IWebBrowserApp_Put_ToolBar;
         Get_MenuBar           : af_IWebBrowserApp_Get_MenuBar;
         Put_MenuBar           : af_IWebBrowserApp_Put_MenuBar;
         Get_FullScreen        : af_IWebBrowserApp_Get_FullScreen;
         Put_FullScreen        : af_IWebBrowserApp_Put_FullScreen;
      end record;
   pragma Convention (C_Pass_By_Copy, IWebBrowserAppVtbl);

   function To_Pointer_To_IWebBrowserApp is
     new Ada.Unchecked_Conversion
     (GNATCOM.Types.Pointer_To_Void, Pointer_To_IWebBrowserApp);

   --  Element Index         : 3
   --  Element Name          : IWebBrowserApp
   --  Element Documentation : Web Browser Application Interface.
   --  Element Type          : Dispatch

   IWebBrowserApp_GoBack                : constant := 100;
   IWebBrowserApp_GoForward             : constant := 101;
   IWebBrowserApp_GoHome                : constant := 102;
   IWebBrowserApp_GoSearch              : constant := 103;
   IWebBrowserApp_Navigate              : constant := 104;
   IWebBrowserApp_Refresh               : constant := -550;
   IWebBrowserApp_Refresh2              : constant := 105;
   IWebBrowserApp_Stop                  : constant := 106;
   IWebBrowserApp_Get_Application       : constant := 200;
   IWebBrowserApp_Get_Parent            : constant := 201;
   IWebBrowserApp_Get_Container         : constant := 202;
   IWebBrowserApp_Get_Document          : constant := 203;
   IWebBrowserApp_Get_TopLevelContainer : constant := 204;
   IWebBrowserApp_Get_Type              : constant := 205;
   IWebBrowserApp_Get_Left              : constant := 206;
   IWebBrowserApp_Put_Left              : constant := 206;
   IWebBrowserApp_Get_Top               : constant := 207;
   IWebBrowserApp_Put_Top               : constant := 207;
   IWebBrowserApp_Get_Width             : constant := 208;
   IWebBrowserApp_Put_Width             : constant := 208;
   IWebBrowserApp_Get_Height            : constant := 209;
   IWebBrowserApp_Put_Height            : constant := 209;
   IWebBrowserApp_Get_LocationName      : constant := 210;
   IWebBrowserApp_Get_LocationURL       : constant := 211;
   IWebBrowserApp_Get_Busy              : constant := 212;
   IWebBrowserApp_Quit                  : constant := 300;
   IWebBrowserApp_ClientToWindow        : constant := 301;
   IWebBrowserApp_PutProperty           : constant := 302;
   IWebBrowserApp_GetProperty           : constant := 303;
   IWebBrowserApp_Get_Name              : constant := 0;
   IWebBrowserApp_Get_HWND              : constant := -515;
   IWebBrowserApp_Get_FullName          : constant := 400;
   IWebBrowserApp_Get_Path              : constant := 401;
   IWebBrowserApp_Get_Visible           : constant := 402;
   IWebBrowserApp_Put_Visible           : constant := 402;
   IWebBrowserApp_Get_StatusBar         : constant := 403;
   IWebBrowserApp_Put_StatusBar         : constant := 403;
   IWebBrowserApp_Get_StatusText        : constant := 404;
   IWebBrowserApp_Put_StatusText        : constant := 404;
   IWebBrowserApp_Get_ToolBar           : constant := 405;
   IWebBrowserApp_Put_ToolBar           : constant := 405;
   IWebBrowserApp_Get_MenuBar           : constant := 406;
   IWebBrowserApp_Put_MenuBar           : constant := 406;
   IWebBrowserApp_Get_FullScreen        : constant := 407;
   IWebBrowserApp_Put_FullScreen        : constant := 407;

   --  Element Index         : 5
   --  Element Name          : OLECMDID
   --  Element Type          : Enumeration

   OLECMDID_OPEN                           : constant := 1;
   OLECMDID_NEW                            : constant := 2;
   OLECMDID_SAVE                           : constant := 3;
   OLECMDID_SAVEAS                         : constant := 4;
   OLECMDID_SAVECOPYAS                     : constant := 5;
   OLECMDID_PRINT                          : constant := 6;
   OLECMDID_PRINTPREVIEW                   : constant := 7;
   OLECMDID_PAGESETUP                      : constant := 8;
   OLECMDID_SPELL                          : constant := 9;
   OLECMDID_PROPERTIES                     : constant := 10;
   OLECMDID_CUT                            : constant := 11;
   OLECMDID_COPY                           : constant := 12;
   OLECMDID_PASTE                          : constant := 13;
   OLECMDID_PASTESPECIAL                   : constant := 14;
   OLECMDID_UNDO                           : constant := 15;
   OLECMDID_REDO                           : constant := 16;
   OLECMDID_SELECTALL                      : constant := 17;
   OLECMDID_CLEARSELECTION                 : constant := 18;
   OLECMDID_ZOOM                           : constant := 19;
   OLECMDID_GETZOOMRANGE                   : constant := 20;
   OLECMDID_UPDATECOMMANDS                 : constant := 21;
   OLECMDID_REFRESH                        : constant := 22;
   OLECMDID_STOP                           : constant := 23;
   OLECMDID_HIDETOOLBARS                   : constant := 24;
   OLECMDID_SETPROGRESSMAX                 : constant := 25;
   OLECMDID_SETPROGRESSPOS                 : constant := 26;
   OLECMDID_SETPROGRESSTEXT                : constant := 27;
   OLECMDID_SETTITLE                       : constant := 28;
   OLECMDID_SETDOWNLOADSTATE               : constant := 29;
   OLECMDID_STOPDOWNLOAD                   : constant := 30;
   OLECMDID_ONTOOLBARACTIVATED             : constant := 31;
   OLECMDID_FIND                           : constant := 32;
   OLECMDID_DELETE                         : constant := 33;
   OLECMDID_HTTPEQUIV                      : constant := 34;
   OLECMDID_HTTPEQUIV_DONE                 : constant := 35;
   OLECMDID_ENABLE_INTERACTION             : constant := 36;
   OLECMDID_ONUNLOAD                       : constant := 37;
   OLECMDID_PROPERTYBAG2                   : constant := 38;
   OLECMDID_PREREFRESH                     : constant := 39;
   OLECMDID_SHOWSCRIPTERROR                : constant := 40;
   OLECMDID_SHOWMESSAGE                    : constant := 41;
   OLECMDID_SHOWFIND                       : constant := 42;
   OLECMDID_SHOWPAGESETUP                  : constant := 43;
   OLECMDID_SHOWPRINT                      : constant := 44;
   OLECMDID_CLOSE                          : constant := 45;
   OLECMDID_ALLOWUILESSSAVEAS              : constant := 46;
   OLECMDID_DONTDOWNLOADCSS                : constant := 47;
   OLECMDID_UPDATEPAGESTATUS               : constant := 48;
   OLECMDID_PRINT2                         : constant := 49;
   OLECMDID_PRINTPREVIEW2                  : constant := 50;
   OLECMDID_SETPRINTTEMPLATE               : constant := 51;
   OLECMDID_GETPRINTTEMPLATE               : constant := 52;
   OLECMDID_PAGEACTIONBLOCKED              : constant := 55;
   OLECMDID_PAGEACTIONUIQUERY              : constant := 56;
   OLECMDID_FOCUSVIEWCONTROLS              : constant := 57;
   OLECMDID_FOCUSVIEWCONTROLSQUERY         : constant := 58;
   OLECMDID_SHOWPAGEACTIONMENU             : constant := 59;
   OLECMDID_ADDTRAVELENTRY                 : constant := 60;
   OLECMDID_UPDATETRAVELENTRY              : constant := 61;
   OLECMDID_UPDATEBACKFORWARDSTATE         : constant := 62;
   OLECMDID_OPTICAL_ZOOM                   : constant := 63;
   OLECMDID_OPTICAL_GETZOOMRANGE           : constant := 64;
   OLECMDID_WINDOWSTATECHANGED             : constant := 65;
   OLECMDID_ACTIVEXINSTALLSCOPE            : constant := 66;
   OLECMDID_UPDATETRAVELENTRY_DATARECOVERY : constant := 67;

   --  Element Index         : 6
   --  Element Name          : OLECMDF
   --  Element Type          : Enumeration

   OLECMDF_SUPPORTED         : constant := 1;
   OLECMDF_ENABLED           : constant := 2;
   OLECMDF_LATCHED           : constant := 4;
   OLECMDF_NINCHED           : constant := 8;
   OLECMDF_INVISIBLE         : constant := 16;
   OLECMDF_DEFHIDEONCTXTMENU : constant := 32;

   --  Element Index         : 7
   --  Element Name          : OLECMDEXECOPT
   --  Element Type          : Enumeration

   OLECMDEXECOPT_DODEFAULT      : constant := 0;
   OLECMDEXECOPT_PROMPTUSER     : constant := 1;
   OLECMDEXECOPT_DONTPROMPTUSER : constant := 2;
   OLECMDEXECOPT_SHOWHELP       : constant := 3;

   --  Element Index         : 8
   --  Element Name          : tagREADYSTATE
   --  Element Type          : Enumeration

   READYSTATE_UNINITIALIZED : constant := 0;
   READYSTATE_LOADING       : constant := 1;
   READYSTATE_LOADED        : constant := 2;
   READYSTATE_INTERACTIVE   : constant := 3;
   READYSTATE_COMPLETE      : constant := 4;

   --  Element Index         : 4
   --  Element Name          : IWebBrowser2
   --  Element Documentation : Web Browser Interface for IE4.
   --  Element Type          : Dispatch

   IID_IWebBrowser2 : aliased GNATCOM.Types.GUID :=
     GNATCOM.GUID.To_GUID ("{D30C1661-CDAF-11D0-8A3E-00C04FC9E26E}");

   type af_IWebBrowser2_QueryInterface is access
     function (This   : access IWebBrowser2;
               riid   : GNATCOM.Types.Pointer_To_GUID;
               ppvObj : GNATCOM.Types.Pointer_To_Pointer_To_Void)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IWebBrowser2_QueryInterface);

   type af_IWebBrowser2_AddRef is access
     function (This : access IWebBrowser2)
     return Interfaces.C.unsigned_long;
   pragma Convention (StdCall, af_IWebBrowser2_AddRef);

   type af_IWebBrowser2_Release is access
     function (This : access IWebBrowser2)
     return Interfaces.C.unsigned_long;
   pragma Convention (StdCall, af_IWebBrowser2_Release);

   type af_IWebBrowser2_GetTypeInfoCount is access
     function (This    : access IWebBrowser2;
               pctinfo : GNATCOM.Types.Pointer_To_unsigned)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IWebBrowser2_GetTypeInfoCount);

   type af_IWebBrowser2_GetTypeInfo is access
     function (This    : access IWebBrowser2;
               itinfo  : Interfaces.C.unsigned;
               lcid    : Interfaces.C.unsigned_long;
               pptinfo : GNATCOM.Types.Pointer_To_Pointer_To_Void)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IWebBrowser2_GetTypeInfo);

   type af_IWebBrowser2_GetIDsOfNames is access
     function (This      : access IWebBrowser2;
               riid      : GNATCOM.Types.Pointer_To_GUID;
               rgszNames : GNATCOM.Types.Pointer_To_Pointer_To_char;
               cNames    : Interfaces.C.unsigned;
               lcid      : Interfaces.C.unsigned_long;
               rgdispid  : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IWebBrowser2_GetIDsOfNames);

   type af_IWebBrowser2_Invoke is access
     function (This         : access IWebBrowser2;
               dispidMember : Interfaces.C.long;
               riid         : GNATCOM.Types.Pointer_To_GUID;
               lcid         : Interfaces.C.unsigned_long;
               wFlags       : Interfaces.C.unsigned_short;
               pdispparams  : GNATCOM.Types.Pointer_To_DISPPARAMS;
               pvarResult   : access GNATCOM.Types.VARIANT;
               pexcepinfo   : GNATCOM.Types.Pointer_To_EXCEPINFO;
               puArgErr     : GNATCOM.Types.Pointer_To_unsigned)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IWebBrowser2_Invoke);

   type af_IWebBrowser2_GoBack is access
     function (This : access IWebBrowser2)
     return GNATCOM.Types.HRESULT;
   --  Navigates to the previous item in the history list.
   pragma Convention (StdCall, af_IWebBrowser2_GoBack);

   type af_IWebBrowser2_GoForward is access
     function (This : access IWebBrowser2)
     return GNATCOM.Types.HRESULT;
   --  Navigates to the next item in the history list.
   pragma Convention (StdCall, af_IWebBrowser2_GoForward);

   type af_IWebBrowser2_GoHome is access
     function (This : access IWebBrowser2)
     return GNATCOM.Types.HRESULT;
   --  Go home/start page.
   pragma Convention (StdCall, af_IWebBrowser2_GoHome);

   type af_IWebBrowser2_GoSearch is access
     function (This : access IWebBrowser2)
     return GNATCOM.Types.HRESULT;
   --  Go Search Page.
   pragma Convention (StdCall, af_IWebBrowser2_GoSearch);

   type af_IWebBrowser2_Navigate is access
     function (This            : access IWebBrowser2;
               URL             : GNATCOM.Types.BSTR;
               Flags           : access GNATCOM.Types.VARIANT;
               TargetFrameName : access GNATCOM.Types.VARIANT;
               PostData        : access GNATCOM.Types.VARIANT;
               Headers         : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   --  Navigates to a URL or file.
   pragma Convention (StdCall, af_IWebBrowser2_Navigate);

   type af_IWebBrowser2_Refresh is access
     function (This : access IWebBrowser2)
     return GNATCOM.Types.HRESULT;
   --  Refresh the currently viewed page.
   pragma Convention (StdCall, af_IWebBrowser2_Refresh);

   type af_IWebBrowser2_Refresh2 is access
     function (This  : access IWebBrowser2;
               Level : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   --  Refresh the currently viewed page.
   pragma Convention (StdCall, af_IWebBrowser2_Refresh2);

   type af_IWebBrowser2_Stop is access
     function (This : access IWebBrowser2)
     return GNATCOM.Types.HRESULT;
   --  Stops opening a file.
   pragma Convention (StdCall, af_IWebBrowser2_Stop);

   type af_IWebBrowser2_Get_Application is access
     function (This   : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_Pointer_To_IDispatch)
     return GNATCOM.Types.HRESULT;
   --  Returns the application automation object if accessible, this automation
   --  object otherwise..
   pragma Convention (StdCall, af_IWebBrowser2_Get_Application);

   type af_IWebBrowser2_Get_Parent is access
     function (This   : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_Pointer_To_IDispatch)
     return GNATCOM.Types.HRESULT;
   --  Returns the automation object of the container/parent if one exists or
   --  this automation object.
   pragma Convention (StdCall, af_IWebBrowser2_Get_Parent);

   type af_IWebBrowser2_Get_Container is access
     function (This   : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_Pointer_To_IDispatch)
     return GNATCOM.Types.HRESULT;
   --  Returns the container/parent automation object, if any.
   pragma Convention (StdCall, af_IWebBrowser2_Get_Container);

   type af_IWebBrowser2_Get_Document is access
     function (This   : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_Pointer_To_IDispatch)
     return GNATCOM.Types.HRESULT;
   --  Returns the active Document automation object, if any.
   pragma Convention (StdCall, af_IWebBrowser2_Get_Document);

   type af_IWebBrowser2_Get_TopLevelContainer is access
     function (This  : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Returns True if this is the top level object.
   pragma Convention (StdCall, af_IWebBrowser2_Get_TopLevelContainer);

   type af_IWebBrowser2_Get_Type is access
     function (This  : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_BSTR)
     return GNATCOM.Types.HRESULT;
   --  Returns the type of the contained document object.
   pragma Convention (StdCall, af_IWebBrowser2_Get_Type);

   type af_IWebBrowser2_Get_Left is access
     function (This : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   --  The horizontal position (pixels) of the frame window relative to the
   --  screen/container.
   pragma Convention (StdCall, af_IWebBrowser2_Get_Left);

   type af_IWebBrowser2_Put_Left is access
     function (This : access IWebBrowser2;
               pl   : Interfaces.C.long)
     return GNATCOM.Types.HRESULT;
   --  The horizontal position (pixels) of the frame window relative to the
   --  screen/container.
   pragma Convention (StdCall, af_IWebBrowser2_Put_Left);

   type af_IWebBrowser2_Get_Top is access
     function (This : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   --  The vertical position (pixels) of the frame window relative to the
   --  screen/container.
   pragma Convention (StdCall, af_IWebBrowser2_Get_Top);

   type af_IWebBrowser2_Put_Top is access
     function (This : access IWebBrowser2;
               pl   : Interfaces.C.long)
     return GNATCOM.Types.HRESULT;
   --  The vertical position (pixels) of the frame window relative to the
   --  screen/container.
   pragma Convention (StdCall, af_IWebBrowser2_Put_Top);

   type af_IWebBrowser2_Get_Width is access
     function (This : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   --  The horizontal dimension (pixels) of the frame window/object.
   pragma Convention (StdCall, af_IWebBrowser2_Get_Width);

   type af_IWebBrowser2_Put_Width is access
     function (This : access IWebBrowser2;
               pl   : Interfaces.C.long)
     return GNATCOM.Types.HRESULT;
   --  The horizontal dimension (pixels) of the frame window/object.
   pragma Convention (StdCall, af_IWebBrowser2_Put_Width);

   type af_IWebBrowser2_Get_Height is access
     function (This : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   --  The vertical dimension (pixels) of the frame window/object.
   pragma Convention (StdCall, af_IWebBrowser2_Get_Height);

   type af_IWebBrowser2_Put_Height is access
     function (This : access IWebBrowser2;
               pl   : Interfaces.C.long)
     return GNATCOM.Types.HRESULT;
   --  The vertical dimension (pixels) of the frame window/object.
   pragma Convention (StdCall, af_IWebBrowser2_Put_Height);

   type af_IWebBrowser2_Get_LocationName is access
     function (This         : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_BSTR)
     return GNATCOM.Types.HRESULT;
   --  Gets the short (UI-friendly) name of the URL/file currently viewed.
   pragma Convention (StdCall, af_IWebBrowser2_Get_LocationName);

   type af_IWebBrowser2_Get_LocationURL is access
     function (This        : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_BSTR)
     return GNATCOM.Types.HRESULT;
   --  Gets the full URL/path currently viewed.
   pragma Convention (StdCall, af_IWebBrowser2_Get_LocationURL);

   type af_IWebBrowser2_Get_Busy is access
     function (This  : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Query to see if something is still in progress.
   pragma Convention (StdCall, af_IWebBrowser2_Get_Busy);

   type af_IWebBrowser2_Quit is access
     function (This : access IWebBrowser2)
     return GNATCOM.Types.HRESULT;
   --  Exits application and closes the open document.
   pragma Convention (StdCall, af_IWebBrowser2_Quit);

   type af_IWebBrowser2_ClientToWindow is access
     function (This : access IWebBrowser2;
               pcx  : GNATCOM.Types.Pointer_To_int;
               pcy  : GNATCOM.Types.Pointer_To_int)
     return GNATCOM.Types.HRESULT;
   --  Converts client sizes into window sizes.
   pragma Convention (StdCall, af_IWebBrowser2_ClientToWindow);

   type af_IWebBrowser2_PutProperty is access
     function (This     : access IWebBrowser2;
               Property : GNATCOM.Types.BSTR;
               vtValue  : GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   --  Associates vtValue with the name szProperty in the context of the
   --  object.
   pragma Convention (StdCall, af_IWebBrowser2_PutProperty);

   type af_IWebBrowser2_GetProperty is access
     function (This     : access IWebBrowser2;
               Property : GNATCOM.Types.BSTR;
               RetVal : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   --  Retrieve the Associated value for the property vtValue in the context of
   --  the object.
   pragma Convention (StdCall, af_IWebBrowser2_GetProperty);

   type af_IWebBrowser2_Get_Name is access
     function (This : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_BSTR)
     return GNATCOM.Types.HRESULT;
   --  Returns name of the application.
   pragma Convention (StdCall, af_IWebBrowser2_Get_Name);

   type af_IWebBrowser2_Get_HWND is access
     function (This  : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   --  Returns the HWND of the current IE window.
   pragma Convention (StdCall, af_IWebBrowser2_Get_HWND);

   type af_IWebBrowser2_Get_FullName is access
     function (This     : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_BSTR)
     return GNATCOM.Types.HRESULT;
   --  Returns file specification of the application, including path.
   pragma Convention (StdCall, af_IWebBrowser2_Get_FullName);

   type af_IWebBrowser2_Get_Path is access
     function (This : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_BSTR)
     return GNATCOM.Types.HRESULT;
   --  Returns the path to the application.
   pragma Convention (StdCall, af_IWebBrowser2_Get_Path);

   type af_IWebBrowser2_Get_Visible is access
     function (This  : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Determines whether the application is visible or hidden.
   pragma Convention (StdCall, af_IWebBrowser2_Get_Visible);

   type af_IWebBrowser2_Put_Visible is access
     function (This  : access IWebBrowser2;
               pBool : GNATCOM.Types.VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Determines whether the application is visible or hidden.
   pragma Convention (StdCall, af_IWebBrowser2_Put_Visible);

   type af_IWebBrowser2_Get_StatusBar is access
     function (This  : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Turn on or off the statusbar.
   pragma Convention (StdCall, af_IWebBrowser2_Get_StatusBar);

   type af_IWebBrowser2_Put_StatusBar is access
     function (This  : access IWebBrowser2;
               pBool : GNATCOM.Types.VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Turn on or off the statusbar.
   pragma Convention (StdCall, af_IWebBrowser2_Put_StatusBar);

   type af_IWebBrowser2_Get_StatusText is access
     function (This       : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_BSTR)
     return GNATCOM.Types.HRESULT;
   --  Text of Status window.
   pragma Convention (StdCall, af_IWebBrowser2_Get_StatusText);

   type af_IWebBrowser2_Put_StatusText is access
     function (This       : access IWebBrowser2;
               StatusText : GNATCOM.Types.BSTR)
     return GNATCOM.Types.HRESULT;
   --  Text of Status window.
   pragma Convention (StdCall, af_IWebBrowser2_Put_StatusText);

   type af_IWebBrowser2_Get_ToolBar is access
     function (This  : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_int)
     return GNATCOM.Types.HRESULT;
   --  Controls which toolbar is shown.
   pragma Convention (StdCall, af_IWebBrowser2_Get_ToolBar);

   type af_IWebBrowser2_Put_ToolBar is access
     function (This  : access IWebBrowser2;
               Value : Interfaces.C.int)
     return GNATCOM.Types.HRESULT;
   --  Controls which toolbar is shown.
   pragma Convention (StdCall, af_IWebBrowser2_Put_ToolBar);

   type af_IWebBrowser2_Get_MenuBar is access
     function (This  : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Controls whether menubar is shown.
   pragma Convention (StdCall, af_IWebBrowser2_Get_MenuBar);

   type af_IWebBrowser2_Put_MenuBar is access
     function (This  : access IWebBrowser2;
               Value : GNATCOM.Types.VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Controls whether menubar is shown.
   pragma Convention (StdCall, af_IWebBrowser2_Put_MenuBar);

   type af_IWebBrowser2_Get_FullScreen is access
     function (This         : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Maximizes window and turns off statusbar, toolbar, menubar, and
   --  titlebar.
   pragma Convention (StdCall, af_IWebBrowser2_Get_FullScreen);

   type af_IWebBrowser2_Put_FullScreen is access
     function (This         : access IWebBrowser2;
               pbFullScreen : GNATCOM.Types.VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Maximizes window and turns off statusbar, toolbar, menubar, and
   --  titlebar.
   pragma Convention (StdCall, af_IWebBrowser2_Put_FullScreen);

   type af_IWebBrowser2_Navigate2 is access
     function (This            : access IWebBrowser2;
               URL             : access GNATCOM.Types.VARIANT;
               Flags           : access GNATCOM.Types.VARIANT;
               TargetFrameName : access GNATCOM.Types.VARIANT;
               PostData        : access GNATCOM.Types.VARIANT;
               Headers         : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   --  Navigates to a URL or file or pidl.
   pragma Convention (StdCall, af_IWebBrowser2_Navigate2);

   type af_IWebBrowser2_QueryStatusWB is access
     function (This  : access IWebBrowser2;
               cmdID : OLECMDID;
               RetVal : Pointer_To_OLECMDF)
     return GNATCOM.Types.HRESULT;
   --  IOleCommandTarget::QueryStatus
   pragma Convention (StdCall, af_IWebBrowser2_QueryStatusWB);

   type af_IWebBrowser2_ExecWB is access
     function (This       : access IWebBrowser2;
               cmdID      : OLECMDID;
               cmdexecopt : OLECMDEXECOPT;
               pvaIn      : access GNATCOM.Types.VARIANT;
               pvaOut     : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   --  IOleCommandTarget::Exec
   pragma Convention (StdCall, af_IWebBrowser2_ExecWB);

   type af_IWebBrowser2_ShowBrowserBar is access
     function (This     : access IWebBrowser2;
               pvaClsid : access GNATCOM.Types.VARIANT;
               pvarShow : access GNATCOM.Types.VARIANT;
               pvarSize : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   --  Set BrowserBar to Clsid
   pragma Convention (StdCall, af_IWebBrowser2_ShowBrowserBar);

   type af_IWebBrowser2_Get_ReadyState is access
     function (This         : access IWebBrowser2;
               RetVal : Pointer_To_tagREADYSTATE)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IWebBrowser2_Get_ReadyState);

   type af_IWebBrowser2_Get_Offline is access
     function (This      : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Controls if the frame is offline (read from cache)
   pragma Convention (StdCall, af_IWebBrowser2_Get_Offline);

   type af_IWebBrowser2_Put_Offline is access
     function (This      : access IWebBrowser2;
               pbOffline : GNATCOM.Types.VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Controls if the frame is offline (read from cache)
   pragma Convention (StdCall, af_IWebBrowser2_Put_Offline);

   type af_IWebBrowser2_Get_Silent is access
     function (This     : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Controls if any dialog boxes can be shown
   pragma Convention (StdCall, af_IWebBrowser2_Get_Silent);

   type af_IWebBrowser2_Put_Silent is access
     function (This     : access IWebBrowser2;
               pbSilent : GNATCOM.Types.VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Controls if any dialog boxes can be shown
   pragma Convention (StdCall, af_IWebBrowser2_Put_Silent);

   type af_IWebBrowser2_Get_RegisterAsBrowser is access
     function (This       : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Registers OC as a top-level browser (for target name resolution)
   pragma Convention (StdCall, af_IWebBrowser2_Get_RegisterAsBrowser);

   type af_IWebBrowser2_Put_RegisterAsBrowser is access
     function (This       : access IWebBrowser2;
               pbRegister : GNATCOM.Types.VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Registers OC as a top-level browser (for target name resolution)
   pragma Convention (StdCall, af_IWebBrowser2_Put_RegisterAsBrowser);

   type af_IWebBrowser2_Get_RegisterAsDropTarget is access
     function (This       : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Registers OC as a drop target for navigation
   pragma Convention (StdCall, af_IWebBrowser2_Get_RegisterAsDropTarget);

   type af_IWebBrowser2_Put_RegisterAsDropTarget is access
     function (This       : access IWebBrowser2;
               pbRegister : GNATCOM.Types.VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Registers OC as a drop target for navigation
   pragma Convention (StdCall, af_IWebBrowser2_Put_RegisterAsDropTarget);

   type af_IWebBrowser2_Get_TheaterMode is access
     function (This       : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Controls if the browser is in theater mode
   pragma Convention (StdCall, af_IWebBrowser2_Get_TheaterMode);

   type af_IWebBrowser2_Put_TheaterMode is access
     function (This       : access IWebBrowser2;
               pbRegister : GNATCOM.Types.VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Controls if the browser is in theater mode
   pragma Convention (StdCall, af_IWebBrowser2_Put_TheaterMode);

   type af_IWebBrowser2_Get_AddressBar is access
     function (This  : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Controls whether address bar is shown
   pragma Convention (StdCall, af_IWebBrowser2_Get_AddressBar);

   type af_IWebBrowser2_Put_AddressBar is access
     function (This  : access IWebBrowser2;
               Value : GNATCOM.Types.VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Controls whether address bar is shown
   pragma Convention (StdCall, af_IWebBrowser2_Put_AddressBar);

   type af_IWebBrowser2_Get_Resizable is access
     function (This  : access IWebBrowser2;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Controls whether the window is resizable
   pragma Convention (StdCall, af_IWebBrowser2_Get_Resizable);

   type af_IWebBrowser2_Put_Resizable is access
     function (This  : access IWebBrowser2;
               Value : GNATCOM.Types.VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Controls whether the window is resizable
   pragma Convention (StdCall, af_IWebBrowser2_Put_Resizable);

   type IWebBrowser2Vtbl;
   type Pointer_To_IWebBrowser2Vtbl is access all IWebBrowser2Vtbl;

   type IWebBrowser2 is
      record
         Vtbl : Pointer_To_IWebBrowser2Vtbl;
      end record;
   pragma Convention (C_Pass_By_Copy, IWebBrowser2);

   type IWebBrowser2Vtbl is
      record
         QueryInterface           : af_IWebBrowser2_QueryInterface;
         AddRef                   : af_IWebBrowser2_AddRef;
         Release                  : af_IWebBrowser2_Release;
         GetTypeInfoCount         : af_IWebBrowser2_GetTypeInfoCount;
         GetTypeInfo              : af_IWebBrowser2_GetTypeInfo;
         GetIDsOfNames            : af_IWebBrowser2_GetIDsOfNames;
         Invoke                   : af_IWebBrowser2_Invoke;
         GoBack                   : af_IWebBrowser2_GoBack;
         GoForward                : af_IWebBrowser2_GoForward;
         GoHome                   : af_IWebBrowser2_GoHome;
         GoSearch                 : af_IWebBrowser2_GoSearch;
         Navigate                 : af_IWebBrowser2_Navigate;
         Refresh                  : af_IWebBrowser2_Refresh;
         Refresh2                 : af_IWebBrowser2_Refresh2;
         Stop                     : af_IWebBrowser2_Stop;
         Get_Application          : af_IWebBrowser2_Get_Application;
         Get_Parent               : af_IWebBrowser2_Get_Parent;
         Get_Container            : af_IWebBrowser2_Get_Container;
         Get_Document             : af_IWebBrowser2_Get_Document;
         Get_TopLevelContainer    : af_IWebBrowser2_Get_TopLevelContainer;
         Get_Type                 : af_IWebBrowser2_Get_Type;
         Get_Left                 : af_IWebBrowser2_Get_Left;
         Put_Left                 : af_IWebBrowser2_Put_Left;
         Get_Top                  : af_IWebBrowser2_Get_Top;
         Put_Top                  : af_IWebBrowser2_Put_Top;
         Get_Width                : af_IWebBrowser2_Get_Width;
         Put_Width                : af_IWebBrowser2_Put_Width;
         Get_Height               : af_IWebBrowser2_Get_Height;
         Put_Height               : af_IWebBrowser2_Put_Height;
         Get_LocationName         : af_IWebBrowser2_Get_LocationName;
         Get_LocationURL          : af_IWebBrowser2_Get_LocationURL;
         Get_Busy                 : af_IWebBrowser2_Get_Busy;
         Quit                     : af_IWebBrowser2_Quit;
         ClientToWindow           : af_IWebBrowser2_ClientToWindow;
         PutProperty              : af_IWebBrowser2_PutProperty;
         GetProperty              : af_IWebBrowser2_GetProperty;
         Get_Name                 : af_IWebBrowser2_Get_Name;
         Get_HWND                 : af_IWebBrowser2_Get_HWND;
         Get_FullName             : af_IWebBrowser2_Get_FullName;
         Get_Path                 : af_IWebBrowser2_Get_Path;
         Get_Visible              : af_IWebBrowser2_Get_Visible;
         Put_Visible              : af_IWebBrowser2_Put_Visible;
         Get_StatusBar            : af_IWebBrowser2_Get_StatusBar;
         Put_StatusBar            : af_IWebBrowser2_Put_StatusBar;
         Get_StatusText           : af_IWebBrowser2_Get_StatusText;
         Put_StatusText           : af_IWebBrowser2_Put_StatusText;
         Get_ToolBar              : af_IWebBrowser2_Get_ToolBar;
         Put_ToolBar              : af_IWebBrowser2_Put_ToolBar;
         Get_MenuBar              : af_IWebBrowser2_Get_MenuBar;
         Put_MenuBar              : af_IWebBrowser2_Put_MenuBar;
         Get_FullScreen           : af_IWebBrowser2_Get_FullScreen;
         Put_FullScreen           : af_IWebBrowser2_Put_FullScreen;
         Navigate2                : af_IWebBrowser2_Navigate2;
         QueryStatusWB            : af_IWebBrowser2_QueryStatusWB;
         ExecWB                   : af_IWebBrowser2_ExecWB;
         ShowBrowserBar           : af_IWebBrowser2_ShowBrowserBar;
         Get_ReadyState           : af_IWebBrowser2_Get_ReadyState;
         Get_Offline              : af_IWebBrowser2_Get_Offline;
         Put_Offline              : af_IWebBrowser2_Put_Offline;
         Get_Silent               : af_IWebBrowser2_Get_Silent;
         Put_Silent               : af_IWebBrowser2_Put_Silent;
         Get_RegisterAsBrowser    : af_IWebBrowser2_Get_RegisterAsBrowser;
         Put_RegisterAsBrowser    : af_IWebBrowser2_Put_RegisterAsBrowser;
         Get_RegisterAsDropTarget : af_IWebBrowser2_Get_RegisterAsDropTarget;
         Put_RegisterAsDropTarget : af_IWebBrowser2_Put_RegisterAsDropTarget;
         Get_TheaterMode          : af_IWebBrowser2_Get_TheaterMode;
         Put_TheaterMode          : af_IWebBrowser2_Put_TheaterMode;
         Get_AddressBar           : af_IWebBrowser2_Get_AddressBar;
         Put_AddressBar           : af_IWebBrowser2_Put_AddressBar;
         Get_Resizable            : af_IWebBrowser2_Get_Resizable;
         Put_Resizable            : af_IWebBrowser2_Put_Resizable;
      end record;
   pragma Convention (C_Pass_By_Copy, IWebBrowser2Vtbl);

   function To_Pointer_To_IWebBrowser2 is
     new Ada.Unchecked_Conversion
     (GNATCOM.Types.Pointer_To_Void, Pointer_To_IWebBrowser2);

   --  Element Index         : 4
   --  Element Name          : IWebBrowser2
   --  Element Documentation : Web Browser Interface for IE4.
   --  Element Type          : Dispatch

   IWebBrowser2_GoBack                   : constant := 100;
   IWebBrowser2_GoForward                : constant := 101;
   IWebBrowser2_GoHome                   : constant := 102;
   IWebBrowser2_GoSearch                 : constant := 103;
   IWebBrowser2_Navigate                 : constant := 104;
   IWebBrowser2_Refresh                  : constant := -550;
   IWebBrowser2_Refresh2                 : constant := 105;
   IWebBrowser2_Stop                     : constant := 106;
   IWebBrowser2_Get_Application          : constant := 200;
   IWebBrowser2_Get_Parent               : constant := 201;
   IWebBrowser2_Get_Container            : constant := 202;
   IWebBrowser2_Get_Document             : constant := 203;
   IWebBrowser2_Get_TopLevelContainer    : constant := 204;
   IWebBrowser2_Get_Type                 : constant := 205;
   IWebBrowser2_Get_Left                 : constant := 206;
   IWebBrowser2_Put_Left                 : constant := 206;
   IWebBrowser2_Get_Top                  : constant := 207;
   IWebBrowser2_Put_Top                  : constant := 207;
   IWebBrowser2_Get_Width                : constant := 208;
   IWebBrowser2_Put_Width                : constant := 208;
   IWebBrowser2_Get_Height               : constant := 209;
   IWebBrowser2_Put_Height               : constant := 209;
   IWebBrowser2_Get_LocationName         : constant := 210;
   IWebBrowser2_Get_LocationURL          : constant := 211;
   IWebBrowser2_Get_Busy                 : constant := 212;
   IWebBrowser2_Quit                     : constant := 300;
   IWebBrowser2_ClientToWindow           : constant := 301;
   IWebBrowser2_PutProperty              : constant := 302;
   IWebBrowser2_GetProperty              : constant := 303;
   IWebBrowser2_Get_Name                 : constant := 0;
   IWebBrowser2_Get_HWND                 : constant := -515;
   IWebBrowser2_Get_FullName             : constant := 400;
   IWebBrowser2_Get_Path                 : constant := 401;
   IWebBrowser2_Get_Visible              : constant := 402;
   IWebBrowser2_Put_Visible              : constant := 402;
   IWebBrowser2_Get_StatusBar            : constant := 403;
   IWebBrowser2_Put_StatusBar            : constant := 403;
   IWebBrowser2_Get_StatusText           : constant := 404;
   IWebBrowser2_Put_StatusText           : constant := 404;
   IWebBrowser2_Get_ToolBar              : constant := 405;
   IWebBrowser2_Put_ToolBar              : constant := 405;
   IWebBrowser2_Get_MenuBar              : constant := 406;
   IWebBrowser2_Put_MenuBar              : constant := 406;
   IWebBrowser2_Get_FullScreen           : constant := 407;
   IWebBrowser2_Put_FullScreen           : constant := 407;
   IWebBrowser2_Navigate2                : constant := 500;
   IWebBrowser2_QueryStatusWB            : constant := 501;
   IWebBrowser2_ExecWB                   : constant := 502;
   IWebBrowser2_ShowBrowserBar           : constant := 503;
   IWebBrowser2_Get_ReadyState           : constant := -525;
   IWebBrowser2_Get_Offline              : constant := 550;
   IWebBrowser2_Put_Offline              : constant := 550;
   IWebBrowser2_Get_Silent               : constant := 551;
   IWebBrowser2_Put_Silent               : constant := 551;
   IWebBrowser2_Get_RegisterAsBrowser    : constant := 552;
   IWebBrowser2_Put_RegisterAsBrowser    : constant := 552;
   IWebBrowser2_Get_RegisterAsDropTarget : constant := 553;
   IWebBrowser2_Put_RegisterAsDropTarget : constant := 553;
   IWebBrowser2_Get_TheaterMode          : constant := 554;
   IWebBrowser2_Put_TheaterMode          : constant := 554;
   IWebBrowser2_Get_AddressBar           : constant := 555;
   IWebBrowser2_Put_AddressBar           : constant := 555;
   IWebBrowser2_Get_Resizable            : constant := 556;
   IWebBrowser2_Put_Resizable            : constant := 556;

   --  Element Index         : 9
   --  Element Name          : SecureLockIconConstants
   --  Element Documentation : Constants for WebBrowser security icon
   --                          notification
   --  Element Type          : Enumeration

   secureLockIconUnsecure          : constant := 0;
   secureLockIconMixed             : constant := 1;
   secureLockIconSecureUnknownBits : constant := 2;
   secureLockIconSecure40Bit       : constant := 3;
   secureLockIconSecure56Bit       : constant := 4;
   secureLockIconSecureFortezza    : constant := 5;
   secureLockIconSecure128Bit      : constant := 6;

   --  Element Index         : 10
   --  Element Name          : NewProcessCauseConstants
   --  Element Documentation : Constants for WebBrowser NewProcess notification
   --  Element Type          : Enumeration

   ProtectedModeRedirect : constant := 1;

   --  Element Index         : 11
   --  Element Name          : DWebBrowserEvents2
   --  Element Documentation : Web Browser Control events interface
   --  Element Type          : Dispatch

   IID_DWebBrowserEvents2 : aliased GNATCOM.Types.GUID :=
     GNATCOM.GUID.To_GUID ("{34A715A0-6587-11D0-924A-0020AFC7AC4D}");

   DWebBrowserEvents2_StatusTextChange           : constant := 102;
   DWebBrowserEvents2_ProgressChange             : constant := 108;
   DWebBrowserEvents2_CommandStateChange         : constant := 105;
   DWebBrowserEvents2_DownloadBegin              : constant := 106;
   DWebBrowserEvents2_DownloadComplete           : constant := 104;
   DWebBrowserEvents2_TitleChange                : constant := 113;
   DWebBrowserEvents2_PropertyChange             : constant := 112;
   DWebBrowserEvents2_BeforeNavigate2            : constant := 250;
   DWebBrowserEvents2_NewWindow2                 : constant := 251;
   DWebBrowserEvents2_NavigateComplete2          : constant := 252;
   DWebBrowserEvents2_DocumentComplete           : constant := 259;
   DWebBrowserEvents2_OnQuit                     : constant := 253;
   DWebBrowserEvents2_OnVisible                  : constant := 254;
   DWebBrowserEvents2_OnToolBar                  : constant := 255;
   DWebBrowserEvents2_OnMenuBar                  : constant := 256;
   DWebBrowserEvents2_OnStatusBar                : constant := 257;
   DWebBrowserEvents2_OnFullScreen               : constant := 258;
   DWebBrowserEvents2_OnTheaterMode              : constant := 260;
   DWebBrowserEvents2_WindowSetResizable         : constant := 262;
   DWebBrowserEvents2_WindowSetLeft              : constant := 264;
   DWebBrowserEvents2_WindowSetTop               : constant := 265;
   DWebBrowserEvents2_WindowSetWidth             : constant := 266;
   DWebBrowserEvents2_WindowSetHeight            : constant := 267;
   DWebBrowserEvents2_WindowClosing              : constant := 263;
   DWebBrowserEvents2_ClientToHostWindow         : constant := 268;
   DWebBrowserEvents2_SetSecureLockIcon          : constant := 269;
   DWebBrowserEvents2_FileDownload               : constant := 270;
   DWebBrowserEvents2_NavigateError              : constant := 271;
   DWebBrowserEvents2_PrintTemplateInstantiation : constant := 225;
   DWebBrowserEvents2_PrintTemplateTeardown      : constant := 226;
   DWebBrowserEvents2_UpdatePageStatus           : constant := 227;
   DWebBrowserEvents2_PrivacyImpactedStateChange : constant := 272;
   DWebBrowserEvents2_NewWindow3                 : constant := 273;
   DWebBrowserEvents2_SetPhishingFilterStatus    : constant := 282;
   DWebBrowserEvents2_WindowStateChanged         : constant := 283;
   DWebBrowserEvents2_NewProcess                 : constant := 284;
   DWebBrowserEvents2_ThirdPartyUrlBlocked       : constant := 285;
   DWebBrowserEvents2_RedirectXDomainBlocked     : constant := 286;

   --  Element Index         : 12
   --  Element Name          : WebBrowser_V1
   --  Element Documentation : WebBrowser Control
   --  Element Type          : CoClass

   CLSID_WebBrowser_V1 : aliased GNATCOM.Types.GUID :=
     GNATCOM.GUID.To_GUID ("{EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B}");

   --  Element Index         : 13
   --  Element Name          : WebBrowser
   --  Element Documentation : WebBrowser Control
   --  Element Type          : CoClass

   CLSID_WebBrowser : aliased GNATCOM.Types.GUID :=
     GNATCOM.GUID.To_GUID ("{8856F961-340A-11D0-A96B-00C04FD705A2}");

   --  Element Index         : 14
   --  Element Name          : InternetExplorer
   --  Element Documentation : Internet Explorer Application.
   --  Element Type          : CoClass

   CLSID_InternetExplorer : aliased GNATCOM.Types.GUID :=
     GNATCOM.GUID.To_GUID ("{0002DF01-0000-0000-C000-000000000046}");

   --  Element Index         : 15
   --  Element Name          : InternetExplorerMedium
   --  Element Documentation : Internet Explorer Application with default
   --  integrity of Medium
   --  Element Type          : CoClass

   CLSID_InternetExplorerMedium : aliased GNATCOM.Types.GUID :=
     GNATCOM.GUID.To_GUID ("{D5E8041D-920F-45E9-B8FB-B1DEB82C6E5E}");

   --  Element Index         : 16
   --  Element Name          : ShellBrowserWindow
   --  Element Documentation : Shell Browser Window.
   --  Element Type          : CoClass

   CLSID_ShellBrowserWindow : aliased GNATCOM.Types.GUID :=
     GNATCOM.GUID.To_GUID ("{C08AFD90-F2A1-11D1-8455-00A0C91F3880}");

   --  Element Index         : 17
   --  Element Name          : ShellWindowTypeConstants
   --  Element Documentation : Constants for ShellWindows registration
   --  Element Type          : Enumeration

   SWC_EXPLORER : constant := 0;
   --  Explorer
   SWC_BROWSER  : constant := 1;
   --  Various Browsing Windows
   SWC_3RDPARTY : constant := 2;
   --  3rd Party Browsers
   SWC_CALLBACK : constant := 4;
   --  Creation Callback
   SWC_DESKTOP  : constant := 8;
   --  The Windows Desktop

   --  Element Index         : 18
   --  Element Name          : ShellWindowFindWindowOptions
   --  Element Documentation : Options for ShellWindows FindWindow
   --  Element Type          : Enumeration

   SWFO_NEEDDISPATCH   : constant := 1;
   --  Need Dispatch
   SWFO_INCLUDEPENDING : constant := 2;
   --  Include Pending
   SWFO_COOKIEPASSED   : constant := 4;
   --  Cookie Passed

   --  Element Index         : 19
   --  Element Name          : DShellWindowsEvents
   --  Element Documentation : Event interface for IShellWindows
   --  Element Type          : Dispatch

   IID_DShellWindowsEvents : aliased GNATCOM.Types.GUID :=
     GNATCOM.GUID.To_GUID ("{FE4106E0-399A-11D0-A48C-00A0C90A8F39}");

   DShellWindowsEvents_WindowRegistered : constant := 200;
   DShellWindowsEvents_WindowRevoked    : constant := 201;

   --  Element Index         : 20
   --  Element Name          : IShellWindows
   --  Element Documentation : Definition of interface IShellWindows
   --  Element Type          : Dispatch

   IID_IShellWindows : aliased GNATCOM.Types.GUID :=
     GNATCOM.GUID.To_GUID ("{85CB6900-4D95-11CF-960C-0080C7F4EE85}");

   type af_IShellWindows_QueryInterface is access
     function (This   : access IShellWindows;
               riid   : GNATCOM.Types.Pointer_To_GUID;
               ppvObj : GNATCOM.Types.Pointer_To_Pointer_To_Void)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellWindows_QueryInterface);

   type af_IShellWindows_AddRef is access
     function (This : access IShellWindows)
     return Interfaces.C.unsigned_long;
   pragma Convention (StdCall, af_IShellWindows_AddRef);

   type af_IShellWindows_Release is access
     function (This : access IShellWindows)
     return Interfaces.C.unsigned_long;
   pragma Convention (StdCall, af_IShellWindows_Release);

   type af_IShellWindows_GetTypeInfoCount is access
     function (This    : access IShellWindows;
               pctinfo : GNATCOM.Types.Pointer_To_unsigned)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellWindows_GetTypeInfoCount);

   type af_IShellWindows_GetTypeInfo is access
     function (This    : access IShellWindows;
               itinfo  : Interfaces.C.unsigned;
               lcid    : Interfaces.C.unsigned_long;
               pptinfo : GNATCOM.Types.Pointer_To_Pointer_To_Void)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellWindows_GetTypeInfo);

   type af_IShellWindows_GetIDsOfNames is access
     function (This      : access IShellWindows;
               riid      : GNATCOM.Types.Pointer_To_GUID;
               rgszNames : GNATCOM.Types.Pointer_To_Pointer_To_char;
               cNames    : Interfaces.C.unsigned;
               lcid      : Interfaces.C.unsigned_long;
               rgdispid  : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellWindows_GetIDsOfNames);

   type af_IShellWindows_Invoke is access
     function (This         : access IShellWindows;
               dispidMember : Interfaces.C.long;
               riid         : GNATCOM.Types.Pointer_To_GUID;
               lcid         : Interfaces.C.unsigned_long;
               wFlags       : Interfaces.C.unsigned_short;
               pdispparams  : GNATCOM.Types.Pointer_To_DISPPARAMS;
               pvarResult   : access GNATCOM.Types.VARIANT;
               pexcepinfo   : GNATCOM.Types.Pointer_To_EXCEPINFO;
               puArgErr     : GNATCOM.Types.Pointer_To_unsigned)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellWindows_Invoke);

   type af_IShellWindows_Get_Count is access
     function (This  : access IShellWindows;
               RetVal : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   --  Get count of open Shell windows
   pragma Convention (StdCall, af_IShellWindows_Get_Count);

   type af_IShellWindows_Item is access
     function (This   : access IShellWindows;
               index  : GNATCOM.Types.VARIANT;
               RetVal : GNATCOM.Types.Pointer_To_Pointer_To_IDispatch)
     return GNATCOM.Types.HRESULT;
   --  Return the shell window for the given index
   pragma Convention (StdCall, af_IShellWindows_Item);

   type af_IShellWindows_uNewEnum is access
     function (This  : access IShellWindows;
               RetVal : GNATCOM.Types.Pointer_To_Pointer_To_IUnknown)
     return GNATCOM.Types.HRESULT;
   --  Enumerates the figures
   pragma Convention (StdCall, af_IShellWindows_uNewEnum);

   type af_IShellWindows_Register is access
     function (This     : access IShellWindows;
               pid      : GNATCOM.Types.Pointer_To_IDispatch;
               HWND     : Interfaces.C.long;
               swClass  : Interfaces.C.int;
               plCookie : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   --  Register a window with the list
   pragma Convention (StdCall, af_IShellWindows_Register);

   type af_IShellWindows_RegisterPending is access
     function (This        : access IShellWindows;
               lThreadId   : Interfaces.C.long;
               pvarloc     : access GNATCOM.Types.VARIANT;
               pvarlocRoot : access GNATCOM.Types.VARIANT;
               swClass     : Interfaces.C.int;
               plCookie    : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   --  Register a pending open with the list
   pragma Convention (StdCall, af_IShellWindows_RegisterPending);

   type af_IShellWindows_Revoke is access
     function (This    : access IShellWindows;
               lCookie : Interfaces.C.long)
     return GNATCOM.Types.HRESULT;
   --  Remove a window from the list
   pragma Convention (StdCall, af_IShellWindows_Revoke);

   type af_IShellWindows_OnNavigate is access
     function (This    : access IShellWindows;
               lCookie : Interfaces.C.long;
               pvarloc : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   --  Notifies the new location
   pragma Convention (StdCall, af_IShellWindows_OnNavigate);

   type af_IShellWindows_OnActivated is access
     function (This    : access IShellWindows;
               lCookie : Interfaces.C.long;
               fActive : GNATCOM.Types.VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Notifies the activation
   pragma Convention (StdCall, af_IShellWindows_OnActivated);

   type af_IShellWindows_FindWindowSW is access
     function (This        : access IShellWindows;
               pvarloc     : access GNATCOM.Types.VARIANT;
               pvarlocRoot : access GNATCOM.Types.VARIANT;
               swClass     : Interfaces.C.int;
               pHWND       : GNATCOM.Types.Pointer_To_long;
               swfwOptions : Interfaces.C.int;
               RetVal : GNATCOM.Types.Pointer_To_Pointer_To_IDispatch)
     return GNATCOM.Types.HRESULT;
   --  Find the window based on the location
   pragma Convention (StdCall, af_IShellWindows_FindWindowSW);

   type af_IShellWindows_OnCreated is access
     function (This    : access IShellWindows;
               lCookie : Interfaces.C.long;
               punk    : GNATCOM.Types.Pointer_To_IUnknown)
     return GNATCOM.Types.HRESULT;
   --  Notifies on creation and frame name set
   pragma Convention (StdCall, af_IShellWindows_OnCreated);

   type af_IShellWindows_ProcessAttachDetach is access
     function (This    : access IShellWindows;
               fAttach : GNATCOM.Types.VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Used by IExplore to register different processes
   pragma Convention (StdCall, af_IShellWindows_ProcessAttachDetach);

   type IShellWindowsVtbl;
   type Pointer_To_IShellWindowsVtbl is access all IShellWindowsVtbl;

   type IShellWindows is
      record
         Vtbl : Pointer_To_IShellWindowsVtbl;
      end record;
   pragma Convention (C_Pass_By_Copy, IShellWindows);

   type IShellWindowsVtbl is
      record
         QueryInterface      : af_IShellWindows_QueryInterface;
         AddRef              : af_IShellWindows_AddRef;
         Release             : af_IShellWindows_Release;
         GetTypeInfoCount    : af_IShellWindows_GetTypeInfoCount;
         GetTypeInfo         : af_IShellWindows_GetTypeInfo;
         GetIDsOfNames       : af_IShellWindows_GetIDsOfNames;
         Invoke              : af_IShellWindows_Invoke;
         Get_Count           : af_IShellWindows_Get_Count;
         Item                : af_IShellWindows_Item;
         uNewEnum            : af_IShellWindows_uNewEnum;
         Register            : af_IShellWindows_Register;
         RegisterPending     : af_IShellWindows_RegisterPending;
         Revoke              : af_IShellWindows_Revoke;
         OnNavigate          : af_IShellWindows_OnNavigate;
         OnActivated         : af_IShellWindows_OnActivated;
         FindWindowSW        : af_IShellWindows_FindWindowSW;
         OnCreated           : af_IShellWindows_OnCreated;
         ProcessAttachDetach : af_IShellWindows_ProcessAttachDetach;
      end record;
   pragma Convention (C_Pass_By_Copy, IShellWindowsVtbl);

   function To_Pointer_To_IShellWindows is
     new Ada.Unchecked_Conversion
     (GNATCOM.Types.Pointer_To_Void, Pointer_To_IShellWindows);

   --  Element Index         : 20
   --  Element Name          : IShellWindows
   --  Element Documentation : Definition of interface IShellWindows
   --  Element Type          : Dispatch

   IShellWindows_Get_Count           : constant := 1610743808;
   IShellWindows_Item                : constant := 0;
   IShellWindows_uNewEnum            : constant := -4;
   IShellWindows_Register            : constant := 1610743811;
   IShellWindows_RegisterPending     : constant := 1610743812;
   IShellWindows_Revoke              : constant := 1610743813;
   IShellWindows_OnNavigate          : constant := 1610743814;
   IShellWindows_OnActivated         : constant := 1610743815;
   IShellWindows_FindWindowSW        : constant := 1610743816;
   IShellWindows_OnCreated           : constant := 1610743817;
   IShellWindows_ProcessAttachDetach : constant := 1610743818;

   --  Element Index         : 21
   --  Element Name          : ShellWindows
   --  Element Documentation : ShellDispatch Load in Shell Context
   --  Element Type          : CoClass

   CLSID_ShellWindows : aliased GNATCOM.Types.GUID :=
     GNATCOM.GUID.To_GUID ("{9BA05972-F6A8-11CF-A442-00A0C90A8F39}");

   --  Element Index         : 22
   --  Element Name          : IShellUIHelper
   --  Element Documentation : Shell UI Helper Control Interface
   --  Element Type          : Dispatch

   IID_IShellUIHelper : aliased GNATCOM.Types.GUID :=
     GNATCOM.GUID.To_GUID ("{729FE2F8-1EA8-11D1-8F85-00C04FC2FBE1}");

   type af_IShellUIHelper_QueryInterface is access
     function (This   : access IShellUIHelper;
               riid   : GNATCOM.Types.Pointer_To_GUID;
               ppvObj : GNATCOM.Types.Pointer_To_Pointer_To_Void)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper_QueryInterface);

   type af_IShellUIHelper_AddRef is access
     function (This : access IShellUIHelper)
     return Interfaces.C.unsigned_long;
   pragma Convention (StdCall, af_IShellUIHelper_AddRef);

   type af_IShellUIHelper_Release is access
     function (This : access IShellUIHelper)
     return Interfaces.C.unsigned_long;
   pragma Convention (StdCall, af_IShellUIHelper_Release);

   type af_IShellUIHelper_GetTypeInfoCount is access
     function (This    : access IShellUIHelper;
               pctinfo : GNATCOM.Types.Pointer_To_unsigned)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper_GetTypeInfoCount);

   type af_IShellUIHelper_GetTypeInfo is access
     function (This    : access IShellUIHelper;
               itinfo  : Interfaces.C.unsigned;
               lcid    : Interfaces.C.unsigned_long;
               pptinfo : GNATCOM.Types.Pointer_To_Pointer_To_Void)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper_GetTypeInfo);

   type af_IShellUIHelper_GetIDsOfNames is access
     function (This      : access IShellUIHelper;
               riid      : GNATCOM.Types.Pointer_To_GUID;
               rgszNames : GNATCOM.Types.Pointer_To_Pointer_To_char;
               cNames    : Interfaces.C.unsigned;
               lcid      : Interfaces.C.unsigned_long;
               rgdispid  : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper_GetIDsOfNames);

   type af_IShellUIHelper_Invoke is access
     function (This         : access IShellUIHelper;
               dispidMember : Interfaces.C.long;
               riid         : GNATCOM.Types.Pointer_To_GUID;
               lcid         : Interfaces.C.unsigned_long;
               wFlags       : Interfaces.C.unsigned_short;
               pdispparams  : GNATCOM.Types.Pointer_To_DISPPARAMS;
               pvarResult   : access GNATCOM.Types.VARIANT;
               pexcepinfo   : GNATCOM.Types.Pointer_To_EXCEPINFO;
               puArgErr     : GNATCOM.Types.Pointer_To_unsigned)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper_Invoke);

   type af_IShellUIHelper_ResetFirstBootMode is access
     function (This : access IShellUIHelper)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper_ResetFirstBootMode);

   type af_IShellUIHelper_ResetSafeMode is access
     function (This : access IShellUIHelper)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper_ResetSafeMode);

   type af_IShellUIHelper_RefreshOfflineDesktop is access
     function (This : access IShellUIHelper)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper_RefreshOfflineDesktop);

   type af_IShellUIHelper_AddFavorite is access
     function (This  : access IShellUIHelper;
               URL   : GNATCOM.Types.BSTR;
               Title : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper_AddFavorite);

   type af_IShellUIHelper_AddChannel is access
     function (This : access IShellUIHelper;
               URL  : GNATCOM.Types.BSTR)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper_AddChannel);

   type af_IShellUIHelper_AddDesktopComponent is access
     function (This   : access IShellUIHelper;
               URL    : GNATCOM.Types.BSTR;
               uType  : GNATCOM.Types.BSTR;
               Left   : access GNATCOM.Types.VARIANT;
               Top    : access GNATCOM.Types.VARIANT;
               Width  : access GNATCOM.Types.VARIANT;
               Height : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper_AddDesktopComponent);

   type af_IShellUIHelper_IsSubscribed is access
     function (This  : access IShellUIHelper;
               URL   : GNATCOM.Types.BSTR;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper_IsSubscribed);

   type af_IShellUIHelper_NavigateAndFind is access
     function (This           : access IShellUIHelper;
               URL            : GNATCOM.Types.BSTR;
               strQuery       : GNATCOM.Types.BSTR;
               varTargetFrame : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper_NavigateAndFind);

   type af_IShellUIHelper_ImportExportFavorites is access
     function (This          : access IShellUIHelper;
               fImport       : GNATCOM.Types.VARIANT_BOOL;
               strImpExpPath : GNATCOM.Types.BSTR)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper_ImportExportFavorites);

   type af_IShellUIHelper_AutoCompleteSaveForm is access
     function (This : access IShellUIHelper;
               Form : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper_AutoCompleteSaveForm);

   type af_IShellUIHelper_AutoScan is access
     function (This            : access IShellUIHelper;
               strSearch       : GNATCOM.Types.BSTR;
               strFailureUrl   : GNATCOM.Types.BSTR;
               pvarTargetFrame : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper_AutoScan);

   type af_IShellUIHelper_AutoCompleteAttach is access
     function (This     : access IShellUIHelper;
               Reserved : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper_AutoCompleteAttach);

   type af_IShellUIHelper_ShowBrowserUI is access
     function (This     : access IShellUIHelper;
               bstrName : GNATCOM.Types.BSTR;
               pvarIn   : access GNATCOM.Types.VARIANT;
               RetVal : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper_ShowBrowserUI);

   type IShellUIHelperVtbl;
   type Pointer_To_IShellUIHelperVtbl is access all IShellUIHelperVtbl;

   type IShellUIHelper is
      record
         Vtbl : Pointer_To_IShellUIHelperVtbl;
      end record;
   pragma Convention (C_Pass_By_Copy, IShellUIHelper);

   type IShellUIHelperVtbl is
      record
         QueryInterface        : af_IShellUIHelper_QueryInterface;
         AddRef                : af_IShellUIHelper_AddRef;
         Release               : af_IShellUIHelper_Release;
         GetTypeInfoCount      : af_IShellUIHelper_GetTypeInfoCount;
         GetTypeInfo           : af_IShellUIHelper_GetTypeInfo;
         GetIDsOfNames         : af_IShellUIHelper_GetIDsOfNames;
         Invoke                : af_IShellUIHelper_Invoke;
         ResetFirstBootMode    : af_IShellUIHelper_ResetFirstBootMode;
         ResetSafeMode         : af_IShellUIHelper_ResetSafeMode;
         RefreshOfflineDesktop : af_IShellUIHelper_RefreshOfflineDesktop;
         AddFavorite           : af_IShellUIHelper_AddFavorite;
         AddChannel            : af_IShellUIHelper_AddChannel;
         AddDesktopComponent   : af_IShellUIHelper_AddDesktopComponent;
         IsSubscribed          : af_IShellUIHelper_IsSubscribed;
         NavigateAndFind       : af_IShellUIHelper_NavigateAndFind;
         ImportExportFavorites : af_IShellUIHelper_ImportExportFavorites;
         AutoCompleteSaveForm  : af_IShellUIHelper_AutoCompleteSaveForm;
         AutoScan              : af_IShellUIHelper_AutoScan;
         AutoCompleteAttach    : af_IShellUIHelper_AutoCompleteAttach;
         ShowBrowserUI         : af_IShellUIHelper_ShowBrowserUI;
      end record;
   pragma Convention (C_Pass_By_Copy, IShellUIHelperVtbl);

   function To_Pointer_To_IShellUIHelper is
     new Ada.Unchecked_Conversion
     (GNATCOM.Types.Pointer_To_Void, Pointer_To_IShellUIHelper);

   --  Element Index         : 22
   --  Element Name          : IShellUIHelper
   --  Element Documentation : Shell UI Helper Control Interface
   --  Element Type          : Dispatch

   IShellUIHelper_ResetFirstBootMode    : constant := 1;
   IShellUIHelper_ResetSafeMode         : constant := 2;
   IShellUIHelper_RefreshOfflineDesktop : constant := 3;
   IShellUIHelper_AddFavorite           : constant := 4;
   IShellUIHelper_AddChannel            : constant := 5;
   IShellUIHelper_AddDesktopComponent   : constant := 6;
   IShellUIHelper_IsSubscribed          : constant := 7;
   IShellUIHelper_NavigateAndFind       : constant := 8;
   IShellUIHelper_ImportExportFavorites : constant := 9;
   IShellUIHelper_AutoCompleteSaveForm  : constant := 10;
   IShellUIHelper_AutoScan              : constant := 11;
   IShellUIHelper_AutoCompleteAttach    : constant := 12;
   IShellUIHelper_ShowBrowserUI         : constant := 13;

   --  Element Index         : 23
   --  Element Name          : IShellUIHelper2
   --  Element Documentation : Shell UI Helper Control Interface 2
   --  Element Type          : Dispatch

   IID_IShellUIHelper2 : aliased GNATCOM.Types.GUID :=
     GNATCOM.GUID.To_GUID ("{A7FE6EDA-1932-4281-B881-87B31B8BC52C}");

   type af_IShellUIHelper2_QueryInterface is access
     function (This   : access IShellUIHelper2;
               riid   : GNATCOM.Types.Pointer_To_GUID;
               ppvObj : GNATCOM.Types.Pointer_To_Pointer_To_Void)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_QueryInterface);

   type af_IShellUIHelper2_AddRef is access
     function (This : access IShellUIHelper2)
     return Interfaces.C.unsigned_long;
   pragma Convention (StdCall, af_IShellUIHelper2_AddRef);

   type af_IShellUIHelper2_Release is access
     function (This : access IShellUIHelper2)
     return Interfaces.C.unsigned_long;
   pragma Convention (StdCall, af_IShellUIHelper2_Release);

   type af_IShellUIHelper2_GetTypeInfoCount is access
     function (This    : access IShellUIHelper2;
               pctinfo : GNATCOM.Types.Pointer_To_unsigned)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_GetTypeInfoCount);

   type af_IShellUIHelper2_GetTypeInfo is access
     function (This    : access IShellUIHelper2;
               itinfo  : Interfaces.C.unsigned;
               lcid    : Interfaces.C.unsigned_long;
               pptinfo : GNATCOM.Types.Pointer_To_Pointer_To_Void)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_GetTypeInfo);

   type af_IShellUIHelper2_GetIDsOfNames is access
     function (This      : access IShellUIHelper2;
               riid      : GNATCOM.Types.Pointer_To_GUID;
               rgszNames : GNATCOM.Types.Pointer_To_Pointer_To_char;
               cNames    : Interfaces.C.unsigned;
               lcid      : Interfaces.C.unsigned_long;
               rgdispid  : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_GetIDsOfNames);

   type af_IShellUIHelper2_Invoke is access
     function (This         : access IShellUIHelper2;
               dispidMember : Interfaces.C.long;
               riid         : GNATCOM.Types.Pointer_To_GUID;
               lcid         : Interfaces.C.unsigned_long;
               wFlags       : Interfaces.C.unsigned_short;
               pdispparams  : GNATCOM.Types.Pointer_To_DISPPARAMS;
               pvarResult   : access GNATCOM.Types.VARIANT;
               pexcepinfo   : GNATCOM.Types.Pointer_To_EXCEPINFO;
               puArgErr     : GNATCOM.Types.Pointer_To_unsigned)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_Invoke);

   type af_IShellUIHelper2_ResetFirstBootMode is access
     function (This : access IShellUIHelper2)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_ResetFirstBootMode);

   type af_IShellUIHelper2_ResetSafeMode is access
     function (This : access IShellUIHelper2)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_ResetSafeMode);

   type af_IShellUIHelper2_RefreshOfflineDesktop is access
     function (This : access IShellUIHelper2)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_RefreshOfflineDesktop);

   type af_IShellUIHelper2_AddFavorite is access
     function (This  : access IShellUIHelper2;
               URL   : GNATCOM.Types.BSTR;
               Title : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_AddFavorite);

   type af_IShellUIHelper2_AddChannel is access
     function (This : access IShellUIHelper2;
               URL  : GNATCOM.Types.BSTR)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_AddChannel);

   type af_IShellUIHelper2_AddDesktopComponent is access
     function (This   : access IShellUIHelper2;
               URL    : GNATCOM.Types.BSTR;
               uType  : GNATCOM.Types.BSTR;
               Left   : access GNATCOM.Types.VARIANT;
               Top    : access GNATCOM.Types.VARIANT;
               Width  : access GNATCOM.Types.VARIANT;
               Height : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_AddDesktopComponent);

   type af_IShellUIHelper2_IsSubscribed is access
     function (This  : access IShellUIHelper2;
               URL   : GNATCOM.Types.BSTR;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_IsSubscribed);

   type af_IShellUIHelper2_NavigateAndFind is access
     function (This           : access IShellUIHelper2;
               URL            : GNATCOM.Types.BSTR;
               strQuery       : GNATCOM.Types.BSTR;
               varTargetFrame : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_NavigateAndFind);

   type af_IShellUIHelper2_ImportExportFavorites is access
     function (This          : access IShellUIHelper2;
               fImport       : GNATCOM.Types.VARIANT_BOOL;
               strImpExpPath : GNATCOM.Types.BSTR)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_ImportExportFavorites);

   type af_IShellUIHelper2_AutoCompleteSaveForm is access
     function (This : access IShellUIHelper2;
               Form : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_AutoCompleteSaveForm);

   type af_IShellUIHelper2_AutoScan is access
     function (This            : access IShellUIHelper2;
               strSearch       : GNATCOM.Types.BSTR;
               strFailureUrl   : GNATCOM.Types.BSTR;
               pvarTargetFrame : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_AutoScan);

   type af_IShellUIHelper2_AutoCompleteAttach is access
     function (This     : access IShellUIHelper2;
               Reserved : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_AutoCompleteAttach);

   type af_IShellUIHelper2_ShowBrowserUI is access
     function (This     : access IShellUIHelper2;
               bstrName : GNATCOM.Types.BSTR;
               pvarIn   : access GNATCOM.Types.VARIANT;
               RetVal : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_ShowBrowserUI);

   type af_IShellUIHelper2_AddSearchProvider is access
     function (This : access IShellUIHelper2;
               URL  : GNATCOM.Types.BSTR)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_AddSearchProvider);

   type af_IShellUIHelper2_RunOnceShown is access
     function (This : access IShellUIHelper2)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_RunOnceShown);

   type af_IShellUIHelper2_SkipRunOnce is access
     function (This : access IShellUIHelper2)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_SkipRunOnce);

   type af_IShellUIHelper2_CustomizeSettings is access
     function (This       : access IShellUIHelper2;
               fSQM       : GNATCOM.Types.VARIANT_BOOL;
               fPhishing  : GNATCOM.Types.VARIANT_BOOL;
               bstrLocale : GNATCOM.Types.BSTR)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_CustomizeSettings);

   type af_IShellUIHelper2_SqmEnabled is access
     function (This      : access IShellUIHelper2;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_SqmEnabled);

   type af_IShellUIHelper2_PhishingEnabled is access
     function (This      : access IShellUIHelper2;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_PhishingEnabled);

   type af_IShellUIHelper2_BrandImageUri is access
     function (This     : access IShellUIHelper2;
               RetVal : GNATCOM.Types.Pointer_To_BSTR)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_BrandImageUri);

   type af_IShellUIHelper2_SkipTabsWelcome is access
     function (This : access IShellUIHelper2)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_SkipTabsWelcome);

   type af_IShellUIHelper2_DiagnoseConnection is access
     function (This : access IShellUIHelper2)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_DiagnoseConnection);

   type af_IShellUIHelper2_CustomizeClearType is access
     function (This : access IShellUIHelper2;
               fSet : GNATCOM.Types.VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_CustomizeClearType);

   type af_IShellUIHelper2_IsSearchProviderInstalled is access
     function (This      : access IShellUIHelper2;
               URL       : GNATCOM.Types.BSTR;
               RetVal : GNATCOM.Types.Pointer_To_unsigned_long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_IsSearchProviderInstalled);

   type af_IShellUIHelper2_IsSearchMigrated is access
     function (This       : access IShellUIHelper2;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_IsSearchMigrated);

   type af_IShellUIHelper2_DefaultSearchProvider is access
     function (This      : access IShellUIHelper2;
               RetVal : GNATCOM.Types.Pointer_To_BSTR)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_DefaultSearchProvider);

   type af_IShellUIHelper2_RunOnceRequiredSettingsComplete is access
     function (This      : access IShellUIHelper2;
               fComplete : GNATCOM.Types.VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall,
     af_IShellUIHelper2_RunOnceRequiredSettingsComplete);

   type af_IShellUIHelper2_RunOnceHasShown is access
     function (This    : access IShellUIHelper2;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_RunOnceHasShown);

   type af_IShellUIHelper2_SearchGuideUrl is access
     function (This     : access IShellUIHelper2;
               RetVal : GNATCOM.Types.Pointer_To_BSTR)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper2_SearchGuideUrl);

   type IShellUIHelper2Vtbl;
   type Pointer_To_IShellUIHelper2Vtbl is access all IShellUIHelper2Vtbl;

   type IShellUIHelper2 is
      record
         Vtbl : Pointer_To_IShellUIHelper2Vtbl;
      end record;
   pragma Convention (C_Pass_By_Copy, IShellUIHelper2);

   type IShellUIHelper2Vtbl is
      record
         QueryInterface                  : af_IShellUIHelper2_QueryInterface;
         AddRef                          : af_IShellUIHelper2_AddRef;
         Release                         : af_IShellUIHelper2_Release;
         GetTypeInfoCount                : af_IShellUIHelper2_GetTypeInfoCount;
         GetTypeInfo                     : af_IShellUIHelper2_GetTypeInfo;
         GetIDsOfNames                   : af_IShellUIHelper2_GetIDsOfNames;
         Invoke                          : af_IShellUIHelper2_Invoke;
         ResetFirstBootMode              :
           af_IShellUIHelper2_ResetFirstBootMode;
         ResetSafeMode                   : af_IShellUIHelper2_ResetSafeMode;
         RefreshOfflineDesktop           :
           af_IShellUIHelper2_RefreshOfflineDesktop;
         AddFavorite                     : af_IShellUIHelper2_AddFavorite;
         AddChannel                      : af_IShellUIHelper2_AddChannel;
         AddDesktopComponent             :
           af_IShellUIHelper2_AddDesktopComponent;
         IsSubscribed                    : af_IShellUIHelper2_IsSubscribed;
         NavigateAndFind                 : af_IShellUIHelper2_NavigateAndFind;
         ImportExportFavorites           :
           af_IShellUIHelper2_ImportExportFavorites;
         AutoCompleteSaveForm            :
           af_IShellUIHelper2_AutoCompleteSaveForm;
         AutoScan                        :
           af_IShellUIHelper2_AutoScan;
         AutoCompleteAttach              :
           af_IShellUIHelper2_AutoCompleteAttach;
         ShowBrowserUI                   : af_IShellUIHelper2_ShowBrowserUI;
         AddSearchProvider               :
           af_IShellUIHelper2_AddSearchProvider;
         RunOnceShown                    : af_IShellUIHelper2_RunOnceShown;
         SkipRunOnce                     : af_IShellUIHelper2_SkipRunOnce;
         CustomizeSettings               :
           af_IShellUIHelper2_CustomizeSettings;
         SqmEnabled                      : af_IShellUIHelper2_SqmEnabled;
         PhishingEnabled                 : af_IShellUIHelper2_PhishingEnabled;
         BrandImageUri                   : af_IShellUIHelper2_BrandImageUri;
         SkipTabsWelcome                 : af_IShellUIHelper2_SkipTabsWelcome;
         DiagnoseConnection              :
           af_IShellUIHelper2_DiagnoseConnection;
         CustomizeClearType              :
           af_IShellUIHelper2_CustomizeClearType;
         IsSearchProviderInstalled       :
           af_IShellUIHelper2_IsSearchProviderInstalled;
         IsSearchMigrated                :
           af_IShellUIHelper2_IsSearchMigrated;
         DefaultSearchProvider           :
           af_IShellUIHelper2_DefaultSearchProvider;
         RunOnceRequiredSettingsComplete :
           af_IShellUIHelper2_RunOnceRequiredSettingsComplete;
         RunOnceHasShown                 : af_IShellUIHelper2_RunOnceHasShown;
         SearchGuideUrl                  : af_IShellUIHelper2_SearchGuideUrl;
      end record;
   pragma Convention (C_Pass_By_Copy, IShellUIHelper2Vtbl);

   function To_Pointer_To_IShellUIHelper2 is
     new Ada.Unchecked_Conversion
     (GNATCOM.Types.Pointer_To_Void, Pointer_To_IShellUIHelper2);

   --  Element Index         : 23
   --  Element Name          : IShellUIHelper2
   --  Element Documentation : Shell UI Helper Control Interface 2
   --  Element Type          : Dispatch

   IShellUIHelper2_ResetFirstBootMode              : constant := 1;
   IShellUIHelper2_ResetSafeMode                   : constant := 2;
   IShellUIHelper2_RefreshOfflineDesktop           : constant := 3;
   IShellUIHelper2_AddFavorite                     : constant := 4;
   IShellUIHelper2_AddChannel                      : constant := 5;
   IShellUIHelper2_AddDesktopComponent             : constant := 6;
   IShellUIHelper2_IsSubscribed                    : constant := 7;
   IShellUIHelper2_NavigateAndFind                 : constant := 8;
   IShellUIHelper2_ImportExportFavorites           : constant := 9;
   IShellUIHelper2_AutoCompleteSaveForm            : constant := 10;
   IShellUIHelper2_AutoScan                        : constant := 11;
   IShellUIHelper2_AutoCompleteAttach              : constant := 12;
   IShellUIHelper2_ShowBrowserUI                   : constant := 13;
   IShellUIHelper2_AddSearchProvider               : constant := 14;
   IShellUIHelper2_RunOnceShown                    : constant := 15;
   IShellUIHelper2_SkipRunOnce                     : constant := 16;
   IShellUIHelper2_CustomizeSettings               : constant := 17;
   IShellUIHelper2_SqmEnabled                      : constant := 18;
   IShellUIHelper2_PhishingEnabled                 : constant := 19;
   IShellUIHelper2_BrandImageUri                   : constant := 20;
   IShellUIHelper2_SkipTabsWelcome                 : constant := 21;
   IShellUIHelper2_DiagnoseConnection              : constant := 22;
   IShellUIHelper2_CustomizeClearType              : constant := 23;
   IShellUIHelper2_IsSearchProviderInstalled       : constant := 24;
   IShellUIHelper2_IsSearchMigrated                : constant := 25;
   IShellUIHelper2_DefaultSearchProvider           : constant := 26;
   IShellUIHelper2_RunOnceRequiredSettingsComplete : constant := 27;
   IShellUIHelper2_RunOnceHasShown                 : constant := 28;
   IShellUIHelper2_SearchGuideUrl                  : constant := 29;

   --  Element Index         : 24
   --  Element Name          : IShellUIHelper3
   --  Element Documentation : Shell UI Helper Control Interface 3
   --  Element Type          : Dispatch

   IID_IShellUIHelper3 : aliased GNATCOM.Types.GUID :=
     GNATCOM.GUID.To_GUID ("{528DF2EC-D419-40BC-9B6D-DCDBF9C1B25D}");

   type af_IShellUIHelper3_QueryInterface is access
     function (This   : access IShellUIHelper3;
               riid   : GNATCOM.Types.Pointer_To_GUID;
               ppvObj : GNATCOM.Types.Pointer_To_Pointer_To_Void)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_QueryInterface);

   type af_IShellUIHelper3_AddRef is access
     function (This : access IShellUIHelper3)
     return Interfaces.C.unsigned_long;
   pragma Convention (StdCall, af_IShellUIHelper3_AddRef);

   type af_IShellUIHelper3_Release is access
     function (This : access IShellUIHelper3)
     return Interfaces.C.unsigned_long;
   pragma Convention (StdCall, af_IShellUIHelper3_Release);

   type af_IShellUIHelper3_GetTypeInfoCount is access
     function (This    : access IShellUIHelper3;
               pctinfo : GNATCOM.Types.Pointer_To_unsigned)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_GetTypeInfoCount);

   type af_IShellUIHelper3_GetTypeInfo is access
     function (This    : access IShellUIHelper3;
               itinfo  : Interfaces.C.unsigned;
               lcid    : Interfaces.C.unsigned_long;
               pptinfo : GNATCOM.Types.Pointer_To_Pointer_To_Void)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_GetTypeInfo);

   type af_IShellUIHelper3_GetIDsOfNames is access
     function (This      : access IShellUIHelper3;
               riid      : GNATCOM.Types.Pointer_To_GUID;
               rgszNames : GNATCOM.Types.Pointer_To_Pointer_To_char;
               cNames    : Interfaces.C.unsigned;
               lcid      : Interfaces.C.unsigned_long;
               rgdispid  : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_GetIDsOfNames);

   type af_IShellUIHelper3_Invoke is access
     function (This         : access IShellUIHelper3;
               dispidMember : Interfaces.C.long;
               riid         : GNATCOM.Types.Pointer_To_GUID;
               lcid         : Interfaces.C.unsigned_long;
               wFlags       : Interfaces.C.unsigned_short;
               pdispparams  : GNATCOM.Types.Pointer_To_DISPPARAMS;
               pvarResult   : access GNATCOM.Types.VARIANT;
               pexcepinfo   : GNATCOM.Types.Pointer_To_EXCEPINFO;
               puArgErr     : GNATCOM.Types.Pointer_To_unsigned)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_Invoke);

   type af_IShellUIHelper3_ResetFirstBootMode is access
     function (This : access IShellUIHelper3)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_ResetFirstBootMode);

   type af_IShellUIHelper3_ResetSafeMode is access
     function (This : access IShellUIHelper3)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_ResetSafeMode);

   type af_IShellUIHelper3_RefreshOfflineDesktop is access
     function (This : access IShellUIHelper3)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_RefreshOfflineDesktop);

   type af_IShellUIHelper3_AddFavorite is access
     function (This  : access IShellUIHelper3;
               URL   : GNATCOM.Types.BSTR;
               Title : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_AddFavorite);

   type af_IShellUIHelper3_AddChannel is access
     function (This : access IShellUIHelper3;
               URL  : GNATCOM.Types.BSTR)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_AddChannel);

   type af_IShellUIHelper3_AddDesktopComponent is access
     function (This   : access IShellUIHelper3;
               URL    : GNATCOM.Types.BSTR;
               uType  : GNATCOM.Types.BSTR;
               Left   : access GNATCOM.Types.VARIANT;
               Top    : access GNATCOM.Types.VARIANT;
               Width  : access GNATCOM.Types.VARIANT;
               Height : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_AddDesktopComponent);

   type af_IShellUIHelper3_IsSubscribed is access
     function (This  : access IShellUIHelper3;
               URL   : GNATCOM.Types.BSTR;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_IsSubscribed);

   type af_IShellUIHelper3_NavigateAndFind is access
     function (This           : access IShellUIHelper3;
               URL            : GNATCOM.Types.BSTR;
               strQuery       : GNATCOM.Types.BSTR;
               varTargetFrame : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_NavigateAndFind);

   type af_IShellUIHelper3_ImportExportFavorites is access
     function (This          : access IShellUIHelper3;
               fImport       : GNATCOM.Types.VARIANT_BOOL;
               strImpExpPath : GNATCOM.Types.BSTR)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_ImportExportFavorites);

   type af_IShellUIHelper3_AutoCompleteSaveForm is access
     function (This : access IShellUIHelper3;
               Form : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_AutoCompleteSaveForm);

   type af_IShellUIHelper3_AutoScan is access
     function (This            : access IShellUIHelper3;
               strSearch       : GNATCOM.Types.BSTR;
               strFailureUrl   : GNATCOM.Types.BSTR;
               pvarTargetFrame : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_AutoScan);

   type af_IShellUIHelper3_AutoCompleteAttach is access
     function (This     : access IShellUIHelper3;
               Reserved : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_AutoCompleteAttach);

   type af_IShellUIHelper3_ShowBrowserUI is access
     function (This     : access IShellUIHelper3;
               bstrName : GNATCOM.Types.BSTR;
               pvarIn   : access GNATCOM.Types.VARIANT;
               RetVal : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_ShowBrowserUI);

   type af_IShellUIHelper3_AddSearchProvider is access
     function (This : access IShellUIHelper3;
               URL  : GNATCOM.Types.BSTR)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_AddSearchProvider);

   type af_IShellUIHelper3_RunOnceShown is access
     function (This : access IShellUIHelper3)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_RunOnceShown);

   type af_IShellUIHelper3_SkipRunOnce is access
     function (This : access IShellUIHelper3)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_SkipRunOnce);

   type af_IShellUIHelper3_CustomizeSettings is access
     function (This       : access IShellUIHelper3;
               fSQM       : GNATCOM.Types.VARIANT_BOOL;
               fPhishing  : GNATCOM.Types.VARIANT_BOOL;
               bstrLocale : GNATCOM.Types.BSTR)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_CustomizeSettings);

   type af_IShellUIHelper3_SqmEnabled is access
     function (This      : access IShellUIHelper3;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_SqmEnabled);

   type af_IShellUIHelper3_PhishingEnabled is access
     function (This      : access IShellUIHelper3;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_PhishingEnabled);

   type af_IShellUIHelper3_BrandImageUri is access
     function (This     : access IShellUIHelper3;
               RetVal : GNATCOM.Types.Pointer_To_BSTR)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_BrandImageUri);

   type af_IShellUIHelper3_SkipTabsWelcome is access
     function (This : access IShellUIHelper3)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_SkipTabsWelcome);

   type af_IShellUIHelper3_DiagnoseConnection is access
     function (This : access IShellUIHelper3)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_DiagnoseConnection);

   type af_IShellUIHelper3_CustomizeClearType is access
     function (This : access IShellUIHelper3;
               fSet : GNATCOM.Types.VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_CustomizeClearType);

   type af_IShellUIHelper3_IsSearchProviderInstalled is access
     function (This      : access IShellUIHelper3;
               URL       : GNATCOM.Types.BSTR;
               RetVal : GNATCOM.Types.Pointer_To_unsigned_long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_IsSearchProviderInstalled);

   type af_IShellUIHelper3_IsSearchMigrated is access
     function (This       : access IShellUIHelper3;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_IsSearchMigrated);

   type af_IShellUIHelper3_DefaultSearchProvider is access
     function (This      : access IShellUIHelper3;
               RetVal : GNATCOM.Types.Pointer_To_BSTR)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_DefaultSearchProvider);

   type af_IShellUIHelper3_RunOnceRequiredSettingsComplete is access
     function (This      : access IShellUIHelper3;
               fComplete : GNATCOM.Types.VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall,
     af_IShellUIHelper3_RunOnceRequiredSettingsComplete);

   type af_IShellUIHelper3_RunOnceHasShown is access
     function (This    : access IShellUIHelper3;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_RunOnceHasShown);

   type af_IShellUIHelper3_SearchGuideUrl is access
     function (This     : access IShellUIHelper3;
               RetVal : GNATCOM.Types.Pointer_To_BSTR)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_SearchGuideUrl);

   type af_IShellUIHelper3_AddService is access
     function (This : access IShellUIHelper3;
               URL  : GNATCOM.Types.BSTR)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_AddService);

   type af_IShellUIHelper3_IsServiceInstalled is access
     function (This      : access IShellUIHelper3;
               URL       : GNATCOM.Types.BSTR;
               Verb      : GNATCOM.Types.BSTR;
               RetVal : GNATCOM.Types.Pointer_To_unsigned_long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_IsServiceInstalled);

   type af_IShellUIHelper3_InPrivateFilteringEnabled is access
     function (This      : access IShellUIHelper3;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_InPrivateFilteringEnabled);

   type af_IShellUIHelper3_AddToFavoritesBar is access
     function (This  : access IShellUIHelper3;
               URL   : GNATCOM.Types.BSTR;
               Title : GNATCOM.Types.BSTR;
               uType : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_AddToFavoritesBar);

   type af_IShellUIHelper3_BuildNewTabPage is access
     function (This : access IShellUIHelper3)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_BuildNewTabPage);

   type af_IShellUIHelper3_SetRecentlyClosedVisible is access
     function (This     : access IShellUIHelper3;
               fVisible : GNATCOM.Types.VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_SetRecentlyClosedVisible);

   type af_IShellUIHelper3_SetActivitiesVisible is access
     function (This     : access IShellUIHelper3;
               fVisible : GNATCOM.Types.VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_SetActivitiesVisible);

   type af_IShellUIHelper3_ContentDiscoveryReset is access
     function (This : access IShellUIHelper3)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_ContentDiscoveryReset);

   type af_IShellUIHelper3_IsSuggestedSitesEnabled is access
     function (This      : access IShellUIHelper3;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_IsSuggestedSitesEnabled);

   type af_IShellUIHelper3_EnableSuggestedSites is access
     function (This    : access IShellUIHelper3;
               fEnable : GNATCOM.Types.VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_EnableSuggestedSites);

   type af_IShellUIHelper3_NavigateToSuggestedSites is access
     function (This            : access IShellUIHelper3;
               bstrRelativeUrl : GNATCOM.Types.BSTR)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_NavigateToSuggestedSites);

   type af_IShellUIHelper3_ShowTabsHelp is access
     function (This : access IShellUIHelper3)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_ShowTabsHelp);

   type af_IShellUIHelper3_ShowInPrivateHelp is access
     function (This : access IShellUIHelper3)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellUIHelper3_ShowInPrivateHelp);

   type IShellUIHelper3Vtbl;
   type Pointer_To_IShellUIHelper3Vtbl is access all IShellUIHelper3Vtbl;

   type IShellUIHelper3 is
      record
         Vtbl : Pointer_To_IShellUIHelper3Vtbl;
      end record;
   pragma Convention (C_Pass_By_Copy, IShellUIHelper3);

   type IShellUIHelper3Vtbl is
      record
         QueryInterface                  : af_IShellUIHelper3_QueryInterface;
         AddRef                          : af_IShellUIHelper3_AddRef;
         Release                         : af_IShellUIHelper3_Release;
         GetTypeInfoCount                : af_IShellUIHelper3_GetTypeInfoCount;
         GetTypeInfo                     : af_IShellUIHelper3_GetTypeInfo;
         GetIDsOfNames                   : af_IShellUIHelper3_GetIDsOfNames;
         Invoke                          : af_IShellUIHelper3_Invoke;
         ResetFirstBootMode              :
           af_IShellUIHelper3_ResetFirstBootMode;
         ResetSafeMode                   : af_IShellUIHelper3_ResetSafeMode;
         RefreshOfflineDesktop           :
           af_IShellUIHelper3_RefreshOfflineDesktop;
         AddFavorite                     : af_IShellUIHelper3_AddFavorite;
         AddChannel                      : af_IShellUIHelper3_AddChannel;
         AddDesktopComponent             :
           af_IShellUIHelper3_AddDesktopComponent;
         IsSubscribed                    : af_IShellUIHelper3_IsSubscribed;
         NavigateAndFind                 : af_IShellUIHelper3_NavigateAndFind;
         ImportExportFavorites           :
           af_IShellUIHelper3_ImportExportFavorites;
         AutoCompleteSaveForm            :
           af_IShellUIHelper3_AutoCompleteSaveForm;
         AutoScan                        : af_IShellUIHelper3_AutoScan;
         AutoCompleteAttach              :
           af_IShellUIHelper3_AutoCompleteAttach;
         ShowBrowserUI                   : af_IShellUIHelper3_ShowBrowserUI;
         AddSearchProvider               :
           af_IShellUIHelper3_AddSearchProvider;
         RunOnceShown                    : af_IShellUIHelper3_RunOnceShown;
         SkipRunOnce                     : af_IShellUIHelper3_SkipRunOnce;
         CustomizeSettings               :
           af_IShellUIHelper3_CustomizeSettings;
         SqmEnabled                      : af_IShellUIHelper3_SqmEnabled;
         PhishingEnabled                 : af_IShellUIHelper3_PhishingEnabled;
         BrandImageUri                   : af_IShellUIHelper3_BrandImageUri;
         SkipTabsWelcome                 : af_IShellUIHelper3_SkipTabsWelcome;
         DiagnoseConnection              :
           af_IShellUIHelper3_DiagnoseConnection;
         CustomizeClearType              :
           af_IShellUIHelper3_CustomizeClearType;
         IsSearchProviderInstalled       :
           af_IShellUIHelper3_IsSearchProviderInstalled;
         IsSearchMigrated                : af_IShellUIHelper3_IsSearchMigrated;
         DefaultSearchProvider           :
           af_IShellUIHelper3_DefaultSearchProvider;
         RunOnceRequiredSettingsComplete :
           af_IShellUIHelper3_RunOnceRequiredSettingsComplete;
         RunOnceHasShown                 : af_IShellUIHelper3_RunOnceHasShown;
         SearchGuideUrl                  : af_IShellUIHelper3_SearchGuideUrl;
         AddService                      : af_IShellUIHelper3_AddService;
         IsServiceInstalled              :
           af_IShellUIHelper3_IsServiceInstalled;
         InPrivateFilteringEnabled       :
           af_IShellUIHelper3_InPrivateFilteringEnabled;
         AddToFavoritesBar               :
           af_IShellUIHelper3_AddToFavoritesBar;
         BuildNewTabPage                 : af_IShellUIHelper3_BuildNewTabPage;
         SetRecentlyClosedVisible        :
           af_IShellUIHelper3_SetRecentlyClosedVisible;
         SetActivitiesVisible            :
           af_IShellUIHelper3_SetActivitiesVisible;
         ContentDiscoveryReset           :
           af_IShellUIHelper3_ContentDiscoveryReset;
         IsSuggestedSitesEnabled         :
           af_IShellUIHelper3_IsSuggestedSitesEnabled;
         EnableSuggestedSites            :
           af_IShellUIHelper3_EnableSuggestedSites;
         NavigateToSuggestedSites        :
           af_IShellUIHelper3_NavigateToSuggestedSites;
         ShowTabsHelp                    : af_IShellUIHelper3_ShowTabsHelp;
         ShowInPrivateHelp               :
           af_IShellUIHelper3_ShowInPrivateHelp;
      end record;
   pragma Convention (C_Pass_By_Copy, IShellUIHelper3Vtbl);

   function To_Pointer_To_IShellUIHelper3 is
     new Ada.Unchecked_Conversion
     (GNATCOM.Types.Pointer_To_Void, Pointer_To_IShellUIHelper3);

   --  Element Index         : 24
   --  Element Name          : IShellUIHelper3
   --  Element Documentation : Shell UI Helper Control Interface 3
   --  Element Type          : Dispatch

   IShellUIHelper3_ResetFirstBootMode              : constant := 1;
   IShellUIHelper3_ResetSafeMode                   : constant := 2;
   IShellUIHelper3_RefreshOfflineDesktop           : constant := 3;
   IShellUIHelper3_AddFavorite                     : constant := 4;
   IShellUIHelper3_AddChannel                      : constant := 5;
   IShellUIHelper3_AddDesktopComponent             : constant := 6;
   IShellUIHelper3_IsSubscribed                    : constant := 7;
   IShellUIHelper3_NavigateAndFind                 : constant := 8;
   IShellUIHelper3_ImportExportFavorites           : constant := 9;
   IShellUIHelper3_AutoCompleteSaveForm            : constant := 10;
   IShellUIHelper3_AutoScan                        : constant := 11;
   IShellUIHelper3_AutoCompleteAttach              : constant := 12;
   IShellUIHelper3_ShowBrowserUI                   : constant := 13;
   IShellUIHelper3_AddSearchProvider               : constant := 14;
   IShellUIHelper3_RunOnceShown                    : constant := 15;
   IShellUIHelper3_SkipRunOnce                     : constant := 16;
   IShellUIHelper3_CustomizeSettings               : constant := 17;
   IShellUIHelper3_SqmEnabled                      : constant := 18;
   IShellUIHelper3_PhishingEnabled                 : constant := 19;
   IShellUIHelper3_BrandImageUri                   : constant := 20;
   IShellUIHelper3_SkipTabsWelcome                 : constant := 21;
   IShellUIHelper3_DiagnoseConnection              : constant := 22;
   IShellUIHelper3_CustomizeClearType              : constant := 23;
   IShellUIHelper3_IsSearchProviderInstalled       : constant := 24;
   IShellUIHelper3_IsSearchMigrated                : constant := 25;
   IShellUIHelper3_DefaultSearchProvider           : constant := 26;
   IShellUIHelper3_RunOnceRequiredSettingsComplete : constant := 27;
   IShellUIHelper3_RunOnceHasShown                 : constant := 28;
   IShellUIHelper3_SearchGuideUrl                  : constant := 29;
   IShellUIHelper3_AddService                      : constant := 30;
   IShellUIHelper3_IsServiceInstalled              : constant := 31;
   IShellUIHelper3_InPrivateFilteringEnabled       : constant := 37;
   IShellUIHelper3_AddToFavoritesBar               : constant := 32;
   IShellUIHelper3_BuildNewTabPage                 : constant := 33;
   IShellUIHelper3_SetRecentlyClosedVisible        : constant := 34;
   IShellUIHelper3_SetActivitiesVisible            : constant := 35;
   IShellUIHelper3_ContentDiscoveryReset           : constant := 36;
   IShellUIHelper3_IsSuggestedSitesEnabled         : constant := 38;
   IShellUIHelper3_EnableSuggestedSites            : constant := 39;
   IShellUIHelper3_NavigateToSuggestedSites        : constant := 40;
   IShellUIHelper3_ShowTabsHelp                    : constant := 41;
   IShellUIHelper3_ShowInPrivateHelp               : constant := 42;

   --  Element Index         : 25
   --  Element Name          : ShellUIHelper
   --  Element Type          : CoClass

   CLSID_ShellUIHelper : aliased GNATCOM.Types.GUID :=
     GNATCOM.GUID.To_GUID ("{64AB4BB7-111E-11D1-8F79-00C04FC2FBE1}");

   --  Element Index         : 26
   --  Element Name          : DShellNameSpaceEvents
   --  Element Type          : Dispatch

   IID_DShellNameSpaceEvents : aliased GNATCOM.Types.GUID :=
     GNATCOM.GUID.To_GUID ("{55136806-B2DE-11D1-B9F2-00A0C98BC547}");

   DShellNameSpaceEvents_FavoritesSelectionChange : constant := 1;
   DShellNameSpaceEvents_SelectionChange          : constant := 2;
   DShellNameSpaceEvents_DoubleClick              : constant := 3;
   DShellNameSpaceEvents_Initialized              : constant := 4;

   --  Element Index         : 27
   --  Element Name          : IShellFavoritesNameSpace
   --  Element Documentation : IShellFavoritesNameSpace Interface
   --  Element Type          : Dispatch

   IID_IShellFavoritesNameSpace : aliased GNATCOM.Types.GUID :=
     GNATCOM.GUID.To_GUID ("{55136804-B2DE-11D1-B9F2-00A0C98BC547}");

   type af_IShellFavoritesNameSpace_QueryInterface is access
     function (This   : access IShellFavoritesNameSpace;
               riid   : GNATCOM.Types.Pointer_To_GUID;
               ppvObj : GNATCOM.Types.Pointer_To_Pointer_To_Void)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellFavoritesNameSpace_QueryInterface);

   type af_IShellFavoritesNameSpace_AddRef is access
     function (This : access IShellFavoritesNameSpace)
     return Interfaces.C.unsigned_long;
   pragma Convention (StdCall, af_IShellFavoritesNameSpace_AddRef);

   type af_IShellFavoritesNameSpace_Release is access
     function (This : access IShellFavoritesNameSpace)
     return Interfaces.C.unsigned_long;
   pragma Convention (StdCall, af_IShellFavoritesNameSpace_Release);

   type af_IShellFavoritesNameSpace_GetTypeInfoCount is access
     function (This    : access IShellFavoritesNameSpace;
               pctinfo : GNATCOM.Types.Pointer_To_unsigned)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellFavoritesNameSpace_GetTypeInfoCount);

   type af_IShellFavoritesNameSpace_GetTypeInfo is access
     function (This    : access IShellFavoritesNameSpace;
               itinfo  : Interfaces.C.unsigned;
               lcid    : Interfaces.C.unsigned_long;
               pptinfo : GNATCOM.Types.Pointer_To_Pointer_To_Void)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellFavoritesNameSpace_GetTypeInfo);

   type af_IShellFavoritesNameSpace_GetIDsOfNames is access
     function (This      : access IShellFavoritesNameSpace;
               riid      : GNATCOM.Types.Pointer_To_GUID;
               rgszNames : GNATCOM.Types.Pointer_To_Pointer_To_char;
               cNames    : Interfaces.C.unsigned;
               lcid      : Interfaces.C.unsigned_long;
               rgdispid  : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellFavoritesNameSpace_GetIDsOfNames);

   type af_IShellFavoritesNameSpace_Invoke is access
     function (This         : access IShellFavoritesNameSpace;
               dispidMember : Interfaces.C.long;
               riid         : GNATCOM.Types.Pointer_To_GUID;
               lcid         : Interfaces.C.unsigned_long;
               wFlags       : Interfaces.C.unsigned_short;
               pdispparams  : GNATCOM.Types.Pointer_To_DISPPARAMS;
               pvarResult   : access GNATCOM.Types.VARIANT;
               pexcepinfo   : GNATCOM.Types.Pointer_To_EXCEPINFO;
               puArgErr     : GNATCOM.Types.Pointer_To_unsigned)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellFavoritesNameSpace_Invoke);

   type af_IShellFavoritesNameSpace_MoveSelectionUp is access
     function (This : access IShellFavoritesNameSpace)
     return GNATCOM.Types.HRESULT;
   --  method MoveSelectionUp
   pragma Convention (StdCall, af_IShellFavoritesNameSpace_MoveSelectionUp);

   type af_IShellFavoritesNameSpace_MoveSelectionDown is access
     function (This : access IShellFavoritesNameSpace)
     return GNATCOM.Types.HRESULT;
   --  method MoveSelectionDown
   pragma Convention (StdCall, af_IShellFavoritesNameSpace_MoveSelectionDown);

   type af_IShellFavoritesNameSpace_ResetSort is access
     function (This : access IShellFavoritesNameSpace)
     return GNATCOM.Types.HRESULT;
   --  method ResetSort
   pragma Convention (StdCall, af_IShellFavoritesNameSpace_ResetSort);

   type af_IShellFavoritesNameSpace_NewFolder is access
     function (This : access IShellFavoritesNameSpace)
     return GNATCOM.Types.HRESULT;
   --  method NewFolder
   pragma Convention (StdCall, af_IShellFavoritesNameSpace_NewFolder);

   type af_IShellFavoritesNameSpace_Synchronize is access
     function (This : access IShellFavoritesNameSpace)
     return GNATCOM.Types.HRESULT;
   --  method Synchronize
   pragma Convention (StdCall, af_IShellFavoritesNameSpace_Synchronize);

   type af_IShellFavoritesNameSpace_Import is access
     function (This : access IShellFavoritesNameSpace)
     return GNATCOM.Types.HRESULT;
   --  method Import
   pragma Convention (StdCall, af_IShellFavoritesNameSpace_Import);

   type af_IShellFavoritesNameSpace_Export is access
     function (This : access IShellFavoritesNameSpace)
     return GNATCOM.Types.HRESULT;
   --  method Export
   pragma Convention (StdCall, af_IShellFavoritesNameSpace_Export);

   type af_IShellFavoritesNameSpace_InvokeContextMenuCommand is access
     function (This       : access IShellFavoritesNameSpace;
               strCommand : GNATCOM.Types.BSTR)
     return GNATCOM.Types.HRESULT;
   --  method InvokeContextMenuCommand
   pragma Convention (StdCall,
     af_IShellFavoritesNameSpace_InvokeContextMenuCommand);

   type af_IShellFavoritesNameSpace_MoveSelectionTo is access
     function (This : access IShellFavoritesNameSpace)
     return GNATCOM.Types.HRESULT;
   --  method MoveSelectionTo
   pragma Convention (StdCall, af_IShellFavoritesNameSpace_MoveSelectionTo);

   type af_IShellFavoritesNameSpace_Get_SubscriptionsEnabled is access
     function (This  : access IShellFavoritesNameSpace;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Query to see if subscriptions are enabled
   pragma Convention (StdCall,
     af_IShellFavoritesNameSpace_Get_SubscriptionsEnabled);

   type af_IShellFavoritesNameSpace_CreateSubscriptionForSelection is access
     function (This  : access IShellFavoritesNameSpace;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  method CreateSubscriptionForSelection
   pragma Convention (StdCall,
     af_IShellFavoritesNameSpace_CreateSubscriptionForSelection);

   type af_IShellFavoritesNameSpace_DeleteSubscriptionForSelection is access
     function (This  : access IShellFavoritesNameSpace;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  method DeleteSubscriptionForSelection
   pragma Convention (StdCall,
     af_IShellFavoritesNameSpace_DeleteSubscriptionForSelection);

   type af_IShellFavoritesNameSpace_SetRoot is access
     function (This         : access IShellFavoritesNameSpace;
               bstrFullPath : GNATCOM.Types.BSTR)
     return GNATCOM.Types.HRESULT;
   --  old, use put_Root() instead
   pragma Convention (StdCall, af_IShellFavoritesNameSpace_SetRoot);

   type IShellFavoritesNameSpaceVtbl;
   type Pointer_To_IShellFavoritesNameSpaceVtbl is
     access all IShellFavoritesNameSpaceVtbl;

   type IShellFavoritesNameSpace is
      record
         Vtbl : Pointer_To_IShellFavoritesNameSpaceVtbl;
      end record;
   pragma Convention (C_Pass_By_Copy, IShellFavoritesNameSpace);

   type IShellFavoritesNameSpaceVtbl is
      record
         QueryInterface                 :
           af_IShellFavoritesNameSpace_QueryInterface;
         AddRef                         : af_IShellFavoritesNameSpace_AddRef;
         Release                        : af_IShellFavoritesNameSpace_Release;
         GetTypeInfoCount               :
           af_IShellFavoritesNameSpace_GetTypeInfoCount;
         GetTypeInfo                    :
           af_IShellFavoritesNameSpace_GetTypeInfo;
         GetIDsOfNames                  :
           af_IShellFavoritesNameSpace_GetIDsOfNames;
         Invoke                         : af_IShellFavoritesNameSpace_Invoke;
         MoveSelectionUp                :
           af_IShellFavoritesNameSpace_MoveSelectionUp;
         MoveSelectionDown              :
           af_IShellFavoritesNameSpace_MoveSelectionDown;
         ResetSort                      :
           af_IShellFavoritesNameSpace_ResetSort;
         NewFolder                      :
           af_IShellFavoritesNameSpace_NewFolder;
         Synchronize                    :
           af_IShellFavoritesNameSpace_Synchronize;
         Import                         : af_IShellFavoritesNameSpace_Import;
         Export                         : af_IShellFavoritesNameSpace_Export;
         InvokeContextMenuCommand       :
           af_IShellFavoritesNameSpace_InvokeContextMenuCommand;
         MoveSelectionTo                :
           af_IShellFavoritesNameSpace_MoveSelectionTo;
         Get_SubscriptionsEnabled       :
           af_IShellFavoritesNameSpace_Get_SubscriptionsEnabled;
         CreateSubscriptionForSelection :
           af_IShellFavoritesNameSpace_CreateSubscriptionForSelection;
         DeleteSubscriptionForSelection :
           af_IShellFavoritesNameSpace_DeleteSubscriptionForSelection;
         SetRoot                        : af_IShellFavoritesNameSpace_SetRoot;
      end record;
   pragma Convention (C_Pass_By_Copy, IShellFavoritesNameSpaceVtbl);

   function To_Pointer_To_IShellFavoritesNameSpace is
     new Ada.Unchecked_Conversion
     (GNATCOM.Types.Pointer_To_Void, Pointer_To_IShellFavoritesNameSpace);

   --  Element Index         : 27
   --  Element Name          : IShellFavoritesNameSpace
   --  Element Documentation : IShellFavoritesNameSpace Interface
   --  Element Type          : Dispatch

   IShellFavoritesNameSpace_MoveSelectionUp                : constant := 1;
   IShellFavoritesNameSpace_MoveSelectionDown              : constant := 2;
   IShellFavoritesNameSpace_ResetSort                      : constant := 3;
   IShellFavoritesNameSpace_NewFolder                      : constant := 4;
   IShellFavoritesNameSpace_Synchronize                    : constant := 5;
   IShellFavoritesNameSpace_Import                         : constant := 6;
   IShellFavoritesNameSpace_Export                         : constant := 7;
   IShellFavoritesNameSpace_InvokeContextMenuCommand       : constant := 8;
   IShellFavoritesNameSpace_MoveSelectionTo                : constant := 9;
   IShellFavoritesNameSpace_Get_SubscriptionsEnabled       : constant := 10;
   IShellFavoritesNameSpace_CreateSubscriptionForSelection : constant := 11;
   IShellFavoritesNameSpace_DeleteSubscriptionForSelection : constant := 12;
   IShellFavoritesNameSpace_SetRoot                        : constant := 13;

   --  Element Index         : 28
   --  Element Name          : IShellNameSpace
   --  Element Documentation : IShellNameSpace Interface
   --  Element Type          : Dispatch

   IID_IShellNameSpace : aliased GNATCOM.Types.GUID :=
     GNATCOM.GUID.To_GUID ("{E572D3C9-37BE-4AE2-825D-D521763E3108}");

   type af_IShellNameSpace_QueryInterface is access
     function (This   : access IShellNameSpace;
               riid   : GNATCOM.Types.Pointer_To_GUID;
               ppvObj : GNATCOM.Types.Pointer_To_Pointer_To_Void)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellNameSpace_QueryInterface);

   type af_IShellNameSpace_AddRef is access
     function (This : access IShellNameSpace)
     return Interfaces.C.unsigned_long;
   pragma Convention (StdCall, af_IShellNameSpace_AddRef);

   type af_IShellNameSpace_Release is access
     function (This : access IShellNameSpace)
     return Interfaces.C.unsigned_long;
   pragma Convention (StdCall, af_IShellNameSpace_Release);

   type af_IShellNameSpace_GetTypeInfoCount is access
     function (This    : access IShellNameSpace;
               pctinfo : GNATCOM.Types.Pointer_To_unsigned)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellNameSpace_GetTypeInfoCount);

   type af_IShellNameSpace_GetTypeInfo is access
     function (This    : access IShellNameSpace;
               itinfo  : Interfaces.C.unsigned;
               lcid    : Interfaces.C.unsigned_long;
               pptinfo : GNATCOM.Types.Pointer_To_Pointer_To_Void)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellNameSpace_GetTypeInfo);

   type af_IShellNameSpace_GetIDsOfNames is access
     function (This      : access IShellNameSpace;
               riid      : GNATCOM.Types.Pointer_To_GUID;
               rgszNames : GNATCOM.Types.Pointer_To_Pointer_To_char;
               cNames    : Interfaces.C.unsigned;
               lcid      : Interfaces.C.unsigned_long;
               rgdispid  : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellNameSpace_GetIDsOfNames);

   type af_IShellNameSpace_Invoke is access
     function (This         : access IShellNameSpace;
               dispidMember : Interfaces.C.long;
               riid         : GNATCOM.Types.Pointer_To_GUID;
               lcid         : Interfaces.C.unsigned_long;
               wFlags       : Interfaces.C.unsigned_short;
               pdispparams  : GNATCOM.Types.Pointer_To_DISPPARAMS;
               pvarResult   : access GNATCOM.Types.VARIANT;
               pexcepinfo   : GNATCOM.Types.Pointer_To_EXCEPINFO;
               puArgErr     : GNATCOM.Types.Pointer_To_unsigned)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellNameSpace_Invoke);

   type af_IShellNameSpace_MoveSelectionUp is access
     function (This : access IShellNameSpace)
     return GNATCOM.Types.HRESULT;
   --  method MoveSelectionUp
   pragma Convention (StdCall, af_IShellNameSpace_MoveSelectionUp);

   type af_IShellNameSpace_MoveSelectionDown is access
     function (This : access IShellNameSpace)
     return GNATCOM.Types.HRESULT;
   --  method MoveSelectionDown
   pragma Convention (StdCall, af_IShellNameSpace_MoveSelectionDown);

   type af_IShellNameSpace_ResetSort is access
     function (This : access IShellNameSpace)
     return GNATCOM.Types.HRESULT;
   --  method ResetSort
   pragma Convention (StdCall, af_IShellNameSpace_ResetSort);

   type af_IShellNameSpace_NewFolder is access
     function (This : access IShellNameSpace)
     return GNATCOM.Types.HRESULT;
   --  method NewFolder
   pragma Convention (StdCall, af_IShellNameSpace_NewFolder);

   type af_IShellNameSpace_Synchronize is access
     function (This : access IShellNameSpace)
     return GNATCOM.Types.HRESULT;
   --  method Synchronize
   pragma Convention (StdCall, af_IShellNameSpace_Synchronize);

   type af_IShellNameSpace_Import is access
     function (This : access IShellNameSpace)
     return GNATCOM.Types.HRESULT;
   --  method Import
   pragma Convention (StdCall, af_IShellNameSpace_Import);

   type af_IShellNameSpace_Export is access
     function (This : access IShellNameSpace)
     return GNATCOM.Types.HRESULT;
   --  method Export
   pragma Convention (StdCall, af_IShellNameSpace_Export);

   type af_IShellNameSpace_InvokeContextMenuCommand is access
     function (This       : access IShellNameSpace;
               strCommand : GNATCOM.Types.BSTR)
     return GNATCOM.Types.HRESULT;
   --  method InvokeContextMenuCommand
   pragma Convention (StdCall, af_IShellNameSpace_InvokeContextMenuCommand);

   type af_IShellNameSpace_MoveSelectionTo is access
     function (This : access IShellNameSpace)
     return GNATCOM.Types.HRESULT;
   --  method MoveSelectionTo
   pragma Convention (StdCall, af_IShellNameSpace_MoveSelectionTo);

   type af_IShellNameSpace_Get_SubscriptionsEnabled is access
     function (This  : access IShellNameSpace;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  Query to see if subscriptions are enabled
   pragma Convention (StdCall, af_IShellNameSpace_Get_SubscriptionsEnabled);

   type af_IShellNameSpace_CreateSubscriptionForSelection is access
     function (This  : access IShellNameSpace;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  method CreateSubscriptionForSelection
   pragma Convention (StdCall,
     af_IShellNameSpace_CreateSubscriptionForSelection);

   type af_IShellNameSpace_DeleteSubscriptionForSelection is access
     function (This  : access IShellNameSpace;
               RetVal : GNATCOM.Types.Pointer_To_VARIANT_BOOL)
     return GNATCOM.Types.HRESULT;
   --  method DeleteSubscriptionForSelection
   pragma Convention (StdCall,
     af_IShellNameSpace_DeleteSubscriptionForSelection);

   type af_IShellNameSpace_SetRoot is access
     function (This         : access IShellNameSpace;
               bstrFullPath : GNATCOM.Types.BSTR)
     return GNATCOM.Types.HRESULT;
   --  old, use put_Root() instead
   pragma Convention (StdCall, af_IShellNameSpace_SetRoot);

   type af_IShellNameSpace_Get_EnumOptions is access
     function (This          : access IShellNameSpace;
               RetVal : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   --  options
   pragma Convention (StdCall, af_IShellNameSpace_Get_EnumOptions);

   type af_IShellNameSpace_Put_EnumOptions is access
     function (This          : access IShellNameSpace;
               pgrfEnumFlags : Interfaces.C.long)
     return GNATCOM.Types.HRESULT;
   --  options
   pragma Convention (StdCall, af_IShellNameSpace_Put_EnumOptions);

   type af_IShellNameSpace_Get_SelectedItem is access
     function (This  : access IShellNameSpace;
               RetVal : GNATCOM.Types.Pointer_To_Pointer_To_IDispatch)
     return GNATCOM.Types.HRESULT;
   --  get the selected item
   pragma Convention (StdCall, af_IShellNameSpace_Get_SelectedItem);

   type af_IShellNameSpace_Put_SelectedItem is access
     function (This  : access IShellNameSpace;
               pItem : GNATCOM.Types.Pointer_To_IDispatch)
     return GNATCOM.Types.HRESULT;
   --  get the selected item
   pragma Convention (StdCall, af_IShellNameSpace_Put_SelectedItem);

   type af_IShellNameSpace_Get_Root is access
     function (This : access IShellNameSpace;
               RetVal : access GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   --  get the root item
   pragma Convention (StdCall, af_IShellNameSpace_Get_Root);

   type af_IShellNameSpace_Put_Root is access
     function (This : access IShellNameSpace;
               pvar : GNATCOM.Types.VARIANT)
     return GNATCOM.Types.HRESULT;
   --  get the root item
   pragma Convention (StdCall, af_IShellNameSpace_Put_Root);

   type af_IShellNameSpace_Get_Depth is access
     function (This    : access IShellNameSpace;
               RetVal : GNATCOM.Types.Pointer_To_int)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellNameSpace_Get_Depth);

   type af_IShellNameSpace_Put_Depth is access
     function (This    : access IShellNameSpace;
               piDepth : Interfaces.C.int)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellNameSpace_Put_Depth);

   type af_IShellNameSpace_Get_Mode is access
     function (This   : access IShellNameSpace;
               RetVal : GNATCOM.Types.Pointer_To_unsigned)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellNameSpace_Get_Mode);

   type af_IShellNameSpace_Put_Mode is access
     function (This   : access IShellNameSpace;
               puMode : Interfaces.C.unsigned)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellNameSpace_Put_Mode);

   type af_IShellNameSpace_Get_Flags is access
     function (This     : access IShellNameSpace;
               RetVal : GNATCOM.Types.Pointer_To_unsigned_long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellNameSpace_Get_Flags);

   type af_IShellNameSpace_Put_Flags is access
     function (This     : access IShellNameSpace;
               pdwFlags : Interfaces.C.unsigned_long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellNameSpace_Put_Flags);

   type af_IShellNameSpace_Put_TVFlags is access
     function (This    : access IShellNameSpace;
               dwFlags : Interfaces.C.unsigned_long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellNameSpace_Put_TVFlags);

   type af_IShellNameSpace_Get_TVFlags is access
     function (This    : access IShellNameSpace;
               RetVal : GNATCOM.Types.Pointer_To_unsigned_long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellNameSpace_Get_TVFlags);

   type af_IShellNameSpace_Get_Columns is access
     function (This        : access IShellNameSpace;
               RetVal : GNATCOM.Types.Pointer_To_BSTR)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellNameSpace_Get_Columns);

   type af_IShellNameSpace_Put_Columns is access
     function (This        : access IShellNameSpace;
               bstrColumns : GNATCOM.Types.BSTR)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IShellNameSpace_Put_Columns);

   type af_IShellNameSpace_Get_CountViewTypes is access
     function (This    : access IShellNameSpace;
               RetVal : GNATCOM.Types.Pointer_To_int)
     return GNATCOM.Types.HRESULT;
   --  number of view types
   pragma Convention (StdCall, af_IShellNameSpace_Get_CountViewTypes);

   type af_IShellNameSpace_SetViewType is access
     function (This  : access IShellNameSpace;
               iType : Interfaces.C.int)
     return GNATCOM.Types.HRESULT;
   --  set view type
   pragma Convention (StdCall, af_IShellNameSpace_SetViewType);

   type af_IShellNameSpace_SelectedItems is access
     function (This : access IShellNameSpace;
               RetVal : GNATCOM.Types.Pointer_To_Pointer_To_IDispatch)
     return GNATCOM.Types.HRESULT;
   --  collection of selected items
   pragma Convention (StdCall, af_IShellNameSpace_SelectedItems);

   type af_IShellNameSpace_Expand is access
     function (This   : access IShellNameSpace;
               var    : GNATCOM.Types.VARIANT;
               iDepth : Interfaces.C.int)
     return GNATCOM.Types.HRESULT;
   --  expands item specified depth
   pragma Convention (StdCall, af_IShellNameSpace_Expand);

   type af_IShellNameSpace_UnselectAll is access
     function (This : access IShellNameSpace)
     return GNATCOM.Types.HRESULT;
   --  unselects all items
   pragma Convention (StdCall, af_IShellNameSpace_UnselectAll);

   type IShellNameSpaceVtbl;
   type Pointer_To_IShellNameSpaceVtbl is access all IShellNameSpaceVtbl;

   type IShellNameSpace is
      record
         Vtbl : Pointer_To_IShellNameSpaceVtbl;
      end record;
   pragma Convention (C_Pass_By_Copy, IShellNameSpace);

   type IShellNameSpaceVtbl is
      record
         QueryInterface                 : af_IShellNameSpace_QueryInterface;
         AddRef                         : af_IShellNameSpace_AddRef;
         Release                        : af_IShellNameSpace_Release;
         GetTypeInfoCount               : af_IShellNameSpace_GetTypeInfoCount;
         GetTypeInfo                    : af_IShellNameSpace_GetTypeInfo;
         GetIDsOfNames                  : af_IShellNameSpace_GetIDsOfNames;
         Invoke                         : af_IShellNameSpace_Invoke;
         MoveSelectionUp                : af_IShellNameSpace_MoveSelectionUp;
         MoveSelectionDown              : af_IShellNameSpace_MoveSelectionDown;
         ResetSort                      : af_IShellNameSpace_ResetSort;
         NewFolder                      : af_IShellNameSpace_NewFolder;
         Synchronize                    : af_IShellNameSpace_Synchronize;
         Import                         : af_IShellNameSpace_Import;
         Export                         : af_IShellNameSpace_Export;
         InvokeContextMenuCommand       :
           af_IShellNameSpace_InvokeContextMenuCommand;
         MoveSelectionTo                : af_IShellNameSpace_MoveSelectionTo;
         Get_SubscriptionsEnabled       :
           af_IShellNameSpace_Get_SubscriptionsEnabled;
         CreateSubscriptionForSelection :
           af_IShellNameSpace_CreateSubscriptionForSelection;
         DeleteSubscriptionForSelection :
           af_IShellNameSpace_DeleteSubscriptionForSelection;
         SetRoot                        : af_IShellNameSpace_SetRoot;
         Get_EnumOptions                : af_IShellNameSpace_Get_EnumOptions;
         Put_EnumOptions                : af_IShellNameSpace_Put_EnumOptions;
         Get_SelectedItem               : af_IShellNameSpace_Get_SelectedItem;
         Put_SelectedItem               : af_IShellNameSpace_Put_SelectedItem;
         Get_Root                       : af_IShellNameSpace_Get_Root;
         Put_Root                       : af_IShellNameSpace_Put_Root;
         Get_Depth                      : af_IShellNameSpace_Get_Depth;
         Put_Depth                      : af_IShellNameSpace_Put_Depth;
         Get_Mode                       : af_IShellNameSpace_Get_Mode;
         Put_Mode                       : af_IShellNameSpace_Put_Mode;
         Get_Flags                      : af_IShellNameSpace_Get_Flags;
         Put_Flags                      : af_IShellNameSpace_Put_Flags;
         Put_TVFlags                    : af_IShellNameSpace_Put_TVFlags;
         Get_TVFlags                    : af_IShellNameSpace_Get_TVFlags;
         Get_Columns                    : af_IShellNameSpace_Get_Columns;
         Put_Columns                    : af_IShellNameSpace_Put_Columns;
         Get_CountViewTypes             :
           af_IShellNameSpace_Get_CountViewTypes;
         SetViewType                    : af_IShellNameSpace_SetViewType;
         SelectedItems                  : af_IShellNameSpace_SelectedItems;
         Expand                         : af_IShellNameSpace_Expand;
         UnselectAll                    : af_IShellNameSpace_UnselectAll;
      end record;
   pragma Convention (C_Pass_By_Copy, IShellNameSpaceVtbl);

   function To_Pointer_To_IShellNameSpace is
     new Ada.Unchecked_Conversion
     (GNATCOM.Types.Pointer_To_Void, Pointer_To_IShellNameSpace);

   --  Element Index         : 28
   --  Element Name          : IShellNameSpace
   --  Element Documentation : IShellNameSpace Interface
   --  Element Type          : Dispatch

   IShellNameSpace_MoveSelectionUp                : constant := 1;
   IShellNameSpace_MoveSelectionDown              : constant := 2;
   IShellNameSpace_ResetSort                      : constant := 3;
   IShellNameSpace_NewFolder                      : constant := 4;
   IShellNameSpace_Synchronize                    : constant := 5;
   IShellNameSpace_Import                         : constant := 6;
   IShellNameSpace_Export                         : constant := 7;
   IShellNameSpace_InvokeContextMenuCommand       : constant := 8;
   IShellNameSpace_MoveSelectionTo                : constant := 9;
   IShellNameSpace_Get_SubscriptionsEnabled       : constant := 10;
   IShellNameSpace_CreateSubscriptionForSelection : constant := 11;
   IShellNameSpace_DeleteSubscriptionForSelection : constant := 12;
   IShellNameSpace_SetRoot                        : constant := 13;
   IShellNameSpace_Get_EnumOptions                : constant := 14;
   IShellNameSpace_Put_EnumOptions                : constant := 14;
   IShellNameSpace_Get_SelectedItem               : constant := 15;
   IShellNameSpace_Put_SelectedItem               : constant := 15;
   IShellNameSpace_Get_Root                       : constant := 16;
   IShellNameSpace_Put_Root                       : constant := 16;
   IShellNameSpace_Get_Depth                      : constant := 17;
   IShellNameSpace_Put_Depth                      : constant := 17;
   IShellNameSpace_Get_Mode                       : constant := 18;
   IShellNameSpace_Put_Mode                       : constant := 18;
   IShellNameSpace_Get_Flags                      : constant := 19;
   IShellNameSpace_Put_Flags                      : constant := 19;
   IShellNameSpace_Put_TVFlags                    : constant := 20;
   IShellNameSpace_Get_TVFlags                    : constant := 20;
   IShellNameSpace_Get_Columns                    : constant := 21;
   IShellNameSpace_Put_Columns                    : constant := 21;
   IShellNameSpace_Get_CountViewTypes             : constant := 22;
   IShellNameSpace_SetViewType                    : constant := 23;
   IShellNameSpace_SelectedItems                  : constant := 24;
   IShellNameSpace_Expand                         : constant := 25;
   IShellNameSpace_UnselectAll                    : constant := 26;

   --  Element Index         : 29
   --  Element Name          : ShellNameSpace
   --  Element Type          : CoClass

   CLSID_ShellNameSpace : aliased GNATCOM.Types.GUID :=
     GNATCOM.GUID.To_GUID ("{55136805-B2DE-11D1-B9F2-00A0C98BC547}");

   --  Element Index         : 30
   --  Element Name          : IScriptErrorList
   --  Element Documentation : Script Error List Interface
   --  Element Type          : Dispatch

   IID_IScriptErrorList : aliased GNATCOM.Types.GUID :=
     GNATCOM.GUID.To_GUID ("{F3470F24-15FD-11D2-BB2E-00805FF7EFCA}");

   type af_IScriptErrorList_QueryInterface is access
     function (This   : access IScriptErrorList;
               riid   : GNATCOM.Types.Pointer_To_GUID;
               ppvObj : GNATCOM.Types.Pointer_To_Pointer_To_Void)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IScriptErrorList_QueryInterface);

   type af_IScriptErrorList_AddRef is access
     function (This : access IScriptErrorList)
     return Interfaces.C.unsigned_long;
   pragma Convention (StdCall, af_IScriptErrorList_AddRef);

   type af_IScriptErrorList_Release is access
     function (This : access IScriptErrorList)
     return Interfaces.C.unsigned_long;
   pragma Convention (StdCall, af_IScriptErrorList_Release);

   type af_IScriptErrorList_GetTypeInfoCount is access
     function (This    : access IScriptErrorList;
               pctinfo : GNATCOM.Types.Pointer_To_unsigned)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IScriptErrorList_GetTypeInfoCount);

   type af_IScriptErrorList_GetTypeInfo is access
     function (This    : access IScriptErrorList;
               itinfo  : Interfaces.C.unsigned;
               lcid    : Interfaces.C.unsigned_long;
               pptinfo : GNATCOM.Types.Pointer_To_Pointer_To_Void)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IScriptErrorList_GetTypeInfo);

   type af_IScriptErrorList_GetIDsOfNames is access
     function (This      : access IScriptErrorList;
               riid      : GNATCOM.Types.Pointer_To_GUID;
               rgszNames : GNATCOM.Types.Pointer_To_Pointer_To_char;
               cNames    : Interfaces.C.unsigned;
               lcid      : Interfaces.C.unsigned_long;
               rgdispid  : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IScriptErrorList_GetIDsOfNames);

   type af_IScriptErrorList_Invoke is access
     function (This         : access IScriptErrorList;
               dispidMember : Interfaces.C.long;
               riid         : GNATCOM.Types.Pointer_To_GUID;
               lcid         : Interfaces.C.unsigned_long;
               wFlags       : Interfaces.C.unsigned_short;
               pdispparams  : GNATCOM.Types.Pointer_To_DISPPARAMS;
               pvarResult   : access GNATCOM.Types.VARIANT;
               pexcepinfo   : GNATCOM.Types.Pointer_To_EXCEPINFO;
               puArgErr     : GNATCOM.Types.Pointer_To_unsigned)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IScriptErrorList_Invoke);

   type af_IScriptErrorList_advanceError is access
     function (This : access IScriptErrorList)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IScriptErrorList_advanceError);

   type af_IScriptErrorList_retreatError is access
     function (This : access IScriptErrorList)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IScriptErrorList_retreatError);

   type af_IScriptErrorList_canAdvanceError is access
     function (This         : access IScriptErrorList;
               RetVal : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IScriptErrorList_canAdvanceError);

   type af_IScriptErrorList_canRetreatError is access
     function (This         : access IScriptErrorList;
               RetVal : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IScriptErrorList_canRetreatError);

   type af_IScriptErrorList_getErrorLine is access
     function (This   : access IScriptErrorList;
               RetVal : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IScriptErrorList_getErrorLine);

   type af_IScriptErrorList_getErrorChar is access
     function (This   : access IScriptErrorList;
               RetVal : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IScriptErrorList_getErrorChar);

   type af_IScriptErrorList_getErrorCode is access
     function (This   : access IScriptErrorList;
               RetVal : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IScriptErrorList_getErrorCode);

   type af_IScriptErrorList_getErrorMsg is access
     function (This : access IScriptErrorList;
               RetVal : GNATCOM.Types.Pointer_To_BSTR)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IScriptErrorList_getErrorMsg);

   type af_IScriptErrorList_getErrorUrl is access
     function (This : access IScriptErrorList;
               RetVal : GNATCOM.Types.Pointer_To_BSTR)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IScriptErrorList_getErrorUrl);

   type af_IScriptErrorList_getAlwaysShowLockState is access
     function (This               : access IScriptErrorList;
               RetVal : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IScriptErrorList_getAlwaysShowLockState);

   type af_IScriptErrorList_getDetailsPaneOpen is access
     function (This              : access IScriptErrorList;
               RetVal : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IScriptErrorList_getDetailsPaneOpen);

   type af_IScriptErrorList_setDetailsPaneOpen is access
     function (This             : access IScriptErrorList;
               fDetailsPaneOpen : Interfaces.C.long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IScriptErrorList_setDetailsPaneOpen);

   type af_IScriptErrorList_getPerErrorDisplay is access
     function (This              : access IScriptErrorList;
               RetVal : GNATCOM.Types.Pointer_To_long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IScriptErrorList_getPerErrorDisplay);

   type af_IScriptErrorList_setPerErrorDisplay is access
     function (This             : access IScriptErrorList;
               fPerErrorDisplay : Interfaces.C.long)
     return GNATCOM.Types.HRESULT;
   pragma Convention (StdCall, af_IScriptErrorList_setPerErrorDisplay);

   type IScriptErrorListVtbl;
   type Pointer_To_IScriptErrorListVtbl is access all IScriptErrorListVtbl;

   type IScriptErrorList is
      record
         Vtbl : Pointer_To_IScriptErrorListVtbl;
      end record;
   pragma Convention (C_Pass_By_Copy, IScriptErrorList);

   type IScriptErrorListVtbl is
      record
         QueryInterface         : af_IScriptErrorList_QueryInterface;
         AddRef                 : af_IScriptErrorList_AddRef;
         Release                : af_IScriptErrorList_Release;
         GetTypeInfoCount       : af_IScriptErrorList_GetTypeInfoCount;
         GetTypeInfo            : af_IScriptErrorList_GetTypeInfo;
         GetIDsOfNames          : af_IScriptErrorList_GetIDsOfNames;
         Invoke                 : af_IScriptErrorList_Invoke;
         advanceError           : af_IScriptErrorList_advanceError;
         retreatError           : af_IScriptErrorList_retreatError;
         canAdvanceError        : af_IScriptErrorList_canAdvanceError;
         canRetreatError        : af_IScriptErrorList_canRetreatError;
         getErrorLine           : af_IScriptErrorList_getErrorLine;
         getErrorChar           : af_IScriptErrorList_getErrorChar;
         getErrorCode           : af_IScriptErrorList_getErrorCode;
         getErrorMsg            : af_IScriptErrorList_getErrorMsg;
         getErrorUrl            : af_IScriptErrorList_getErrorUrl;
         getAlwaysShowLockState : af_IScriptErrorList_getAlwaysShowLockState;
         getDetailsPaneOpen     : af_IScriptErrorList_getDetailsPaneOpen;
         setDetailsPaneOpen     : af_IScriptErrorList_setDetailsPaneOpen;
         getPerErrorDisplay     : af_IScriptErrorList_getPerErrorDisplay;
         setPerErrorDisplay     : af_IScriptErrorList_setPerErrorDisplay;
      end record;
   pragma Convention (C_Pass_By_Copy, IScriptErrorListVtbl);

   function To_Pointer_To_IScriptErrorList is
     new Ada.Unchecked_Conversion
     (GNATCOM.Types.Pointer_To_Void, Pointer_To_IScriptErrorList);

   --  Element Index         : 30
   --  Element Name          : IScriptErrorList
   --  Element Documentation : Script Error List Interface
   --  Element Type          : Dispatch

   IScriptErrorList_advanceError           : constant := 10;
   IScriptErrorList_retreatError           : constant := 11;
   IScriptErrorList_canAdvanceError        : constant := 12;
   IScriptErrorList_canRetreatError        : constant := 13;
   IScriptErrorList_getErrorLine           : constant := 14;
   IScriptErrorList_getErrorChar           : constant := 15;
   IScriptErrorList_getErrorCode           : constant := 16;
   IScriptErrorList_getErrorMsg            : constant := 17;
   IScriptErrorList_getErrorUrl            : constant := 18;
   IScriptErrorList_getAlwaysShowLockState : constant := 23;
   IScriptErrorList_getDetailsPaneOpen     : constant := 19;
   IScriptErrorList_setDetailsPaneOpen     : constant := 20;
   IScriptErrorList_getPerErrorDisplay     : constant := 21;
   IScriptErrorList_setPerErrorDisplay     : constant := 22;

   --  Element Index         : 31
   --  Element Name          : CScriptErrorList
   --  Element Type          : CoClass

   CLSID_CScriptErrorList : aliased GNATCOM.Types.GUID :=
     GNATCOM.GUID.To_GUID ("{EFD01300-160F-11D2-BB2E-00805FF7EFCA}");

end IE;
